/** * 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 #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 Command { public: AWS_SSM_API Command(); AWS_SSM_API Command(Aws::Utils::Json::JsonView jsonValue); AWS_SSM_API Command& operator=(Aws::Utils::Json::JsonView jsonValue); AWS_SSM_API 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 Systems Manager document (SSM document) version.

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

The Systems Manager document (SSM document) version.

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

The Systems Manager document (SSM document) version.

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

The Systems Manager document (SSM document) version.

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

The Systems Manager document (SSM document) version.

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

The Systems Manager document (SSM document) version.

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

The Systems Manager document (SSM document) version.

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

The Systems Manager document (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 a command expires, it changes status to DeliveryTimedOut for * all invocations that have the status InProgress, * Pending, or Delayed. ExpiresAfter is * calculated based on the total timeout for the overall command. For more * information, see Understanding * command timeout values in the Amazon Web Services Systems Manager User * Guide.

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

If a command expires, it changes status to DeliveryTimedOut for * all invocations that have the status InProgress, * Pending, or Delayed. ExpiresAfter is * calculated based on the total timeout for the overall command. For more * information, see Understanding * command timeout values in the Amazon Web Services Systems Manager User * Guide.

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

If a command expires, it changes status to DeliveryTimedOut for * all invocations that have the status InProgress, * Pending, or Delayed. ExpiresAfter is * calculated based on the total timeout for the overall command. For more * information, see Understanding * command timeout values in the Amazon Web Services Systems Manager User * Guide.

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

If a command expires, it changes status to DeliveryTimedOut for * all invocations that have the status InProgress, * Pending, or Delayed. ExpiresAfter is * calculated based on the total timeout for the overall command. For more * information, see Understanding * command timeout values in the Amazon Web Services Systems Manager User * Guide.

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

If a command expires, it changes status to DeliveryTimedOut for * all invocations that have the status InProgress, * Pending, or Delayed. ExpiresAfter is * calculated based on the total timeout for the overall command. For more * information, see Understanding * command timeout values in the Amazon Web Services Systems Manager User * Guide.

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

If a command expires, it changes status to DeliveryTimedOut for * all invocations that have the status InProgress, * Pending, or Delayed. ExpiresAfter is * calculated based on the total timeout for the overall command. For more * information, see Understanding * command timeout values in the Amazon Web Services Systems Manager User * Guide.

*/ 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 managed node IDs against which this command was requested.

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

The managed node IDs against which this command was requested.

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

The managed node IDs against which this command was requested.

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

The managed node IDs against which this command was requested.

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

The managed node IDs against which this command was requested.

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

The managed node IDs against which this command was requested.

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

The managed node 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 managed node 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 managed node 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 managed nodes using a Key,Value * combination that you specify. Targets is required if you don't provide one or * more managed node IDs in the call.

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

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

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

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

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

An array of search criteria that targets managed nodes using a Key,Value * combination that you specify. Targets is required if you don't provide one or * more managed node 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 managed nodes using a Key,Value * combination that you specify. Targets is required if you don't provide one or * more managed node IDs in the call.

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

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

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

An array of search criteria that targets managed nodes using a Key,Value * combination that you specify. Targets is required if you don't provide one or * more managed node 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 managed nodes using a Key,Value * combination that you specify. Targets is required if you don't provide one or * more managed node 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 Amazon Web Services Systems Manager User * Guide. StatusDetails can be one of the following values:

  • *

    Pending: The command hasn't been sent to any managed nodes.

  • *

    In Progress: The command has been sent to at least one managed node but * hasn't reached a final state on all managed nodes.

  • 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 managed nodes and one or more invocations doesn't * have a value of Success but not enough invocations failed for the status to be * Failed. This is a terminal state.

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

  • *

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

  • *

    Delayed: The system attempted to send the command to the managed node but * wasn't successful. The system retries again.

*/ 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 Amazon Web Services Systems Manager User * Guide. StatusDetails can be one of the following values:

  • *

    Pending: The command hasn't been sent to any managed nodes.

  • *

    In Progress: The command has been sent to at least one managed node but * hasn't reached a final state on all managed nodes.

  • 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 managed nodes and one or more invocations doesn't * have a value of Success but not enough invocations failed for the status to be * Failed. This is a terminal state.

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

  • *

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

  • *

    Delayed: The system attempted to send the command to the managed node but * wasn't successful. The system retries again.

*/ 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 Amazon Web Services Systems Manager User * Guide. StatusDetails can be one of the following values:

  • *

    Pending: The command hasn't been sent to any managed nodes.

  • *

    In Progress: The command has been sent to at least one managed node but * hasn't reached a final state on all managed nodes.

  • 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 managed nodes and one or more invocations doesn't * have a value of Success but not enough invocations failed for the status to be * Failed. This is a terminal state.

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

  • *

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

  • *

    Delayed: The system attempted to send the command to the managed node but * wasn't successful. The system retries again.

