/* * 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 ssm-2014-11-06.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.SimpleSystemsManagement.Model { /// /// Container for the parameters to the UpdateMaintenanceWindowTask operation. /// Modifies a task assigned to a maintenance window. You can't change the task type, /// but you can change the following values: /// /// /// /// One or more targets must be specified for maintenance window Run Command-type tasks. /// Depending on the task, targets are optional for other maintenance window task types /// (Automation, Lambda, and Step Functions). For more information about running tasks /// that don't specify targets, see Registering /// maintenance window tasks without targets in the Amazon Web Services Systems /// Manager User Guide. /// /// /// /// If the value for a parameter in UpdateMaintenanceWindowTask is null, /// then the corresponding field isn't modified. If you set Replace to true, /// then all fields required by the RegisterTaskWithMaintenanceWindow operation /// are required for this request. Optional fields that aren't specified are set to null. /// /// /// /// When you update a maintenance window task that has options specified in TaskInvocationParameters, /// you must provide again all the TaskInvocationParameters values that you /// want to retain. The values you don't specify again are removed. For example, suppose /// that when you registered a Run Command task, you specified TaskInvocationParameters /// values for Comment, NotificationConfig, and OutputS3BucketName. /// If you update the maintenance window task and specify only a different OutputS3BucketName /// value, the values for Comment and NotificationConfig are /// removed. /// /// /// public partial class UpdateMaintenanceWindowTaskRequest : AmazonSimpleSystemsManagementRequest { private AlarmConfiguration _alarmConfiguration; private MaintenanceWindowTaskCutoffBehavior _cutoffBehavior; private string _description; private LoggingInfo _loggingInfo; private string _maxConcurrency; private string _maxErrors; private string _name; private int? _priority; private bool? _replace; private string _serviceRoleArn; private List _targets = new List(); private string _taskArn; private MaintenanceWindowTaskInvocationParameters _taskInvocationParameters; private Dictionary _taskParameters = new Dictionary(); private string _windowId; private string _windowTaskId; /// /// Gets and sets the property AlarmConfiguration. /// /// The CloudWatch alarm you want to apply to your maintenance window task. /// /// public AlarmConfiguration AlarmConfiguration { get { return this._alarmConfiguration; } set { this._alarmConfiguration = value; } } // Check to see if AlarmConfiguration property is set internal bool IsSetAlarmConfiguration() { return this._alarmConfiguration != null; } /// /// Gets and sets the property CutoffBehavior. /// /// Indicates whether tasks should continue to run after the cutoff time specified in /// the maintenance windows is reached. /// ///
  • /// /// CONTINUE_TASK: When the cutoff time is reached, any tasks that are running /// continue. The default value. /// ///
  • /// /// CANCEL_TASK: /// ///
    • /// /// For Automation, Lambda, Step Functions tasks: When the cutoff time is reached, any /// task invocations that are already running continue, but no new task invocations are /// started. /// ///
    • /// /// For Run Command tasks: When the cutoff time is reached, the system sends a CancelCommand /// operation that attempts to cancel the command associated with the task. However, there /// is no guarantee that the command will be terminated and the underlying process stopped. /// ///
    /// /// The status for tasks that are not completed is TIMED_OUT. /// ///
///
public MaintenanceWindowTaskCutoffBehavior CutoffBehavior { get { return this._cutoffBehavior; } set { this._cutoffBehavior = value; } } // Check to see if CutoffBehavior property is set internal bool IsSetCutoffBehavior() { return this._cutoffBehavior != null; } /// /// Gets and sets the property Description. /// /// The new task description to specify. /// /// [AWSProperty(Sensitive=true, Min=1, Max=128)] 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 LoggingInfo. /// /// The new logging location in Amazon S3 to specify. /// /// /// /// LoggingInfo has been deprecated. To specify an Amazon Simple Storage /// Service (Amazon S3) bucket to contain logs, instead use the OutputS3BucketName /// and OutputS3KeyPrefix options in the TaskInvocationParameters /// structure. For information about how Amazon Web Services Systems Manager handles these /// options for the supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters. /// /// /// public LoggingInfo LoggingInfo { get { return this._loggingInfo; } set { this._loggingInfo = value; } } // Check to see if LoggingInfo property is set internal bool IsSetLoggingInfo() { return this._loggingInfo != null; } /// /// Gets and sets the property MaxConcurrency. /// /// The new MaxConcurrency value you want to specify. MaxConcurrency /// is the number of targets that are allowed to run this task, in parallel. /// /// /// /// Although this element is listed as "Required: No", a value can be omitted only when /// you are registering or updating a targetless /// task You must provide a value in all other cases. /// /// /// /// For maintenance window tasks without a target specified, you can't supply a value /// for this option. Instead, the system inserts a placeholder value of 1. /// This value doesn't affect the running of your task. /// /// /// [AWSProperty(Min=1, Max=7)] public string MaxConcurrency { get { return this._maxConcurrency; } set { this._maxConcurrency = value; } } // Check to see if MaxConcurrency property is set internal bool IsSetMaxConcurrency() { return this._maxConcurrency != null; } /// /// Gets and sets the property MaxErrors. /// /// The new MaxErrors value to specify. MaxErrors is the maximum /// number of errors that are allowed before the task stops being scheduled. /// /// /// /// Although this element is listed as "Required: No", a value can be omitted only when /// you are registering or updating a targetless /// task You must provide a value in all other cases. /// /// /// /// For maintenance window tasks without a target specified, you can't supply a value /// for this option. Instead, the system inserts a placeholder value of 1. /// This value doesn't affect the running of your task. /// /// /// [AWSProperty(Min=1, Max=7)] public string MaxErrors { get { return this._maxErrors; } set { this._maxErrors = value; } } // Check to see if MaxErrors property is set internal bool IsSetMaxErrors() { return this._maxErrors != null; } /// /// Gets and sets the property Name. /// /// The new task name to specify. /// /// [AWSProperty(Min=3, Max=128)] 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 Priority. /// /// The new task priority to specify. The lower the number, the higher the priority. Tasks /// that have the same priority are scheduled in parallel. /// /// [AWSProperty(Min=0)] public int Priority { get { return this._priority.GetValueOrDefault(); } set { this._priority = value; } } // Check to see if Priority property is set internal bool IsSetPriority() { return this._priority.HasValue; } /// /// Gets and sets the property Replace. /// /// If True, then all fields that are required by the RegisterTaskWithMaintenanceWindow /// operation are also required for this API request. Optional fields that aren't specified /// are set to null. /// /// public bool Replace { get { return this._replace.GetValueOrDefault(); } set { this._replace = value; } } // Check to see if Replace property is set internal bool IsSetReplace() { return this._replace.HasValue; } /// /// Gets and sets the property ServiceRoleArn. /// /// The Amazon Resource Name (ARN) of the IAM service role for Amazon Web Services Systems /// Manager to assume when running a maintenance window task. If you do not specify a /// service role ARN, Systems Manager uses your account's service-linked role. If no service-linked /// role for Systems Manager exists in your account, it is created when you run RegisterTaskWithMaintenanceWindow. /// /// /// /// For more information, see the following topics in the in the Amazon Web Services /// Systems Manager User Guide: /// /// /// public string ServiceRoleArn { get { return this._serviceRoleArn; } set { this._serviceRoleArn = value; } } // Check to see if ServiceRoleArn property is set internal bool IsSetServiceRoleArn() { return this._serviceRoleArn != null; } /// /// Gets and sets the property Targets. /// /// The targets (either managed nodes or tags) to modify. Managed nodes are specified /// using the format Key=instanceids,Values=instanceID_1,instanceID_2. Tags /// are specified using the format Key=tag_name,Values=tag_value. /// /// /// /// One or more targets must be specified for maintenance window Run Command-type tasks. /// Depending on the task, targets are optional for other maintenance window task types /// (Automation, Lambda, and Step Functions). For more information about running tasks /// that don't specify targets, see Registering /// maintenance window tasks without targets in the Amazon Web Services Systems /// Manager User Guide. /// /// /// [AWSProperty(Min=0, Max=5)] public List Targets { get { return this._targets; } set { this._targets = value; } } // Check to see if Targets property is set internal bool IsSetTargets() { return this._targets != null && this._targets.Count > 0; } /// /// Gets and sets the property TaskArn. /// /// The task ARN to modify. /// /// [AWSProperty(Min=1, Max=1600)] public string TaskArn { get { return this._taskArn; } set { this._taskArn = value; } } // Check to see if TaskArn property is set internal bool IsSetTaskArn() { return this._taskArn != null; } /// /// Gets and sets the property TaskInvocationParameters. /// /// The parameters that the task should use during execution. Populate only the fields /// that match the task type. All other fields should be empty. /// /// /// /// When you update a maintenance window task that has options specified in TaskInvocationParameters, /// you must provide again all the TaskInvocationParameters values that you /// want to retain. The values you don't specify again are removed. For example, suppose /// that when you registered a Run Command task, you specified TaskInvocationParameters /// values for Comment, NotificationConfig, and OutputS3BucketName. /// If you update the maintenance window task and specify only a different OutputS3BucketName /// value, the values for Comment and NotificationConfig are /// removed. /// /// /// public MaintenanceWindowTaskInvocationParameters TaskInvocationParameters { get { return this._taskInvocationParameters; } set { this._taskInvocationParameters = value; } } // Check to see if TaskInvocationParameters property is set internal bool IsSetTaskInvocationParameters() { return this._taskInvocationParameters != null; } /// /// Gets and sets the property TaskParameters. /// /// The parameters to modify. /// /// /// /// TaskParameters has been deprecated. To specify parameters to pass to /// a task when it runs, instead use the Parameters option in the TaskInvocationParameters /// structure. For information about how Systems Manager handles these options for the /// supported maintenance window task types, see MaintenanceWindowTaskInvocationParameters. /// /// /// /// The map has the following format: /// /// /// /// Key: string, between 1 and 255 characters /// /// /// /// Value: an array of strings, each string is between 1 and 255 characters /// /// [AWSProperty(Sensitive=true)] public Dictionary TaskParameters { get { return this._taskParameters; } set { this._taskParameters = value; } } // Check to see if TaskParameters property is set internal bool IsSetTaskParameters() { return this._taskParameters != null && this._taskParameters.Count > 0; } /// /// Gets and sets the property WindowId. /// /// The maintenance window ID that contains the task to modify. /// /// [AWSProperty(Required=true, Min=20, Max=20)] public string WindowId { get { return this._windowId; } set { this._windowId = value; } } // Check to see if WindowId property is set internal bool IsSetWindowId() { return this._windowId != null; } /// /// Gets and sets the property WindowTaskId. /// /// The task ID to modify. /// /// [AWSProperty(Required=true, Min=36, Max=36)] public string WindowTaskId { get { return this._windowTaskId; } set { this._windowTaskId = value; } } // Check to see if WindowTaskId property is set internal bool IsSetWindowTaskId() { return this._windowTaskId != null; } } }