/* * 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 { /// /// Container for the parameters to the UpdateSchedule operation. /// Updates the specified schedule. When you call UpdateSchedule, EventBridge /// Scheduler uses all values, including empty values, specified in the request and overrides /// the existing schedule. This is by design. This means that if you do not set an optional /// field in your request, that field will be set to its system-default value after the /// update. /// /// /// /// Before calling this operation, we recommend that you call the GetSchedule /// API operation and make a note of all optional parameters for your UpdateSchedule /// call. /// /// public partial class UpdateScheduleRequest : AmazonSchedulerRequest { private string _clientToken; private string _description; private DateTime? _endDate; private FlexibleTimeWindow _flexibleTimeWindow; private string _groupName; private string _kmsKeyArn; private string _name; private string _scheduleExpression; private string _scheduleExpressionTimezone; private DateTime? _startDate; private ScheduleState _state; private Target _target; /// /// Gets and sets the property ClientToken. /// /// Unique, case-sensitive identifier you provide to ensure the idempotency of the request. /// If you do not specify a client token, EventBridge Scheduler uses a randomly generated /// token for the request to ensure idempotency. /// /// [AWSProperty(Min=1, Max=64)] public string ClientToken { get { return this._clientToken; } set { this._clientToken = value; } } // Check to see if ClientToken property is set internal bool IsSetClientToken() { return this._clientToken != null; } /// /// Gets and sets the property Description. /// /// The description you specify for 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. /// /// [AWSProperty(Required=true)] 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 with which the schedule is associated. You must provide /// this value in order for EventBridge Scheduler to find the schedule you want to update. /// If you omit this value, EventBridge Scheduler assumes the group is associated to the /// default group. /// /// [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 the customer managed KMS key that that you want EventBridge Scheduler /// to use 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 Name. /// /// The name of the schedule that you are updating. /// /// [AWSProperty(Required=true, 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. /// /// /// /// /// 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(Required=true, 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. You can use this operation to change the target that your schedule /// invokes. /// /// [AWSProperty(Required=true)] 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; } } }