*/ 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 Amazon Web Services Systems Manager User * Guide. StatusDetails can be one of the following values:

  • *

    Pending: The command hasn't been sent to any managed nodes.

  • *

    In Progress: The command has been sent to at least one managed node but * hasn't reached a final state on all managed nodes.

  • 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 managed nodes and one or more invocations doesn't * have a value of Success but not enough invocations failed for the status to be * Failed. This is a terminal state.

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

  • *

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

  • *

    Delayed: The system attempted to send the command to the managed node but * wasn't successful. The system retries again.

*/ 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 Amazon Web Services Systems Manager User * Guide. StatusDetails can be one of the following values:

  • *

    Pending: The command hasn't been sent to any managed nodes.

  • *

    In Progress: The command has been sent to at least one managed node but * hasn't reached a final state on all managed nodes.

  • 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 managed nodes and one or more invocations doesn't * have a value of Success but not enough invocations failed for the status to be * Failed. This is a terminal state.

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

  • *

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

  • *

    Delayed: The system attempted to send the command to the managed node but * wasn't successful. The system retries again.

*/ 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 Amazon Web Services Systems Manager User * Guide. StatusDetails can be one of the following values:

  • *

    Pending: The command hasn't been sent to any managed nodes.

  • *

    In Progress: The command has been sent to at least one managed node but * hasn't reached a final state on all managed nodes.

  • 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 managed nodes and one or more invocations doesn't * have a value of Success but not enough invocations failed for the status to be * Failed. This is a terminal state.

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

  • *

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

  • *

    Delayed: The system attempted to send the command to the managed node but * wasn't successful. The system retries again.

*/ 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 Amazon Web Services Systems Manager User * Guide. StatusDetails can be one of the following values:

  • *

    Pending: The command hasn't been sent to any managed nodes.

  • *

    In Progress: The command has been sent to at least one managed node but * hasn't reached a final state on all managed nodes.

  • 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 managed nodes and one or more invocations doesn't * have a value of Success but not enough invocations failed for the status to be * Failed. This is a terminal state.

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

  • *

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

  • *

    Delayed: The system attempted to send the command to the managed node but * wasn't successful. The system retries again.

*/ 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 Amazon Web Services Systems Manager User * Guide. StatusDetails can be one of the following values:

  • *

    Pending: The command hasn't been sent to any managed nodes.

  • *

    In Progress: The command has been sent to at least one managed node but * hasn't reached a final state on all managed nodes.

  • 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 managed nodes and one or more invocations doesn't * have a value of Success but not enough invocations failed for the status to be * Failed. This is a terminal state.

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

  • *

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

  • *

    Delayed: The system attempted to send the command to the managed node but * wasn't successful. The system retries again.

*/ 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 managed nodes that are allowed to run the command at * the same time. You can specify a number of managed nodes, such as 10, or a * percentage of nodes, 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 Amazon Web Services * Systems Manager User Guide.

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

The maximum number of managed nodes that are allowed to run the command at * the same time. You can specify a number of managed nodes, such as 10, or a * percentage of nodes, 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 Amazon Web Services * Systems Manager User Guide.

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

The maximum number of managed nodes that are allowed to run the command at * the same time. You can specify a number of managed nodes, such as 10, or a * percentage of nodes, 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 Amazon Web Services * Systems Manager User Guide.

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

The maximum number of managed nodes that are allowed to run the command at * the same time. You can specify a number of managed nodes, such as 10, or a * percentage of nodes, 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 Amazon Web Services * Systems Manager User Guide.

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

The maximum number of managed nodes that are allowed to run the command at * the same time. You can specify a number of managed nodes, such as 10, or a * percentage of nodes, 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 Amazon Web Services * Systems Manager User Guide.

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

The maximum number of managed nodes that are allowed to run the command at * the same time. You can specify a number of managed nodes, such as 10, or a * percentage of nodes, 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 Amazon Web Services * Systems Manager User Guide.

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

The maximum number of managed nodes that are allowed to run the command at * the same time. You can specify a number of managed nodes, such as 10, or a * percentage of nodes, 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 Amazon Web Services * Systems Manager User Guide.

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

The maximum number of managed nodes that are allowed to run the command at * the same time. You can specify a number of managed nodes, such as 10, or a * percentage of nodes, 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 Amazon Web Services * 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 Amazon Web Services * 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 Amazon Web Services * 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 Amazon Web Services * 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 Amazon Web Services * 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 Amazon Web Services * 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 Amazon Web Services * 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 Amazon Web Services * 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 Amazon Web Services * 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, Cancelled, 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, Cancelled, 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, Cancelled, 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, Cancelled, 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 Identity and Access Management (IAM) service role that Run Command, a * capability of Amazon Web Services Systems Manager, uses to act on your behalf * when sending notifications about command status changes.

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

The Identity and Access Management (IAM) service role that Run Command, a * capability of Amazon Web Services Systems Manager, uses to act on your behalf * when sending notifications about command status changes.

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

