/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SSM { namespace 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.

See * Also:

AWS * API Reference

*/ class MaintenanceWindowRunCommandParameters { public: AWS_SSM_API MaintenanceWindowRunCommandParameters(); AWS_SSM_API MaintenanceWindowRunCommandParameters(Aws::Utils::Json::JsonView jsonValue); AWS_SSM_API MaintenanceWindowRunCommandParameters& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SSM_API Aws::Utils::Json::JsonValue Jsonize() const; /** *

Information about the commands to run.

*/ inline const Aws::String& GetComment() const{ return m_comment; } /** *

Information about the commands to run.

*/ inline bool CommentHasBeenSet() const { return m_commentHasBeenSet; } /** *

Information about the commands to run.

*/ inline void SetComment(const Aws::String& value) { m_commentHasBeenSet = true; m_comment = value; } /** *

Information about the commands to run.

*/ inline void SetComment(Aws::String&& value) { m_commentHasBeenSet = true; m_comment = std::move(value); } /** *

Information about the commands to run.

*/ inline void SetComment(const char* value) { m_commentHasBeenSet = true; m_comment.assign(value); } /** *

Information about the commands to run.

*/ inline MaintenanceWindowRunCommandParameters& WithComment(const Aws::String& value) { SetComment(value); return *this;} /** *

Information about the commands to run.

*/ inline MaintenanceWindowRunCommandParameters& WithComment(Aws::String&& value) { SetComment(std::move(value)); return *this;} /** *

Information about the commands to run.

*/ inline MaintenanceWindowRunCommandParameters& WithComment(const char* value) { SetComment(value); return *this;} inline const CloudWatchOutputConfig& GetCloudWatchOutputConfig() const{ return m_cloudWatchOutputConfig; } inline bool CloudWatchOutputConfigHasBeenSet() const { return m_cloudWatchOutputConfigHasBeenSet; } inline void SetCloudWatchOutputConfig(const CloudWatchOutputConfig& value) { m_cloudWatchOutputConfigHasBeenSet = true; m_cloudWatchOutputConfig = value; } inline void SetCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { m_cloudWatchOutputConfigHasBeenSet = true; m_cloudWatchOutputConfig = std::move(value); } inline MaintenanceWindowRunCommandParameters& WithCloudWatchOutputConfig(const CloudWatchOutputConfig& value) { SetCloudWatchOutputConfig(value); return *this;} inline MaintenanceWindowRunCommandParameters& WithCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { SetCloudWatchOutputConfig(std::move(value)); return *this;} /** *

The SHA-256 or SHA-1 hash created by the system when the document was * created. SHA-1 hashes have been deprecated.

*/ inline const Aws::String& GetDocumentHash() const{ return m_documentHash; } /** *

The SHA-256 or SHA-1 hash created by the system when the document was * created. SHA-1 hashes have been deprecated.

*/ inline bool DocumentHashHasBeenSet() const { return m_documentHashHasBeenSet; } /** *

The SHA-256 or SHA-1 hash created by the system when the document was * created. SHA-1 hashes have been deprecated.

*/ inline void SetDocumentHash(const Aws::String& value) { m_documentHashHasBeenSet = true; m_documentHash = value; } /** *

The SHA-256 or SHA-1 hash created by the system when the document was * created. SHA-1 hashes have been deprecated.

*/ inline void SetDocumentHash(Aws::String&& value) { m_documentHashHasBeenSet = true; m_documentHash = std::move(value); } /** *

The SHA-256 or SHA-1 hash created by the system when the document was * created. SHA-1 hashes have been deprecated.

*/ inline void SetDocumentHash(const char* value) { m_documentHashHasBeenSet = true; m_documentHash.assign(value); } /** *

The SHA-256 or SHA-1 hash created by the system when the document was * created. SHA-1 hashes have been deprecated.

*/ inline MaintenanceWindowRunCommandParameters& WithDocumentHash(const Aws::String& value) { SetDocumentHash(value); return *this;} /** *

The SHA-256 or SHA-1 hash created by the system when the document was * created. SHA-1 hashes have been deprecated.

*/ inline MaintenanceWindowRunCommandParameters& WithDocumentHash(Aws::String&& value) { SetDocumentHash(std::move(value)); return *this;} /** *

The SHA-256 or SHA-1 hash created by the system when the document was * created. SHA-1 hashes have been deprecated.

*/ inline MaintenanceWindowRunCommandParameters& WithDocumentHash(const char* value) { SetDocumentHash(value); return *this;} /** *

SHA-256 or SHA-1. SHA-1 hashes have been deprecated.

*/ inline const DocumentHashType& GetDocumentHashType() const{ return m_documentHashType; } /** *

SHA-256 or SHA-1. SHA-1 hashes have been deprecated.

*/ inline bool DocumentHashTypeHasBeenSet() const { return m_documentHashTypeHasBeenSet; } /** *

SHA-256 or SHA-1. SHA-1 hashes have been deprecated.

*/ inline void SetDocumentHashType(const DocumentHashType& value) { m_documentHashTypeHasBeenSet = true; m_documentHashType = value; } /** *

SHA-256 or SHA-1. SHA-1 hashes have been deprecated.

*/ inline void SetDocumentHashType(DocumentHashType&& value) { m_documentHashTypeHasBeenSet = true; m_documentHashType = std::move(value); } /** *

SHA-256 or SHA-1. SHA-1 hashes have been deprecated.

*/ inline MaintenanceWindowRunCommandParameters& WithDocumentHashType(const DocumentHashType& value) { SetDocumentHashType(value); return *this;} /** *

SHA-256 or SHA-1. SHA-1 hashes have been deprecated.

*/ inline MaintenanceWindowRunCommandParameters& WithDocumentHashType(DocumentHashType&& value) { SetDocumentHashType(std::move(value)); return *this;} /** *

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"

*/ inline const Aws::String& GetDocumentVersion() const{ return m_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"

*/ inline bool DocumentVersionHasBeenSet() const { return m_documentVersionHasBeenSet; } /** *

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"

*/ inline void SetDocumentVersion(const Aws::String& value) { m_documentVersionHasBeenSet = true; m_documentVersion = value; } /** *

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"

*/ inline void SetDocumentVersion(Aws::String&& value) { m_documentVersionHasBeenSet = true; m_documentVersion = std::move(value); } /** *

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"

*/ inline void SetDocumentVersion(const char* value) { m_documentVersionHasBeenSet = true; m_documentVersion.assign(value); } /** *

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"

*/ inline MaintenanceWindowRunCommandParameters& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;} /** *

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"

*/ inline MaintenanceWindowRunCommandParameters& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;} /** *

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"

*/ inline MaintenanceWindowRunCommandParameters& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;} /** *

Configurations for sending notifications about command status changes on a * per-managed node basis.

*/ inline const NotificationConfig& GetNotificationConfig() const{ return m_notificationConfig; } /** *

Configurations for sending notifications about command status changes on a * per-managed node basis.

*/ inline bool NotificationConfigHasBeenSet() const { return m_notificationConfigHasBeenSet; } /** *

Configurations for sending notifications about command status changes on a * per-managed node basis.

*/ inline void SetNotificationConfig(const NotificationConfig& value) { m_notificationConfigHasBeenSet = true; m_notificationConfig = value; } /** *

Configurations for sending notifications about command status changes on a * per-managed node basis.

*/ inline void SetNotificationConfig(NotificationConfig&& value) { m_notificationConfigHasBeenSet = true; m_notificationConfig = std::move(value); } /** *

Configurations for sending notifications about command status changes on a * per-managed node basis.

*/ inline MaintenanceWindowRunCommandParameters& WithNotificationConfig(const NotificationConfig& value) { SetNotificationConfig(value); return *this;} /** *

Configurations for sending notifications about command status changes on a * per-managed node basis.

*/ inline MaintenanceWindowRunCommandParameters& WithNotificationConfig(NotificationConfig&& value) { SetNotificationConfig(std::move(value)); return *this;} /** *

The name of the Amazon Simple Storage Service (Amazon S3) bucket.

*/ inline const Aws::String& GetOutputS3BucketName() const{ return m_outputS3BucketName; } /** *

The name of the Amazon Simple Storage Service (Amazon S3) bucket.

*/ inline bool OutputS3BucketNameHasBeenSet() const { return m_outputS3BucketNameHasBeenSet; } /** *

The name of the Amazon Simple Storage Service (Amazon S3) bucket.

*/ inline void SetOutputS3BucketName(const Aws::String& value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName = value; } /** *

The name of the Amazon Simple Storage Service (Amazon S3) bucket.

*/ inline void SetOutputS3BucketName(Aws::String&& value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName = std::move(value); } /** *

The name of the Amazon Simple Storage Service (Amazon S3) bucket.

*/ inline void SetOutputS3BucketName(const char* value) { m_outputS3BucketNameHasBeenSet = true; m_outputS3BucketName.assign(value); } /** *

The name of the Amazon Simple Storage Service (Amazon S3) bucket.

*/ inline MaintenanceWindowRunCommandParameters& WithOutputS3BucketName(const Aws::String& value) { SetOutputS3BucketName(value); return *this;} /** *

The name of the Amazon Simple Storage Service (Amazon S3) bucket.

*/ inline MaintenanceWindowRunCommandParameters& WithOutputS3BucketName(Aws::String&& value) { SetOutputS3BucketName(std::move(value)); return *this;} /** *

The name of the Amazon Simple Storage Service (Amazon S3) bucket.

*/ inline MaintenanceWindowRunCommandParameters& WithOutputS3BucketName(const char* value) { SetOutputS3BucketName(value); return *this;} /** *

The S3 bucket subfolder.

*/ inline const Aws::String& GetOutputS3KeyPrefix() const{ return m_outputS3KeyPrefix; } /** *

The S3 bucket subfolder.

*/ inline bool OutputS3KeyPrefixHasBeenSet() const { return m_outputS3KeyPrefixHasBeenSet; } /** *

The S3 bucket subfolder.

*/ inline void SetOutputS3KeyPrefix(const Aws::String& value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix = value; } /** *

The S3 bucket subfolder.

*/ inline void SetOutputS3KeyPrefix(Aws::String&& value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix = std::move(value); } /** *

The S3 bucket subfolder.

*/ inline void SetOutputS3KeyPrefix(const char* value) { m_outputS3KeyPrefixHasBeenSet = true; m_outputS3KeyPrefix.assign(value); } /** *

The S3 bucket subfolder.

*/ inline MaintenanceWindowRunCommandParameters& WithOutputS3KeyPrefix(const Aws::String& value) { SetOutputS3KeyPrefix(value); return *this;} /** *

The S3 bucket subfolder.

*/ inline MaintenanceWindowRunCommandParameters& WithOutputS3KeyPrefix(Aws::String&& value) { SetOutputS3KeyPrefix(std::move(value)); return *this;} /** *

The S3 bucket subfolder.

*/ inline MaintenanceWindowRunCommandParameters& WithOutputS3KeyPrefix(const char* value) { SetOutputS3KeyPrefix(value); return *this;} /** *

The parameters for the RUN_COMMAND task execution.

*/ inline const Aws::Map>& GetParameters() const{ return m_parameters; } /** *

The parameters for the RUN_COMMAND task execution.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

The parameters for the RUN_COMMAND task execution.

*/ inline void SetParameters(const Aws::Map>& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

The parameters for the RUN_COMMAND task execution.

*/ inline void SetParameters(Aws::Map>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

The parameters for the RUN_COMMAND task execution.

*/ inline MaintenanceWindowRunCommandParameters& WithParameters(const Aws::Map>& value) { SetParameters(value); return *this;} /** *

The parameters for the RUN_COMMAND task execution.

*/ inline MaintenanceWindowRunCommandParameters& WithParameters(Aws::Map>&& value) { SetParameters(std::move(value)); return *this;} /** *

The parameters for the RUN_COMMAND task execution.

*/ inline MaintenanceWindowRunCommandParameters& AddParameters(const Aws::String& key, const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

The parameters for the RUN_COMMAND task execution.

*/ inline MaintenanceWindowRunCommandParameters& AddParameters(Aws::String&& key, const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

The parameters for the RUN_COMMAND task execution.

*/ inline MaintenanceWindowRunCommandParameters& AddParameters(const Aws::String& key, Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

The parameters for the RUN_COMMAND task execution.

*/ inline MaintenanceWindowRunCommandParameters& AddParameters(Aws::String&& key, Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } /** *

The parameters for the RUN_COMMAND task execution.

*/ inline MaintenanceWindowRunCommandParameters& AddParameters(const char* key, Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

The parameters for the RUN_COMMAND task execution.

*/ inline MaintenanceWindowRunCommandParameters& AddParameters(const char* key, const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

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.

*/ inline const Aws::String& GetServiceRoleArn() const{ return m_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.

*/ inline bool ServiceRoleArnHasBeenSet() const { return m_serviceRoleArnHasBeenSet; } /** *

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.

*/ inline void SetServiceRoleArn(const Aws::String& value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn = value; } /** *

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.

*/ inline void SetServiceRoleArn(Aws::String&& value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn = std::move(value); } /** *

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.

*/ inline void SetServiceRoleArn(const char* value) { m_serviceRoleArnHasBeenSet = true; m_serviceRoleArn.assign(value); } /** *

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.

*/ inline MaintenanceWindowRunCommandParameters& WithServiceRoleArn(const Aws::String& value) { SetServiceRoleArn(value); return *this;} /** *

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.

*/ inline MaintenanceWindowRunCommandParameters& WithServiceRoleArn(Aws::String&& value) { SetServiceRoleArn(std::move(value)); return *this;} /** *

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.

*/ inline MaintenanceWindowRunCommandParameters& WithServiceRoleArn(const char* value) { SetServiceRoleArn(value); return *this;} /** *

If this time is reached and the command hasn't already started running, it * doesn't run.

*/ inline int GetTimeoutSeconds() const{ return m_timeoutSeconds; } /** *

If this time is reached and the command hasn't already started running, it * doesn't run.

*/ inline bool TimeoutSecondsHasBeenSet() const { return m_timeoutSecondsHasBeenSet; } /** *

If this time is reached and the command hasn't already started running, it * doesn't run.

*/ inline void SetTimeoutSeconds(int value) { m_timeoutSecondsHasBeenSet = true; m_timeoutSeconds = value; } /** *

If this time is reached and the command hasn't already started running, it * doesn't run.

*/ inline MaintenanceWindowRunCommandParameters& WithTimeoutSeconds(int value) { SetTimeoutSeconds(value); return *this;} private: Aws::String m_comment; bool m_commentHasBeenSet = false; CloudWatchOutputConfig m_cloudWatchOutputConfig; bool m_cloudWatchOutputConfigHasBeenSet = false; Aws::String m_documentHash; bool m_documentHashHasBeenSet = false; DocumentHashType m_documentHashType; bool m_documentHashTypeHasBeenSet = false; Aws::String m_documentVersion; bool m_documentVersionHasBeenSet = false; NotificationConfig m_notificationConfig; bool m_notificationConfigHasBeenSet = false; Aws::String m_outputS3BucketName; bool m_outputS3BucketNameHasBeenSet = false; Aws::String m_outputS3KeyPrefix; bool m_outputS3KeyPrefixHasBeenSet = false; Aws::Map> m_parameters; bool m_parametersHasBeenSet = false; Aws::String m_serviceRoleArn; bool m_serviceRoleArnHasBeenSet = false; int m_timeoutSeconds; bool m_timeoutSecondsHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws