/** * 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 Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SSM { namespace Model { /** *

Describes a command request.

See Also:

AWS API * Reference

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

A unique identifier for this command.

*/ inline const Aws::String& GetCommandId() const{ return m_commandId; } /** *

A unique identifier for this command.

*/ inline bool CommandIdHasBeenSet() const { return m_commandIdHasBeenSet; } /** *

A unique identifier for this command.

*/ inline void SetCommandId(const Aws::String& value) { m_commandIdHasBeenSet = true; m_commandId = value; } /** *

A unique identifier for this command.

*/ inline void SetCommandId(Aws::String&& value) { m_commandIdHasBeenSet = true; m_commandId = std::move(value); } /** *

A unique identifier for this command.

*/ inline void SetCommandId(const char* value) { m_commandIdHasBeenSet = true; m_commandId.assign(value); } /** *

A unique identifier for this command.

*/ inline Command& WithCommandId(const Aws::String& value) { SetCommandId(value); return *this;} /** *

A unique identifier for this command.

*/ inline Command& WithCommandId(Aws::String&& value) { SetCommandId(std::move(value)); return *this;} /** *

A unique identifier for this command.

*/ inline Command& WithCommandId(const char* value) { SetCommandId(value); return *this;} /** *

The name of the document requested for execution.

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

The name of the document requested for execution.

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

The name of the document requested for execution.

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

The name of the document requested for execution.

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

The name of the document requested for execution.

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

The name of the document requested for execution.

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

The name of the document requested for execution.

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

The name of the document requested for execution.

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

The SSM document version.

*/ inline const Aws::String& GetDocumentVersion() const{ return m_documentVersion; } /** *

The SSM document version.

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

The SSM document version.

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

The SSM document version.

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

The SSM document version.

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

The SSM document version.

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

The SSM document version.

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

The SSM document version.

*/ inline Command& WithDocumentVersion(const char* value) { SetDocumentVersion(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 Command& 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 Command& 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 Command& WithComment(const char* value) { SetComment(value); return *this;} /** *

If this time is reached and the command has not already started running, it * will not run. Calculated based on the ExpiresAfter user input provided as part * of the SendCommand API.

*/ inline const Aws::Utils::DateTime& GetExpiresAfter() const{ return m_expiresAfter; } /** *

If this time is reached and the command has not already started running, it * will not run. Calculated based on the ExpiresAfter user input provided as part * of the SendCommand API.

*/ inline bool ExpiresAfterHasBeenSet() const { return m_expiresAfterHasBeenSet; } /** *

If this time is reached and the command has not already started running, it * will not run. Calculated based on the ExpiresAfter user input provided as part * of the SendCommand API.

*/ inline void SetExpiresAfter(const Aws::Utils::DateTime& value) { m_expiresAfterHasBeenSet = true; m_expiresAfter = value; } /** *

If this time is reached and the command has not already started running, it * will not run. Calculated based on the ExpiresAfter user input provided as part * of the SendCommand API.

*/ inline void SetExpiresAfter(Aws::Utils::DateTime&& value) { m_expiresAfterHasBeenSet = true; m_expiresAfter = std::move(value); } /** *

If this time is reached and the command has not already started running, it * will not run. Calculated based on the ExpiresAfter user input provided as part * of the SendCommand API.

*/ inline Command& WithExpiresAfter(const Aws::Utils::DateTime& value) { SetExpiresAfter(value); return *this;} /** *

If this time is reached and the command has not already started running, it * will not run. Calculated based on the ExpiresAfter user input provided as part * of the SendCommand API.

*/ inline Command& WithExpiresAfter(Aws::Utils::DateTime&& value) { SetExpiresAfter(std::move(value)); return *this;} /** *

The parameter values to be inserted in the document when running the * command.

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

The parameter values to be inserted in the document when running the * command.

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

The parameter values to be inserted in the document when running the * command.

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

The parameter values to be inserted in the document when running the * command.

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

The parameter values to be inserted in the document when running the * command.

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

The parameter values to be inserted in the document when running the * command.

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

The parameter values to be inserted in the document when running the * command.

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

The parameter values to be inserted in the document when running the * command.

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

The parameter values to be inserted in the document when running the * command.

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

The parameter values to be inserted in the document when running the * command.

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

The parameter values to be inserted in the document when running the * command.

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

The parameter values to be inserted in the document when running the * command.

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

The instance IDs against which this command was requested.

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

The instance IDs against which this command was requested.

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

The instance IDs against which this command was requested.

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

The instance IDs against which this command was requested.

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

The instance IDs against which this command was requested.

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

The instance IDs against which this command was requested.

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

The instance IDs against which this command was requested.

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

The instance IDs against which this command was requested.

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

The instance IDs against which this command was requested.

*/ inline Command& 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. Targets is required if you don't provide one or * more instance IDs in the call.

*/ 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. Targets is required if you don't provide one or * more instance IDs in the call.

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

An array of search criteria that targets instances using a Key,Value * combination that you specify. Targets is required if you don't provide one or * more instance IDs in the call.

*/ 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. Targets is required if you don't provide one or * more instance IDs in the call.

*/ 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. Targets is required if you don't provide one or * more instance IDs in the call.

*/ inline Command& 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. Targets is required if you don't provide one or * more instance IDs in the call.

*/ inline Command& 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. Targets is required if you don't provide one or * more instance IDs in the call.

*/ inline Command& 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. Targets is required if you don't provide one or * more instance IDs in the call.

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

The date and time the command was requested.

*/ inline const Aws::Utils::DateTime& GetRequestedDateTime() const{ return m_requestedDateTime; } /** *

The date and time the command was requested.

*/ inline bool RequestedDateTimeHasBeenSet() const { return m_requestedDateTimeHasBeenSet; } /** *

The date and time the command was requested.

*/ inline void SetRequestedDateTime(const Aws::Utils::DateTime& value) { m_requestedDateTimeHasBeenSet = true; m_requestedDateTime = value; } /** *

The date and time the command was requested.

*/ inline void SetRequestedDateTime(Aws::Utils::DateTime&& value) { m_requestedDateTimeHasBeenSet = true; m_requestedDateTime = std::move(value); } /** *

The date and time the command was requested.

*/ inline Command& WithRequestedDateTime(const Aws::Utils::DateTime& value) { SetRequestedDateTime(value); return *this;} /** *

The date and time the command was requested.

*/ inline Command& WithRequestedDateTime(Aws::Utils::DateTime&& value) { SetRequestedDateTime(std::move(value)); return *this;} /** *

The status of the command.

*/ inline const CommandStatus& GetStatus() const{ return m_status; } /** *

The status of the command.

*/ inline bool StatusHasBeenSet() const { return m_statusHasBeenSet; } /** *

The status of the command.

*/ inline void SetStatus(const CommandStatus& value) { m_statusHasBeenSet = true; m_status = value; } /** *

The status of the command.

*/ inline void SetStatus(CommandStatus&& value) { m_statusHasBeenSet = true; m_status = std::move(value); } /** *

The status of the command.

*/ inline Command& WithStatus(const CommandStatus& value) { SetStatus(value); return *this;} /** *

The status of the command.

*/ inline Command& WithStatus(CommandStatus&& value) { SetStatus(std::move(value)); return *this;} /** *

A detailed status of the command execution. StatusDetails includes more * information than Status because it includes states resulting from error and * concurrency control parameters. StatusDetails can show different results than * Status. For more information about these statuses, see Understanding * command statuses in the AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to any instances.

  • In Progress: The command has * been sent to at least one instance but has not reached a final state on all * instances.

  • Success: The command successfully ran on all * invocations. This is a terminal state.

  • Delivery Timed Out: The * value of MaxErrors or more command invocations shows a status of Delivery Timed * Out. This is a terminal state.

  • Execution Timed Out: The value * of MaxErrors or more command invocations shows a status of Execution Timed Out. * This is a terminal state.

  • Failed: The value of MaxErrors or * more command invocations shows a status of Failed. This is a terminal state.

    *
  • Incomplete: The command was attempted on all instances and one or * more invocations does not have a value of Success but not enough invocations * failed for the status to be Failed. This is a terminal state.

  • *

    Canceled: The command was terminated before it was completed. This is a * terminal state.

  • Rate Exceeded: The number of instances * targeted by the command exceeded the account limit for pending invocations. The * system has canceled the command before running it on any instance. This is a * terminal state.

*/ inline const Aws::String& GetStatusDetails() const{ return m_statusDetails; } /** *

A detailed status of the command execution. StatusDetails includes more * information than Status because it includes states resulting from error and * concurrency control parameters. StatusDetails can show different results than * Status. For more information about these statuses, see Understanding * command statuses in the AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to any instances.

  • In Progress: The command has * been sent to at least one instance but has not reached a final state on all * instances.

  • Success: The command successfully ran on all * invocations. This is a terminal state.

  • Delivery Timed Out: The * value of MaxErrors or more command invocations shows a status of Delivery Timed * Out. This is a terminal state.

  • Execution Timed Out: The value * of MaxErrors or more command invocations shows a status of Execution Timed Out. * This is a terminal state.

  • Failed: The value of MaxErrors or * more command invocations shows a status of Failed. This is a terminal state.

    *
  • Incomplete: The command was attempted on all instances and one or * more invocations does not have a value of Success but not enough invocations * failed for the status to be Failed. This is a terminal state.

  • *

    Canceled: The command was terminated before it was completed. This is a * terminal state.

  • Rate Exceeded: The number of instances * targeted by the command exceeded the account limit for pending invocations. The * system has canceled the command before running it on any instance. This is a * terminal state.

*/ inline bool StatusDetailsHasBeenSet() const { return m_statusDetailsHasBeenSet; } /** *

A detailed status of the command execution. StatusDetails includes more * information than Status because it includes states resulting from error and * concurrency control parameters. StatusDetails can show different results than * Status. For more information about these statuses, see Understanding * command statuses in the AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to any instances.

  • In Progress: The command has * been sent to at least one instance but has not reached a final state on all * instances.

  • Success: The command successfully ran on all * invocations. This is a terminal state.

  • Delivery Timed Out: The * value of MaxErrors or more command invocations shows a status of Delivery Timed * Out. This is a terminal state.

  • Execution Timed Out: The value * of MaxErrors or more command invocations shows a status of Execution Timed Out. * This is a terminal state.

  • Failed: The value of MaxErrors or * more command invocations shows a status of Failed. This is a terminal state.

    *
  • Incomplete: The command was attempted on all instances and one or * more invocations does not have a value of Success but not enough invocations * failed for the status to be Failed. This is a terminal state.

  • *

    Canceled: The command was terminated before it was completed. This is a * terminal state.

  • Rate Exceeded: The number of instances * targeted by the command exceeded the account limit for pending invocations. The * system has canceled the command before running it on any instance. This is a * terminal state.

*/ inline void SetStatusDetails(const Aws::String& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = value; } /** *

A detailed status of the command execution. StatusDetails includes more * information than Status because it includes states resulting from error and * concurrency control parameters. StatusDetails can show different results than * Status. For more information about these statuses, see Understanding * command statuses in the AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to any instances.

  • In Progress: The command has * been sent to at least one instance but has not reached a final state on all * instances.

  • Success: The command successfully ran on all * invocations. This is a terminal state.

  • Delivery Timed Out: The * value of MaxErrors or more command invocations shows a status of Delivery Timed * Out. This is a terminal state.

  • Execution Timed Out: The value * of MaxErrors or more command invocations shows a status of Execution Timed Out. * This is a terminal state.

  • Failed: The value of MaxErrors or * more command invocations shows a status of Failed. This is a terminal state.

    *
  • Incomplete: The command was attempted on all instances and one or * more invocations does not have a value of Success but not enough invocations * failed for the status to be Failed. This is a terminal state.

  • *

    Canceled: The command was terminated before it was completed. This is a * terminal state.

  • Rate Exceeded: The number of instances * targeted by the command exceeded the account limit for pending invocations. The * system has canceled the command before running it on any instance. This is a * terminal state.

*/ inline void SetStatusDetails(Aws::String&& value) { m_statusDetailsHasBeenSet = true; m_statusDetails = std::move(value); } /** *

A detailed status of the command execution. StatusDetails includes more * information than Status because it includes states resulting from error and * concurrency control parameters. StatusDetails can show different results than * Status. For more information about these statuses, see Understanding * command statuses in the AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to any instances.

  • In Progress: The command has * been sent to at least one instance but has not reached a final state on all * instances.

  • Success: The command successfully ran on all * invocations. This is a terminal state.

  • Delivery Timed Out: The * value of MaxErrors or more command invocations shows a status of Delivery Timed * Out. This is a terminal state.

  • Execution Timed Out: The value * of MaxErrors or more command invocations shows a status of Execution Timed Out. * This is a terminal state.

  • Failed: The value of MaxErrors or * more command invocations shows a status of Failed. This is a terminal state.

    *
  • Incomplete: The command was attempted on all instances and one or * more invocations does not have a value of Success but not enough invocations * failed for the status to be Failed. This is a terminal state.

  • *

    Canceled: The command was terminated before it was completed. This is a * terminal state.

  • Rate Exceeded: The number of instances * targeted by the command exceeded the account limit for pending invocations. The * system has canceled the command before running it on any instance. This is a * terminal state.

*/ inline void SetStatusDetails(const char* value) { m_statusDetailsHasBeenSet = true; m_statusDetails.assign(value); } /** *

A detailed status of the command execution. StatusDetails includes more * information than Status because it includes states resulting from error and * concurrency control parameters. StatusDetails can show different results than * Status. For more information about these statuses, see Understanding * command statuses in the AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to any instances.

  • In Progress: The command has * been sent to at least one instance but has not reached a final state on all * instances.

  • Success: The command successfully ran on all * invocations. This is a terminal state.

  • Delivery Timed Out: The * value of MaxErrors or more command invocations shows a status of Delivery Timed * Out. This is a terminal state.

  • Execution Timed Out: The value * of MaxErrors or more command invocations shows a status of Execution Timed Out. * This is a terminal state.

  • Failed: The value of MaxErrors or * more command invocations shows a status of Failed. This is a terminal state.

    *
  • Incomplete: The command was attempted on all instances and one or * more invocations does not have a value of Success but not enough invocations * failed for the status to be Failed. This is a terminal state.

  • *

    Canceled: The command was terminated before it was completed. This is a * terminal state.

  • Rate Exceeded: The number of instances * targeted by the command exceeded the account limit for pending invocations. The * system has canceled the command before running it on any instance. This is a * terminal state.

*/ inline Command& WithStatusDetails(const Aws::String& value) { SetStatusDetails(value); return *this;} /** *

A detailed status of the command execution. StatusDetails includes more * information than Status because it includes states resulting from error and * concurrency control parameters. StatusDetails can show different results than * Status. For more information about these statuses, see Understanding * command statuses in the AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to any instances.

  • In Progress: The command has * been sent to at least one instance but has not reached a final state on all * instances.

  • Success: The command successfully ran on all * invocations. This is a terminal state.

  • Delivery Timed Out: The * value of MaxErrors or more command invocations shows a status of Delivery Timed * Out. This is a terminal state.

  • Execution Timed Out: The value * of MaxErrors or more command invocations shows a status of Execution Timed Out. * This is a terminal state.

  • Failed: The value of MaxErrors or * more command invocations shows a status of Failed. This is a terminal state.

    *
  • Incomplete: The command was attempted on all instances and one or * more invocations does not have a value of Success but not enough invocations * failed for the status to be Failed. This is a terminal state.

  • *

    Canceled: The command was terminated before it was completed. This is a * terminal state.

  • Rate Exceeded: The number of instances * targeted by the command exceeded the account limit for pending invocations. The * system has canceled the command before running it on any instance. This is a * terminal state.

*/ inline Command& WithStatusDetails(Aws::String&& value) { SetStatusDetails(std::move(value)); return *this;} /** *

A detailed status of the command execution. StatusDetails includes more * information than Status because it includes states resulting from error and * concurrency control parameters. StatusDetails can show different results than * Status. For more information about these statuses, see Understanding * command statuses in the AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to any instances.

  • In Progress: The command has * been sent to at least one instance but has not reached a final state on all * instances.

  • Success: The command successfully ran on all * invocations. This is a terminal state.

  • Delivery Timed Out: The * value of MaxErrors or more command invocations shows a status of Delivery Timed * Out. This is a terminal state.

  • Execution Timed Out: The value * of MaxErrors or more command invocations shows a status of Execution Timed Out. * This is a terminal state.

  • Failed: The value of MaxErrors or * more command invocations shows a status of Failed. This is a terminal state.

    *
  • Incomplete: The command was attempted on all instances and one or * more invocations does not have a value of Success but not enough invocations * failed for the status to be Failed. This is a terminal state.

  • *

    Canceled: The command was terminated before it was completed. This is a * terminal state.

  • Rate Exceeded: The number of instances * targeted by the command exceeded the account limit for pending invocations. The * system has canceled the command before running it on any instance. This is a * terminal state.

*/ inline Command& WithStatusDetails(const char* value) { SetStatusDetails(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 Command& 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 Command& 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 Command& WithOutputS3Region(const char* value) { SetOutputS3Region(value); return *this;} /** *

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The maximum number of errors allowed before the system stops sending the * command to additional targets. You can specify a number of errors, such as 10, * or a percentage or errors, such as 10%. The default value is 0. For more * information about how to use MaxErrors, see Running * commands using Systems Manager Run Command in the AWS Systems Manager * User Guide.

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

The maximum number of errors allowed before the system stops sending the * command to additional targets. You can specify a number of errors, such as 10, * or a percentage or errors, such as 10%. The default value is 0. For more * information about how to use MaxErrors, see Running * commands using Systems Manager Run Command in the AWS Systems Manager * User Guide.

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

The maximum number of errors allowed before the system stops sending the * command to additional targets. You can specify a number of errors, such as 10, * or a percentage or errors, such as 10%. The default value is 0. For more * information about how to use MaxErrors, see Running * commands using Systems Manager Run Command 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 before the system stops sending the * command to additional targets. You can specify a number of errors, such as 10, * or a percentage or errors, such as 10%. The default value is 0. For more * information about how to use MaxErrors, see Running * commands using Systems Manager Run Command 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 before the system stops sending the * command to additional targets. You can specify a number of errors, such as 10, * or a percentage or errors, such as 10%. The default value is 0. For more * information about how to use MaxErrors, see Running * commands using Systems Manager Run Command 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 before the system stops sending the * command to additional targets. You can specify a number of errors, such as 10, * or a percentage or errors, such as 10%. The default value is 0. For more * information about how to use MaxErrors, see Running * commands using Systems Manager Run Command in the AWS Systems Manager * User Guide.

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

The maximum number of errors allowed before the system stops sending the * command to additional targets. You can specify a number of errors, such as 10, * or a percentage or errors, such as 10%. The default value is 0. For more * information about how to use MaxErrors, see Running * commands using Systems Manager Run Command in the AWS Systems Manager * User Guide.

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

The maximum number of errors allowed before the system stops sending the * command to additional targets. You can specify a number of errors, such as 10, * or a percentage or errors, such as 10%. The default value is 0. For more * information about how to use MaxErrors, see Running * commands using Systems Manager Run Command in the AWS Systems Manager * User Guide.

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

The number of targets for the command.

*/ inline int GetTargetCount() const{ return m_targetCount; } /** *

The number of targets for the command.

*/ inline bool TargetCountHasBeenSet() const { return m_targetCountHasBeenSet; } /** *

The number of targets for the command.

*/ inline void SetTargetCount(int value) { m_targetCountHasBeenSet = true; m_targetCount = value; } /** *

The number of targets for the command.

*/ inline Command& WithTargetCount(int value) { SetTargetCount(value); return *this;} /** *

The number of targets for which the command invocation reached a terminal * state. Terminal states include the following: Success, Failed, Execution Timed * Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.

*/ inline int GetCompletedCount() const{ return m_completedCount; } /** *

The number of targets for which the command invocation reached a terminal * state. Terminal states include the following: Success, Failed, Execution Timed * Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.

*/ inline bool CompletedCountHasBeenSet() const { return m_completedCountHasBeenSet; } /** *

The number of targets for which the command invocation reached a terminal * state. Terminal states include the following: Success, Failed, Execution Timed * Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.

*/ inline void SetCompletedCount(int value) { m_completedCountHasBeenSet = true; m_completedCount = value; } /** *

The number of targets for which the command invocation reached a terminal * state. Terminal states include the following: Success, Failed, Execution Timed * Out, Delivery Timed Out, Canceled, Terminated, or Undeliverable.

*/ inline Command& WithCompletedCount(int value) { SetCompletedCount(value); return *this;} /** *

The number of targets for which the status is Failed or Execution Timed * Out.

*/ inline int GetErrorCount() const{ return m_errorCount; } /** *

The number of targets for which the status is Failed or Execution Timed * Out.

*/ inline bool ErrorCountHasBeenSet() const { return m_errorCountHasBeenSet; } /** *

The number of targets for which the status is Failed or Execution Timed * Out.

*/ inline void SetErrorCount(int value) { m_errorCountHasBeenSet = true; m_errorCount = value; } /** *

The number of targets for which the status is Failed or Execution Timed * Out.

*/ inline Command& WithErrorCount(int value) { SetErrorCount(value); return *this;} /** *

The number of targets for which the status is Delivery Timed Out.

*/ inline int GetDeliveryTimedOutCount() const{ return m_deliveryTimedOutCount; } /** *

The number of targets for which the status is Delivery Timed Out.

*/ inline bool DeliveryTimedOutCountHasBeenSet() const { return m_deliveryTimedOutCountHasBeenSet; } /** *

The number of targets for which the status is Delivery Timed Out.

*/ inline void SetDeliveryTimedOutCount(int value) { m_deliveryTimedOutCountHasBeenSet = true; m_deliveryTimedOutCount = value; } /** *

The number of targets for which the status is Delivery Timed Out.

*/ inline Command& WithDeliveryTimedOutCount(int value) { SetDeliveryTimedOutCount(value); return *this;} /** *

The IAM service role that Run Command uses to act on your behalf when sending * notifications about command status changes.

*/ inline const Aws::String& GetServiceRole() const{ return m_serviceRole; } /** *

The IAM service role that Run Command uses to act on your behalf when sending * notifications about command status changes.

*/ inline bool ServiceRoleHasBeenSet() const { return m_serviceRoleHasBeenSet; } /** *

The IAM service role that Run Command uses to act on your behalf when sending * notifications about command status changes.

*/ inline void SetServiceRole(const Aws::String& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = value; } /** *

The IAM service role that Run Command uses to act on your behalf when sending * notifications about command status changes.

*/ inline void SetServiceRole(Aws::String&& value) { m_serviceRoleHasBeenSet = true; m_serviceRole = std::move(value); } /** *

The IAM service role that Run Command uses to act on your behalf when sending * notifications about command status changes.

*/ inline void SetServiceRole(const char* value) { m_serviceRoleHasBeenSet = true; m_serviceRole.assign(value); } /** *

The IAM service role that Run Command uses to act on your behalf when sending * notifications about command status changes.

*/ inline Command& WithServiceRole(const Aws::String& value) { SetServiceRole(value); return *this;} /** *

The IAM service role that Run Command uses to act on your behalf when sending * notifications about command status changes.

*/ inline Command& WithServiceRole(Aws::String&& value) { SetServiceRole(std::move(value)); return *this;} /** *

The IAM service role that Run Command uses to act on your behalf when sending * notifications about command status changes.

*/ inline Command& WithServiceRole(const char* value) { SetServiceRole(value); return *this;} /** *

Configurations for sending notifications about command status changes.

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

Configurations for sending notifications about command status changes.

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

Configurations for sending notifications about command status changes.

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

Configurations for sending notifications about command status changes.

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

Configurations for sending notifications about command status changes.

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

Configurations for sending notifications about command status changes.

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

CloudWatch Logs information where you want Systems Manager to send the * command output.

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

CloudWatch Logs information where you want Systems Manager to send the * command output.

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

CloudWatch Logs information where you want Systems Manager to send the * command output.

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

CloudWatch Logs information where you want Systems Manager to send the * command output.

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

CloudWatch Logs information where you want Systems Manager to send the * command output.

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

CloudWatch Logs information where you want Systems Manager to send the * command output.

*/ inline Command& WithCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { SetCloudWatchOutputConfig(std::move(value)); return *this;} /** *

The TimeoutSeconds value specified for a command.

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

The TimeoutSeconds value specified for a command.

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

The TimeoutSeconds value specified for a command.

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

The TimeoutSeconds value specified for a command.

*/ inline Command& WithTimeoutSeconds(int value) { SetTimeoutSeconds(value); return *this;} private: Aws::String m_commandId; bool m_commandIdHasBeenSet; Aws::String m_documentName; bool m_documentNameHasBeenSet; Aws::String m_documentVersion; bool m_documentVersionHasBeenSet; Aws::String m_comment; bool m_commentHasBeenSet; Aws::Utils::DateTime m_expiresAfter; bool m_expiresAfterHasBeenSet; Aws::Map> m_parameters; bool m_parametersHasBeenSet; Aws::Vector m_instanceIds; bool m_instanceIdsHasBeenSet; Aws::Vector m_targets; bool m_targetsHasBeenSet; Aws::Utils::DateTime m_requestedDateTime; bool m_requestedDateTimeHasBeenSet; CommandStatus m_status; bool m_statusHasBeenSet; Aws::String m_statusDetails; bool m_statusDetailsHasBeenSet; 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; int m_targetCount; bool m_targetCountHasBeenSet; int m_completedCount; bool m_completedCountHasBeenSet; int m_errorCount; bool m_errorCountHasBeenSet; int m_deliveryTimedOutCount; bool m_deliveryTimedOutCountHasBeenSet; Aws::String m_serviceRole; bool m_serviceRoleHasBeenSet; NotificationConfig m_notificationConfig; bool m_notificationConfigHasBeenSet; CloudWatchOutputConfig m_cloudWatchOutputConfig; bool m_cloudWatchOutputConfigHasBeenSet; int m_timeoutSeconds; bool m_timeoutSecondsHasBeenSet; }; } // namespace Model } // namespace SSM } // namespace Aws