The Identity and Access Management (IAM) service role that Run Command, a * capability of Amazon Web Services Systems Manager, 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 Identity and Access Management (IAM) service role that Run Command, a * capability of Amazon Web Services Systems Manager, 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 Identity and Access Management (IAM) service role that Run Command, a * capability of Amazon Web Services Systems Manager, 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 Identity and Access Management (IAM) service role that Run Command, a * capability of Amazon Web Services Systems Manager, 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 Identity and Access Management (IAM) service role that Run Command, a * capability of Amazon Web Services Systems Manager, 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 Identity and Access Management (IAM) service role that Run Command, a * capability of Amazon Web Services Systems Manager, 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;} /** *

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

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

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

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

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

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

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

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

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

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

Amazon CloudWatch Logs information where you want Amazon Web Services 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;} /** *

The details for the CloudWatch alarm applied to your command.

*/ inline const AlarmConfiguration& GetAlarmConfiguration() const{ return m_alarmConfiguration; } /** *

The details for the CloudWatch alarm applied to your command.

*/ inline bool AlarmConfigurationHasBeenSet() const { return m_alarmConfigurationHasBeenSet; } /** *

The details for the CloudWatch alarm applied to your command.

*/ inline void SetAlarmConfiguration(const AlarmConfiguration& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = value; } /** *

The details for the CloudWatch alarm applied to your command.

*/ inline void SetAlarmConfiguration(AlarmConfiguration&& value) { m_alarmConfigurationHasBeenSet = true; m_alarmConfiguration = std::move(value); } /** *

The details for the CloudWatch alarm applied to your command.

*/ inline Command& WithAlarmConfiguration(const AlarmConfiguration& value) { SetAlarmConfiguration(value); return *this;} /** *

The details for the CloudWatch alarm applied to your command.

*/ inline Command& WithAlarmConfiguration(AlarmConfiguration&& value) { SetAlarmConfiguration(std::move(value)); return *this;} /** *

The CloudWatch alarm that was invoked by the command.

*/ inline const Aws::Vector& GetTriggeredAlarms() const{ return m_triggeredAlarms; } /** *

The CloudWatch alarm that was invoked by the command.

*/ inline bool TriggeredAlarmsHasBeenSet() const { return m_triggeredAlarmsHasBeenSet; } /** *

The CloudWatch alarm that was invoked by the command.

*/ inline void SetTriggeredAlarms(const Aws::Vector& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = value; } /** *

The CloudWatch alarm that was invoked by the command.

*/ inline void SetTriggeredAlarms(Aws::Vector&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms = std::move(value); } /** *

The CloudWatch alarm that was invoked by the command.

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

The CloudWatch alarm that was invoked by the command.

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

The CloudWatch alarm that was invoked by the command.

*/ inline Command& AddTriggeredAlarms(const AlarmStateInformation& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(value); return *this; } /** *

The CloudWatch alarm that was invoked by the command.

*/ inline Command& AddTriggeredAlarms(AlarmStateInformation&& value) { m_triggeredAlarmsHasBeenSet = true; m_triggeredAlarms.push_back(std::move(value)); return *this; } private: Aws::String m_commandId; bool m_commandIdHasBeenSet = false; Aws::String m_documentName; bool m_documentNameHasBeenSet = false; Aws::String m_documentVersion; bool m_documentVersionHasBeenSet = false; Aws::String m_comment; bool m_commentHasBeenSet = false; Aws::Utils::DateTime m_expiresAfter; bool m_expiresAfterHasBeenSet = false; Aws::Map> m_parameters; bool m_parametersHasBeenSet = false; Aws::Vector m_instanceIds; bool m_instanceIdsHasBeenSet = false; Aws::Vector m_targets; bool m_targetsHasBeenSet = false; Aws::Utils::DateTime m_requestedDateTime; bool m_requestedDateTimeHasBeenSet = false; CommandStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_statusDetails; bool m_statusDetailsHasBeenSet = false; Aws::String m_outputS3Region; bool m_outputS3RegionHasBeenSet = false; Aws::String m_outputS3BucketName; bool m_outputS3BucketNameHasBeenSet = false; Aws::String m_outputS3KeyPrefix; bool m_outputS3KeyPrefixHasBeenSet = false; Aws::String m_maxConcurrency; bool m_maxConcurrencyHasBeenSet = false; Aws::String m_maxErrors; bool m_maxErrorsHasBeenSet = false; int m_targetCount; bool m_targetCountHasBeenSet = false; int m_completedCount; bool m_completedCountHasBeenSet = false; int m_errorCount; bool m_errorCountHasBeenSet = false; int m_deliveryTimedOutCount; bool m_deliveryTimedOutCountHasBeenSet = false; Aws::String m_serviceRole; bool m_serviceRoleHasBeenSet = false; NotificationConfig m_notificationConfig; bool m_notificationConfigHasBeenSet = false; CloudWatchOutputConfig m_cloudWatchOutputConfig; bool m_cloudWatchOutputConfigHasBeenSet = false; int m_timeoutSeconds; bool m_timeoutSecondsHasBeenSet = false; AlarmConfiguration m_alarmConfiguration; bool m_alarmConfigurationHasBeenSet = false; Aws::Vector m_triggeredAlarms; bool m_triggeredAlarmsHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws