/*
* 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
{
///
/// The parameters for a RUN_COMMAND
task type.
///
///
///
/// For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow
/// and UpdateMaintenanceWindowTask.
///
///
///
/// 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.
///
///
///
/// 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.
///
///
///
/// For RUN_COMMAND
tasks, Systems Manager uses specified values for TaskParameters
/// and LoggingInfo
only if no values are specified for TaskInvocationParameters
.
///
///
///
///
public partial class MaintenanceWindowRunCommandParameters
{
private CloudWatchOutputConfig _cloudWatchOutputConfig;
private string _comment;
private string _documentHash;
private DocumentHashType _documentHashType;
private string _documentVersion;
private NotificationConfig _notificationConfig;
private string _outputS3BucketName;
private string _outputS3KeyPrefix;
private Dictionary> _parameters = new Dictionary>();
private string _serviceRoleArn;
private int? _timeoutSeconds;
///
/// Gets and sets the property CloudWatchOutputConfig.
///
public CloudWatchOutputConfig CloudWatchOutputConfig
{
get { return this._cloudWatchOutputConfig; }
set { this._cloudWatchOutputConfig = value; }
}
// Check to see if CloudWatchOutputConfig property is set
internal bool IsSetCloudWatchOutputConfig()
{
return this._cloudWatchOutputConfig != null;
}
///
/// Gets and sets the property Comment.
///
/// Information about the commands to run.
///
///
[AWSProperty(Max=100)]
public string Comment
{
get { return this._comment; }
set { this._comment = value; }
}
// Check to see if Comment property is set
internal bool IsSetComment()
{
return this._comment != null;
}
///
/// Gets and sets the property DocumentHash.
///
/// The SHA-256 or SHA-1 hash created by the system when the document was created. SHA-1
/// hashes have been deprecated.
///
///
[AWSProperty(Max=256)]
public string DocumentHash
{
get { return this._documentHash; }
set { this._documentHash = value; }
}
// Check to see if DocumentHash property is set
internal bool IsSetDocumentHash()
{
return this._documentHash != null;
}
///
/// Gets and sets the property DocumentHashType.
///
/// SHA-256 or SHA-1. SHA-1 hashes have been deprecated.
///
///
public DocumentHashType DocumentHashType
{
get { return this._documentHashType; }
set { this._documentHashType = value; }
}
// Check to see if DocumentHashType property is set
internal bool IsSetDocumentHashType()
{
return this._documentHashType != null;
}
///
/// Gets and sets the property DocumentVersion.
///
/// The Amazon Web Services Systems Manager document (SSM document) version to use in
/// the request. You can specify $DEFAULT
, $LATEST
, or a specific
/// version number. If you run commands by using the Amazon Web Services CLI, then you
/// must escape the first two options by using a backslash. If you specify a version number,
/// then you don't need to use the backslash. For example:
///
///
///
/// --document-version "\$DEFAULT"
///
///
///
/// --document-version "\$LATEST"
///
///
///
/// --document-version "3"
///
///
public string DocumentVersion
{
get { return this._documentVersion; }
set { this._documentVersion = value; }
}
// Check to see if DocumentVersion property is set
internal bool IsSetDocumentVersion()
{
return this._documentVersion != null;
}
///
/// Gets and sets the property NotificationConfig.
///
/// Configurations for sending notifications about command status changes on a per-managed
/// node basis.
///
///
public NotificationConfig NotificationConfig
{
get { return this._notificationConfig; }
set { this._notificationConfig = value; }
}
// Check to see if NotificationConfig property is set
internal bool IsSetNotificationConfig()
{
return this._notificationConfig != null;
}
///
/// Gets and sets the property OutputS3BucketName.
///
/// The name of the Amazon Simple Storage Service (Amazon S3) bucket.
///
///
[AWSProperty(Min=3, Max=63)]
public string OutputS3BucketName
{
get { return this._outputS3BucketName; }
set { this._outputS3BucketName = value; }
}
// Check to see if OutputS3BucketName property is set
internal bool IsSetOutputS3BucketName()
{
return this._outputS3BucketName != null;
}
///
/// Gets and sets the property OutputS3KeyPrefix.
///
/// The S3 bucket subfolder.
///
///
[AWSProperty(Max=500)]
public string OutputS3KeyPrefix
{
get { return this._outputS3KeyPrefix; }
set { this._outputS3KeyPrefix = value; }
}
// Check to see if OutputS3KeyPrefix property is set
internal bool IsSetOutputS3KeyPrefix()
{
return this._outputS3KeyPrefix != null;
}
///
/// Gets and sets the property Parameters.
///
/// The parameters for the RUN_COMMAND
task execution.
///
///
[AWSProperty(Sensitive=true)]
public Dictionary> Parameters
{
get { return this._parameters; }
set { this._parameters = value; }
}
// Check to see if Parameters property is set
internal bool IsSetParameters()
{
return this._parameters != null && this._parameters.Count > 0;
}
///
/// Gets and sets the property ServiceRoleArn.
///
/// The Amazon Resource Name (ARN) of the Identity and Access Management (IAM) service
/// role to use to publish Amazon Simple Notification Service (Amazon SNS) notifications
/// for maintenance window Run Command tasks.
///
///
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 TimeoutSeconds.
///
/// If this time is reached and the command hasn't already started running, it doesn't
/// run.
///
///
[AWSProperty(Min=30, Max=2592000)]
public int TimeoutSeconds
{
get { return this._timeoutSeconds.GetValueOrDefault(); }
set { this._timeoutSeconds = value; }
}
// Check to see if TimeoutSeconds property is set
internal bool IsSetTimeoutSeconds()
{
return this._timeoutSeconds.HasValue;
}
}
}