/** * 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 #include #include namespace Aws { namespace SSM { namespace Model { /** */ class AWS_SSM_API SendCommandRequest : public SSMRequest { public: SendCommandRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "SendCommand"; } Aws::String SerializePayload() const override; Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The IDs of the instances where the command should run. Specifying instance * IDs is most useful when you are targeting a limited number of instances, though * you can specify up to 50 IDs.

To target a larger number of instances, or * if you prefer not to list individual instance IDs, we recommend using the * Targets option instead. Using Targets, which accepts * tag key-value pairs to identify the instances to send commands to, you can a * send command to tens, hundreds, or thousands of instances at once.

For * more information about how to use targets, see Using * targets and rate controls to send commands to a fleet in the AWS Systems * Manager User Guide.

*/ inline const Aws::Vector& GetInstanceIds() const{ return m_instanceIds; } /** *

The IDs of the instances where the command should run. Specifying instance * IDs is most useful when you are targeting a limited number of instances, though * you can specify up to 50 IDs.

To target a larger number of instances, or * if you prefer not to list individual instance IDs, we recommend using the * Targets option instead. Using Targets, which accepts * tag key-value pairs to identify the instances to send commands to, you can a * send command to tens, hundreds, or thousands of instances at once.

For * more information about how to use targets, see Using * targets and rate controls to send commands to a fleet in the AWS Systems * Manager User Guide.

*/ inline bool InstanceIdsHasBeenSet() const { return m_instanceIdsHasBeenSet; } /** *

The IDs of the instances where the command should run. Specifying instance * IDs is most useful when you are targeting a limited number of instances, though * you can specify up to 50 IDs.

To target a larger number of instances, or * if you prefer not to list individual instance IDs, we recommend using the * Targets option instead. Using Targets, which accepts * tag key-value pairs to identify the instances to send commands to, you can a * send command to tens, hundreds, or thousands of instances at once.

For * more information about how to use targets, see Using * targets and rate controls to send commands to a fleet in the AWS Systems * Manager User Guide.

*/ inline void SetInstanceIds(const Aws::Vector& value) { m_instanceIdsHasBeenSet = true; m_instanceIds = value; } /** *

The IDs of the instances where the command should run. Specifying instance * IDs is most useful when you are targeting a limited number of instances, though * you can specify up to 50 IDs.

To target a larger number of instances, or * if you prefer not to list individual instance IDs, we recommend using the * Targets option instead. Using Targets, which accepts * tag key-value pairs to identify the instances to send commands to, you can a * send command to tens, hundreds, or thousands of instances at once.

For * more information about how to use targets, see Using * targets and rate controls to send commands to a fleet in the AWS Systems * Manager User Guide.

*/ inline void SetInstanceIds(Aws::Vector&& value) { m_instanceIdsHasBeenSet = true; m_instanceIds = std::move(value); } /** *

The IDs of the instances where the command should run. Specifying instance * IDs is most useful when you are targeting a limited number of instances, though * you can specify up to 50 IDs.

To target a larger number of instances, or * if you prefer not to list individual instance IDs, we recommend using the * Targets option instead. Using Targets, which accepts * tag key-value pairs to identify the instances to send commands to, you can a * send command to tens, hundreds, or thousands of instances at once.

For * more information about how to use targets, see Using * targets and rate controls to send commands to a fleet in the AWS Systems * Manager User Guide.

*/ inline SendCommandRequest& WithInstanceIds(const Aws::Vector& value) { SetInstanceIds(value); return *this;} /** *

The IDs of the instances where the command should run. Specifying instance * IDs is most useful when you are targeting a limited number of instances, though * you can specify up to 50 IDs.

To target a larger number of instances, or * if you prefer not to list individual instance IDs, we recommend using the * Targets option instead. Using Targets, which accepts * tag key-value pairs to identify the instances to send commands to, you can a * send command to tens, hundreds, or thousands of instances at once.

For * more information about how to use targets, see Using * targets and rate controls to send commands to a fleet in the AWS Systems * Manager User Guide.

*/ inline SendCommandRequest& WithInstanceIds(Aws::Vector&& value) { SetInstanceIds(std::move(value)); return *this;} /** *

The IDs of the instances where the command should run. Specifying instance * IDs is most useful when you are targeting a limited number of instances, though * you can specify up to 50 IDs.

To target a larger number of instances, or * if you prefer not to list individual instance IDs, we recommend using the * Targets option instead. Using Targets, which accepts * tag key-value pairs to identify the instances to send commands to, you can a * send command to tens, hundreds, or thousands of instances at once.

For * more information about how to use targets, see Using * targets and rate controls to send commands to a fleet in the AWS Systems * Manager User Guide.

*/ inline SendCommandRequest& AddInstanceIds(const Aws::String& value) { m_instanceIdsHasBeenSet = true; m_instanceIds.push_back(value); return *this; } /** *

The IDs of the instances where the command should run. Specifying instance * IDs is most useful when you are targeting a limited number of instances, though * you can specify up to 50 IDs.

To target a larger number of instances, or * if you prefer not to list individual instance IDs, we recommend using the * Targets option instead. Using Targets, which accepts * tag key-value pairs to identify the instances to send commands to, you can a * send command to tens, hundreds, or thousands of instances at once.

For * more information about how to use targets, see Using * targets and rate controls to send commands to a fleet in the AWS Systems * Manager User Guide.

*/ inline SendCommandRequest& AddInstanceIds(Aws::String&& value) { m_instanceIdsHasBeenSet = true; m_instanceIds.push_back(std::move(value)); return *this; } /** *

The IDs of the instances where the command should run. Specifying instance * IDs is most useful when you are targeting a limited number of instances, though * you can specify up to 50 IDs.

To target a larger number of instances, or * if you prefer not to list individual instance IDs, we recommend using the * Targets option instead. Using Targets, which accepts * tag key-value pairs to identify the instances to send commands to, you can a * send command to tens, hundreds, or thousands of instances at once.

For * more information about how to use targets, see Using * targets and rate controls to send commands to a fleet in the AWS Systems * Manager User Guide.

*/ inline SendCommandRequest& AddInstanceIds(const char* value) { m_instanceIdsHasBeenSet = true; m_instanceIds.push_back(value); return *this; } /** *

An array of search criteria that targets instances using a * Key,Value combination that you specify. Specifying targets is most * useful when you want to send a command to a large number of instances at once. * Using Targets, which accepts tag key-value pairs to identify * instances, you can send a command to tens, hundreds, or thousands of instances * at once.

To send a command to a smaller number of instances, you can use * the InstanceIds option instead.

For more information about * how to use targets, see Sending * commands to a fleet in the AWS Systems Manager User Guide.

*/ inline const Aws::Vector& GetTargets() const{ return m_targets; } /** *

An array of search criteria that targets instances using a * Key,Value combination that you specify. Specifying targets is most * useful when you want to send a command to a large number of instances at once. * Using Targets, which accepts tag key-value pairs to identify * instances, you can send a command to tens, hundreds, or thousands of instances * at once.

To send a command to a smaller number of instances, you can use * the InstanceIds option instead.

For more information about * how to use targets, see Sending * commands to a fleet in the AWS Systems Manager User Guide.

*/ inline bool TargetsHasBeenSet() const { return m_targetsHasBeenSet; } /** *

An array of search criteria that targets instances using a * Key,Value combination that you specify. Specifying targets is most * useful when you want to send a command to a large number of instances at once. * Using Targets, which accepts tag key-value pairs to identify * instances, you can send a command to tens, hundreds, or thousands of instances * at once.

To send a command to a smaller number of instances, you can use * the InstanceIds option instead.

For more information about * how to use targets, see Sending * commands to a fleet in the AWS Systems Manager User Guide.

*/ inline void SetTargets(const Aws::Vector& value) { m_targetsHasBeenSet = true; m_targets = value; } /** *

An array of search criteria that targets instances using a * Key,Value combination that you specify. Specifying targets is most * useful when you want to send a command to a large number of instances at once. * Using Targets, which accepts tag key-value pairs to identify * instances, you can send a command to tens, hundreds, or thousands of instances * at once.

To send a command to a smaller number of instances, you can use * the InstanceIds option instead.

For more information about * how to use targets, see Sending * commands to a fleet in the AWS Systems Manager User Guide.

*/ inline void SetTargets(Aws::Vector&& value) { m_targetsHasBeenSet = true; m_targets = std::move(value); } /** *

An array of search criteria that targets instances using a * Key,Value combination that you specify. Specifying targets is most * useful when you want to send a command to a large number of instances at once. * Using Targets, which accepts tag key-value pairs to identify * instances, you can send a command to tens, hundreds, or thousands of instances * at once.

To send a command to a smaller number of instances, you can use * the InstanceIds option instead.

For more information about * how to use targets, see Sending * commands to a fleet in the AWS Systems Manager User Guide.

*/ inline SendCommandRequest& WithTargets(const Aws::Vector& value) { SetTargets(value); return *this;} /** *

An array of search criteria that targets instances using a * Key,Value combination that you specify. Specifying targets is most * useful when you want to send a command to a large number of instances at once. * Using Targets, which accepts tag key-value pairs to identify * instances, you can send a command to tens, hundreds, or thousands of instances * at once.

To send a command to a smaller number of instances, you can use * the InstanceIds option instead.

For more information about * how to use targets, see Sending * commands to a fleet in the AWS Systems Manager User Guide.

*/ inline SendCommandRequest& WithTargets(Aws::Vector&& value) { SetTargets(std::move(value)); return *this;} /** *

An array of search criteria that targets instances using a * Key,Value combination that you specify. Specifying targets is most * useful when you want to send a command to a large number of instances at once. * Using Targets, which accepts tag key-value pairs to identify * instances, you can send a command to tens, hundreds, or thousands of instances * at once.

To send a command to a smaller number of instances, you can use * the InstanceIds option instead.

For more information about * how to use targets, see Sending * commands to a fleet in the AWS Systems Manager User Guide.

*/ inline SendCommandRequest& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; } /** *

An array of search criteria that targets instances using a * Key,Value combination that you specify. Specifying targets is most * useful when you want to send a command to a large number of instances at once. * Using Targets, which accepts tag key-value pairs to identify * instances, you can send a command to tens, hundreds, or thousands of instances * at once.

To send a command to a smaller number of instances, you can use * the InstanceIds option instead.

For more information about * how to use targets, see Sending * commands to a fleet in the AWS Systems Manager User Guide.

*/ inline SendCommandRequest& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; } /** *

Required. The name of the Systems Manager document to run. This can be a * public document or a custom document.

*/ inline const Aws::String& GetDocumentName() const{ return m_documentName; } /** *

Required. The name of the Systems Manager document to run. This can be a * public document or a custom document.

*/ inline bool DocumentNameHasBeenSet() const { return m_documentNameHasBeenSet; } /** *

Required. The name of the Systems Manager document to run. This can be a * public document or a custom document.

*/ inline void SetDocumentName(const Aws::String& value) { m_documentNameHasBeenSet = true; m_documentName = value; } /** *

Required. The name of the Systems Manager document to run. This can be a * public document or a custom document.

*/ inline void SetDocumentName(Aws::String&& value) { m_documentNameHasBeenSet = true; m_documentName = std::move(value); } /** *

Required. The name of the Systems Manager document to run. This can be a * public document or a custom document.

*/ inline void SetDocumentName(const char* value) { m_documentNameHasBeenSet = true; m_documentName.assign(value); } /** *

Required. The name of the Systems Manager document to run. This can be a * public document or a custom document.

*/ inline SendCommandRequest& WithDocumentName(const Aws::String& value) { SetDocumentName(value); return *this;} /** *

Required. The name of the Systems Manager document to run. This can be a * public document or a custom document.

*/ inline SendCommandRequest& WithDocumentName(Aws::String&& value) { SetDocumentName(std::move(value)); return *this;} /** *

Required. The name of the Systems Manager document to run. This can be a * public document or a custom document.

*/ inline SendCommandRequest& WithDocumentName(const char* value) { SetDocumentName(value); return *this;} /** *

The 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 AWS 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 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 AWS 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 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 AWS 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 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 AWS 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 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 AWS 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 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 AWS 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 SendCommandRequest& WithDocumentVersion(const Aws::String& value) { SetDocumentVersion(value); return *this;} /** *

The 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 AWS 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 SendCommandRequest& WithDocumentVersion(Aws::String&& value) { SetDocumentVersion(std::move(value)); return *this;} /** *

The 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 AWS 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 SendCommandRequest& WithDocumentVersion(const char* value) { SetDocumentVersion(value); return *this;} /** *

The Sha256 or Sha1 hash created by the system when the document was created. *

Sha1 hashes have been deprecated.

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

The Sha256 or Sha1 hash created by the system when the document was created. *

Sha1 hashes have been deprecated.

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

The Sha256 or Sha1 hash created by the system when the document was created. *

Sha1 hashes have been deprecated.

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

The Sha256 or Sha1 hash created by the system when the document was created. *

Sha1 hashes have been deprecated.

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

The Sha256 or Sha1 hash created by the system when the document was created. *

Sha1 hashes have been deprecated.

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

The Sha256 or Sha1 hash created by the system when the document was created. *

Sha1 hashes have been deprecated.

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

The Sha256 or Sha1 hash created by the system when the document was created. *

Sha1 hashes have been deprecated.

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

The Sha256 or Sha1 hash created by the system when the document was created. *

Sha1 hashes have been deprecated.

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

Sha256 or Sha1.

Sha1 hashes have been deprecated.

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

Sha256 or Sha1.

Sha1 hashes have been deprecated.

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

Sha256 or Sha1.

Sha1 hashes have been deprecated.

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

Sha256 or Sha1.

Sha1 hashes have been deprecated.

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

Sha256 or Sha1.

Sha1 hashes have been deprecated.

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

Sha256 or Sha1.

Sha1 hashes have been deprecated.

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

If this time is reached and the command has not already started running, it * will not run.

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

If this time is reached and the command has not already started running, it * will not run.

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

If this time is reached and the command has not already started running, it * will not run.

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

If this time is reached and the command has not already started running, it * will not run.

*/ inline SendCommandRequest& WithTimeoutSeconds(int value) { SetTimeoutSeconds(value); return *this;} /** *

User-specified information about the command, such as a brief description of * what the command should do.

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

User-specified information about the command, such as a brief description of * what the command should do.

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

User-specified information about the command, such as a brief description of * what the command should do.

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

User-specified information about the command, such as a brief description of * what the command should do.

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

User-specified information about the command, such as a brief description of * what the command should do.

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

User-specified information about the command, such as a brief description of * what the command should do.

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

User-specified information about the command, such as a brief description of * what the command should do.

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

User-specified information about the command, such as a brief description of * what the command should do.

*/ inline SendCommandRequest& WithComment(const char* value) { SetComment(value); return *this;} /** *

The required and optional parameters specified in the document being run.

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

The required and optional parameters specified in the document being run.

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

The required and optional parameters specified in the document being run.

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

The required and optional parameters specified in the document being run.

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

The required and optional parameters specified in the document being run.

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

The required and optional parameters specified in the document being run.

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

The required and optional parameters specified in the document being run.

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

The required and optional parameters specified in the document being run.

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

The required and optional parameters specified in the document being run.

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

The required and optional parameters specified in the document being run.

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

The required and optional parameters specified in the document being run.

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

The required and optional parameters specified in the document being run.

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

(Deprecated) You can no longer specify this parameter. The system ignores it. * Instead, Systems Manager automatically determines the Region of the S3 * bucket.

*/ inline const Aws::String& GetOutputS3Region() const{ return m_outputS3Region; } /** *

(Deprecated) You can no longer specify this parameter. The system ignores it. * Instead, Systems Manager automatically determines the Region of the S3 * bucket.

*/ inline bool OutputS3RegionHasBeenSet() const { return m_outputS3RegionHasBeenSet; } /** *

(Deprecated) You can no longer specify this parameter. The system ignores it. * Instead, Systems Manager automatically determines the Region of the S3 * bucket.

*/ inline void SetOutputS3Region(const Aws::String& value) { m_outputS3RegionHasBeenSet = true; m_outputS3Region = value; } /** *

(Deprecated) You can no longer specify this parameter. The system ignores it. * Instead, Systems Manager automatically determines the Region of the S3 * bucket.

*/ inline void SetOutputS3Region(Aws::String&& value) { m_outputS3RegionHasBeenSet = true; m_outputS3Region = std::move(value); } /** *

(Deprecated) You can no longer specify this parameter. The system ignores it. * Instead, Systems Manager automatically determines the Region of the S3 * bucket.

*/ inline void SetOutputS3Region(const char* value) { m_outputS3RegionHasBeenSet = true; m_outputS3Region.assign(value); } /** *

(Deprecated) You can no longer specify this parameter. The system ignores it. * Instead, Systems Manager automatically determines the Region of the S3 * bucket.

*/ inline SendCommandRequest& WithOutputS3Region(const Aws::String& value) { SetOutputS3Region(value); return *this;} /** *

(Deprecated) You can no longer specify this parameter. The system ignores it. * Instead, Systems Manager automatically determines the Region of the S3 * bucket.

*/ inline SendCommandRequest& WithOutputS3Region(Aws::String&& value) { SetOutputS3Region(std::move(value)); return *this;} /** *

(Deprecated) You can no longer specify this parameter. The system ignores it. * Instead, Systems Manager automatically determines the Region of the S3 * bucket.

*/ inline SendCommandRequest& WithOutputS3Region(const char* value) { SetOutputS3Region(value); return *this;} /** *

The name of the S3 bucket where command execution responses should be * stored.

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

The name of the S3 bucket where command execution responses should be * stored.

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

The name of the S3 bucket where command execution responses should be * stored.

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

The name of the S3 bucket where command execution responses should be * stored.

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

The name of the S3 bucket where command execution responses should be * stored.

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

The name of the S3 bucket where command execution responses should be * stored.

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

The name of the S3 bucket where command execution responses should be * stored.

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

The name of the S3 bucket where command execution responses should be * stored.

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

The directory structure within the S3 bucket where the responses should be * stored.

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

The directory structure within the S3 bucket where the responses should be * stored.

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

The directory structure within the S3 bucket where the responses should be * stored.

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

The directory structure within the S3 bucket where the responses should be * stored.

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

The directory structure within the S3 bucket where the responses should be * stored.

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

The directory structure within the S3 bucket where the responses should be * stored.

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

The directory structure within the S3 bucket where the responses should be * stored.

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

The directory structure within the S3 bucket where the responses should be * stored.

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

(Optional) The maximum number of instances that are allowed to run the * command at the same time. You can specify a number such as 10 or a percentage * such as 10%. The default value is 50. For more information about how to use * MaxConcurrency, see Using * concurrency controls in the AWS Systems Manager User Guide.

*/ inline const Aws::String& GetMaxConcurrency() const{ return m_maxConcurrency; } /** *

(Optional) The maximum number of instances that are allowed to run the * command at the same time. You can specify a number such as 10 or a percentage * such as 10%. The default value is 50. For more information about how to use * MaxConcurrency, see Using * concurrency controls in the AWS Systems Manager User Guide.

*/ inline bool MaxConcurrencyHasBeenSet() const { return m_maxConcurrencyHasBeenSet; } /** *

(Optional) The maximum number of instances that are allowed to run the * command at the same time. You can specify a number such as 10 or a percentage * such as 10%. The default value is 50. For more information about how to use * MaxConcurrency, see Using * concurrency controls in the AWS Systems Manager User Guide.

*/ inline void SetMaxConcurrency(const Aws::String& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = value; } /** *

(Optional) The maximum number of instances that are allowed to run the * command at the same time. You can specify a number such as 10 or a percentage * such as 10%. The default value is 50. For more information about how to use * MaxConcurrency, see Using * concurrency controls in the AWS Systems Manager User Guide.

*/ inline void SetMaxConcurrency(Aws::String&& value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency = std::move(value); } /** *

(Optional) The maximum number of instances that are allowed to run the * command at the same time. You can specify a number such as 10 or a percentage * such as 10%. The default value is 50. For more information about how to use * MaxConcurrency, see Using * concurrency controls in the AWS Systems Manager User Guide.

*/ inline void SetMaxConcurrency(const char* value) { m_maxConcurrencyHasBeenSet = true; m_maxConcurrency.assign(value); } /** *

(Optional) The maximum number of instances that are allowed to run the * command at the same time. You can specify a number such as 10 or a percentage * such as 10%. The default value is 50. For more information about how to use * MaxConcurrency, see Using * concurrency controls in the AWS Systems Manager User Guide.

*/ inline SendCommandRequest& WithMaxConcurrency(const Aws::String& value) { SetMaxConcurrency(value); return *this;} /** *

(Optional) The maximum number of instances that are allowed to run the * command at the same time. You can specify a number such as 10 or a percentage * such as 10%. The default value is 50. For more information about how to use * MaxConcurrency, see Using * concurrency controls in the AWS Systems Manager User Guide.

*/ inline SendCommandRequest& WithMaxConcurrency(Aws::String&& value) { SetMaxConcurrency(std::move(value)); return *this;} /** *

(Optional) The maximum number of instances that are allowed to run the * command at the same time. You can specify a number such as 10 or a percentage * such as 10%. The default value is 50. For more information about how to use * MaxConcurrency, see Using * concurrency controls in the AWS Systems Manager User Guide.

*/ inline SendCommandRequest& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;} /** *

The maximum number of errors allowed without the command failing. When the * command fails one more time beyond the value of MaxErrors, the systems stops * sending the command to additional targets. You can specify a number like 10 or a * percentage like 10%. The default value is 0. For more information about how to * use MaxErrors, see Using * error controls in the AWS Systems Manager User Guide.

*/ inline const Aws::String& GetMaxErrors() const{ return m_maxErrors; } /** *

The maximum number of errors allowed without the command failing. When the * command fails one more time beyond the value of MaxErrors, the systems stops * sending the command to additional targets. You can specify a number like 10 or a * percentage like 10%. The default value is 0. For more information about how to * use MaxErrors, see Using * error controls in the AWS Systems Manager User Guide.

*/ inline bool MaxErrorsHasBeenSet() const { return m_maxErrorsHasBeenSet; } /** *

The maximum number of errors allowed without the command failing. When the * command fails one more time beyond the value of MaxErrors, the systems stops * sending the command to additional targets. You can specify a number like 10 or a * percentage like 10%. The default value is 0. For more information about how to * use MaxErrors, see Using * error controls in the AWS Systems Manager User Guide.

*/ inline void SetMaxErrors(const Aws::String& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = value; } /** *

The maximum number of errors allowed without the command failing. When the * command fails one more time beyond the value of MaxErrors, the systems stops * sending the command to additional targets. You can specify a number like 10 or a * percentage like 10%. The default value is 0. For more information about how to * use MaxErrors, see Using * error controls in the AWS Systems Manager User Guide.

*/ inline void SetMaxErrors(Aws::String&& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = std::move(value); } /** *

The maximum number of errors allowed without the command failing. When the * command fails one more time beyond the value of MaxErrors, the systems stops * sending the command to additional targets. You can specify a number like 10 or a * percentage like 10%. The default value is 0. For more information about how to * use MaxErrors, see Using * error controls in the AWS Systems Manager User Guide.

*/ inline void SetMaxErrors(const char* value) { m_maxErrorsHasBeenSet = true; m_maxErrors.assign(value); } /** *

The maximum number of errors allowed without the command failing. When the * command fails one more time beyond the value of MaxErrors, the systems stops * sending the command to additional targets. You can specify a number like 10 or a * percentage like 10%. The default value is 0. For more information about how to * use MaxErrors, see Using * error controls in the AWS Systems Manager User Guide.

*/ inline SendCommandRequest& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;} /** *

The maximum number of errors allowed without the command failing. When the * command fails one more time beyond the value of MaxErrors, the systems stops * sending the command to additional targets. You can specify a number like 10 or a * percentage like 10%. The default value is 0. For more information about how to * use MaxErrors, see Using * error controls in the AWS Systems Manager User Guide.

*/ inline SendCommandRequest& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;} /** *

The maximum number of errors allowed without the command failing. When the * command fails one more time beyond the value of MaxErrors, the systems stops * sending the command to additional targets. You can specify a number like 10 or a * percentage like 10%. The default value is 0. For more information about how to * use MaxErrors, see Using * error controls in the AWS Systems Manager User Guide.

*/ inline SendCommandRequest& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;} /** *

The ARN of the IAM service role to use to publish Amazon Simple Notification * Service (Amazon SNS) notifications for Run Command commands.

*/ inline const Aws::String& GetServiceRoleArn() const{ return m_serviceRoleArn; } /** *

The ARN of the IAM service role to use to publish Amazon Simple Notification * Service (Amazon SNS) notifications for Run Command commands.

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

The ARN of the IAM service role to use to publish Amazon Simple Notification * Service (Amazon SNS) notifications for Run Command commands.

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

The ARN of the IAM service role to use to publish Amazon Simple Notification * Service (Amazon SNS) notifications for Run Command commands.

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

The ARN of the IAM service role to use to publish Amazon Simple Notification * Service (Amazon SNS) notifications for Run Command commands.

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

The ARN of the IAM service role to use to publish Amazon Simple Notification * Service (Amazon SNS) notifications for Run Command commands.

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

The ARN of the IAM service role to use to publish Amazon Simple Notification * Service (Amazon SNS) notifications for Run Command commands.

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

The ARN of the IAM service role to use to publish Amazon Simple Notification * Service (Amazon SNS) notifications for Run Command commands.

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

Configurations for sending notifications.

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

Configurations for sending notifications.

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

Configurations for sending notifications.

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

Configurations for sending notifications.

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

Configurations for sending notifications.

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

Configurations for sending notifications.

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

Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs. *

*/ inline const CloudWatchOutputConfig& GetCloudWatchOutputConfig() const{ return m_cloudWatchOutputConfig; } /** *

Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs. *

*/ inline bool CloudWatchOutputConfigHasBeenSet() const { return m_cloudWatchOutputConfigHasBeenSet; } /** *

Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs. *

*/ inline void SetCloudWatchOutputConfig(const CloudWatchOutputConfig& value) { m_cloudWatchOutputConfigHasBeenSet = true; m_cloudWatchOutputConfig = value; } /** *

Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs. *

*/ inline void SetCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { m_cloudWatchOutputConfigHasBeenSet = true; m_cloudWatchOutputConfig = std::move(value); } /** *

Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs. *

*/ inline SendCommandRequest& WithCloudWatchOutputConfig(const CloudWatchOutputConfig& value) { SetCloudWatchOutputConfig(value); return *this;} /** *

Enables Systems Manager to send Run Command output to Amazon CloudWatch Logs. *

*/ inline SendCommandRequest& WithCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { SetCloudWatchOutputConfig(std::move(value)); return *this;} private: Aws::Vector m_instanceIds; bool m_instanceIdsHasBeenSet; Aws::Vector m_targets; bool m_targetsHasBeenSet; Aws::String m_documentName; bool m_documentNameHasBeenSet; Aws::String m_documentVersion; bool m_documentVersionHasBeenSet; Aws::String m_documentHash; bool m_documentHashHasBeenSet; DocumentHashType m_documentHashType; bool m_documentHashTypeHasBeenSet; int m_timeoutSeconds; bool m_timeoutSecondsHasBeenSet; Aws::String m_comment; bool m_commentHasBeenSet; Aws::Map> m_parameters; bool m_parametersHasBeenSet; Aws::String m_outputS3Region; bool m_outputS3RegionHasBeenSet; Aws::String m_outputS3BucketName; bool m_outputS3BucketNameHasBeenSet; Aws::String m_outputS3KeyPrefix; bool m_outputS3KeyPrefixHasBeenSet; Aws::String m_maxConcurrency; bool m_maxConcurrencyHasBeenSet; Aws::String m_maxErrors; bool m_maxErrorsHasBeenSet; Aws::String m_serviceRoleArn; bool m_serviceRoleArnHasBeenSet; NotificationConfig m_notificationConfig; bool m_notificationConfigHasBeenSet; CloudWatchOutputConfig m_cloudWatchOutputConfig; bool m_cloudWatchOutputConfigHasBeenSet; }; } // namespace Model } // namespace SSM } // namespace Aws