/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the scheduler-2021-06-30.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.Scheduler.Model
{
///
/// This is the response object from the GetSchedule operation.
///
public partial class GetScheduleResponse : AmazonWebServiceResponse
{
private string _arn;
private DateTime? _creationDate;
private string _description;
private DateTime? _endDate;
private FlexibleTimeWindow _flexibleTimeWindow;
private string _groupName;
private string _kmsKeyArn;
private DateTime? _lastModificationDate;
private string _name;
private string _scheduleExpression;
private string _scheduleExpressionTimezone;
private DateTime? _startDate;
private ScheduleState _state;
private Target _target;
///
/// Gets and sets the property Arn.
///
/// The Amazon Resource Name (ARN) of the schedule.
///
///
[AWSProperty(Min=1, Max=1224)]
public string Arn
{
get { return this._arn; }
set { this._arn = value; }
}
// Check to see if Arn property is set
internal bool IsSetArn()
{
return this._arn != null;
}
///
/// Gets and sets the property CreationDate.
///
/// The time at which the schedule was created.
///
///
public DateTime CreationDate
{
get { return this._creationDate.GetValueOrDefault(); }
set { this._creationDate = value; }
}
// Check to see if CreationDate property is set
internal bool IsSetCreationDate()
{
return this._creationDate.HasValue;
}
///
/// Gets and sets the property Description.
///
/// The description of the schedule.
///
///
[AWSProperty(Min=0, Max=512)]
public string Description
{
get { return this._description; }
set { this._description = value; }
}
// Check to see if Description property is set
internal bool IsSetDescription()
{
return this._description != null;
}
///
/// Gets and sets the property EndDate.
///
/// The date, in UTC, before which the schedule can invoke its target. Depending on the
/// schedule's recurrence expression, invocations might stop on, or before, the EndDate
/// you specify. EventBridge Scheduler ignores EndDate
for one-time schedules.
///
///
public DateTime EndDate
{
get { return this._endDate.GetValueOrDefault(); }
set { this._endDate = value; }
}
// Check to see if EndDate property is set
internal bool IsSetEndDate()
{
return this._endDate.HasValue;
}
///
/// Gets and sets the property FlexibleTimeWindow.
///
/// Allows you to configure a time window during which EventBridge Scheduler invokes the
/// schedule.
///
///
public FlexibleTimeWindow FlexibleTimeWindow
{
get { return this._flexibleTimeWindow; }
set { this._flexibleTimeWindow = value; }
}
// Check to see if FlexibleTimeWindow property is set
internal bool IsSetFlexibleTimeWindow()
{
return this._flexibleTimeWindow != null;
}
///
/// Gets and sets the property GroupName.
///
/// The name of the schedule group associated with this schedule.
///
///
[AWSProperty(Min=1, Max=64)]
public string GroupName
{
get { return this._groupName; }
set { this._groupName = value; }
}
// Check to see if GroupName property is set
internal bool IsSetGroupName()
{
return this._groupName != null;
}
///
/// Gets and sets the property KmsKeyArn.
///
/// The ARN for a customer managed KMS Key that is be used to encrypt and decrypt your
/// data.
///
///
[AWSProperty(Min=1, Max=2048)]
public string KmsKeyArn
{
get { return this._kmsKeyArn; }
set { this._kmsKeyArn = value; }
}
// Check to see if KmsKeyArn property is set
internal bool IsSetKmsKeyArn()
{
return this._kmsKeyArn != null;
}
///
/// Gets and sets the property LastModificationDate.
///
/// The time at which the schedule was last modified.
///
///
public DateTime LastModificationDate
{
get { return this._lastModificationDate.GetValueOrDefault(); }
set { this._lastModificationDate = value; }
}
// Check to see if LastModificationDate property is set
internal bool IsSetLastModificationDate()
{
return this._lastModificationDate.HasValue;
}
///
/// Gets and sets the property Name.
///
/// The name of the schedule.
///
///
[AWSProperty(Min=1, Max=64)]
public string Name
{
get { return this._name; }
set { this._name = value; }
}
// Check to see if Name property is set
internal bool IsSetName()
{
return this._name != null;
}
///
/// Gets and sets the property ScheduleExpression.
///
/// The expression that defines when the schedule runs. The following formats are supported.
///
///
/// -
///
///
at
expression - at(yyyy-mm-ddThh:mm:ss)
///
/// -
///
///
rate
expression - rate(unit value)
///
/// -
///
///
cron
expression - cron(fields)
///
///
///
/// You can use at
expressions to create one-time schedules that invoke
/// a target once, at the time and in the time zone, that you specify. You can use rate
/// and cron
expressions to create recurring schedules. Rate-based schedules
/// are useful when you want to invoke a target at regular intervals, such as every 15
/// minutes or every five days. Cron-based schedules are useful when you want to invoke
/// a target periodically at a specific time, such as at 8:00 am (UTC+0) every 1st day
/// of the month.
///
///
///
/// A cron
expression consists of six fields separated by white spaces:
/// (minutes hours day_of_month month day_of_week year)
.
///
///
///
/// A rate
expression consists of a value as a positive integer,
/// and a unit with the following options: minute
| minutes
/// | hour
| hours
| day
| days
///
///
///
/// For more information and examples, see Schedule
/// types on EventBridge Scheduler in the EventBridge Scheduler User Guide.
///
///
///
[AWSProperty(Min=1, Max=256)]
public string ScheduleExpression
{
get { return this._scheduleExpression; }
set { this._scheduleExpression = value; }
}
// Check to see if ScheduleExpression property is set
internal bool IsSetScheduleExpression()
{
return this._scheduleExpression != null;
}
///
/// Gets and sets the property ScheduleExpressionTimezone.
///
/// The timezone in which the scheduling expression is evaluated.
///
///
[AWSProperty(Min=1, Max=50)]
public string ScheduleExpressionTimezone
{
get { return this._scheduleExpressionTimezone; }
set { this._scheduleExpressionTimezone = value; }
}
// Check to see if ScheduleExpressionTimezone property is set
internal bool IsSetScheduleExpressionTimezone()
{
return this._scheduleExpressionTimezone != null;
}
///
/// Gets and sets the property StartDate.
///
/// The date, in UTC, after which the schedule can begin invoking its target. Depending
/// on the schedule's recurrence expression, invocations might occur on, or after, the
/// StartDate
you specify. EventBridge Scheduler ignores StartDate
/// for one-time schedules.
///
///
public DateTime StartDate
{
get { return this._startDate.GetValueOrDefault(); }
set { this._startDate = value; }
}
// Check to see if StartDate property is set
internal bool IsSetStartDate()
{
return this._startDate.HasValue;
}
///
/// Gets and sets the property State.
///
/// Specifies whether the schedule is enabled or disabled.
///
///
public ScheduleState State
{
get { return this._state; }
set { this._state = value; }
}
// Check to see if State property is set
internal bool IsSetState()
{
return this._state != null;
}
///
/// Gets and sets the property Target.
///
/// The schedule target.
///
///
public Target Target
{
get { return this._target; }
set { this._target = value; }
}
// Check to see if Target property is set
internal bool IsSetTarget()
{
return this._target != null;
}
}
}