/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include namespace Aws { template class AmazonWebServiceResult; namespace Utils { namespace Json { class JsonValue; } // namespace Json } // namespace Utils namespace SSM { namespace Model { class GetCommandInvocationResult { public: AWS_SSM_API GetCommandInvocationResult(); AWS_SSM_API GetCommandInvocationResult(const Aws::AmazonWebServiceResult& result); AWS_SSM_API GetCommandInvocationResult& operator=(const Aws::AmazonWebServiceResult& result); /** *

The parent command ID of the invocation plugin.

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

The parent command ID of the invocation plugin.

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

The parent command ID of the invocation plugin.

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

The parent command ID of the invocation plugin.

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

The parent command ID of the invocation plugin.

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

The parent command ID of the invocation plugin.

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

The parent command ID of the invocation plugin.

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

The ID of the managed node targeted by the command. A managed node can * be an Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, or * on-premises server or VM in your hybrid environment that is configured for * Amazon Web Services Systems Manager.

*/ inline const Aws::String& GetInstanceId() const{ return m_instanceId; } /** *

The ID of the managed node targeted by the command. A managed node can * be an Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, or * on-premises server or VM in your hybrid environment that is configured for * Amazon Web Services Systems Manager.

*/ inline void SetInstanceId(const Aws::String& value) { m_instanceId = value; } /** *

The ID of the managed node targeted by the command. A managed node can * be an Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, or * on-premises server or VM in your hybrid environment that is configured for * Amazon Web Services Systems Manager.

*/ inline void SetInstanceId(Aws::String&& value) { m_instanceId = std::move(value); } /** *

The ID of the managed node targeted by the command. A managed node can * be an Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, or * on-premises server or VM in your hybrid environment that is configured for * Amazon Web Services Systems Manager.

*/ inline void SetInstanceId(const char* value) { m_instanceId.assign(value); } /** *

The ID of the managed node targeted by the command. A managed node can * be an Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, or * on-premises server or VM in your hybrid environment that is configured for * Amazon Web Services Systems Manager.

*/ inline GetCommandInvocationResult& WithInstanceId(const Aws::String& value) { SetInstanceId(value); return *this;} /** *

The ID of the managed node targeted by the command. A managed node can * be an Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, or * on-premises server or VM in your hybrid environment that is configured for * Amazon Web Services Systems Manager.

*/ inline GetCommandInvocationResult& WithInstanceId(Aws::String&& value) { SetInstanceId(std::move(value)); return *this;} /** *

The ID of the managed node targeted by the command. A managed node can * be an Amazon Elastic Compute Cloud (Amazon EC2) instance, edge device, or * on-premises server or VM in your hybrid environment that is configured for * Amazon Web Services Systems Manager.

*/ inline GetCommandInvocationResult& WithInstanceId(const char* value) { SetInstanceId(value); return *this;} /** *

The comment text for the command.

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

The comment text for the command.

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

The comment text for the command.

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

The comment text for the command.

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

The comment text for the command.

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

The comment text for the command.

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

The comment text for the command.

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

The name of the document that was run. For example, * AWS-RunShellScript.

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

The name of the document that was run. For example, * AWS-RunShellScript.

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

The name of the document that was run. For example, * AWS-RunShellScript.

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

The name of the document that was run. For example, * AWS-RunShellScript.

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

The name of the document that was run. For example, * AWS-RunShellScript.

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

The name of the document that was run. For example, * AWS-RunShellScript.

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

The name of the document that was run. For example, * AWS-RunShellScript.

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

The Systems Manager document (SSM document) version used in the request.

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

The Systems Manager document (SSM document) version used in the request.

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

The Systems Manager document (SSM document) version used in the request.

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

The Systems Manager document (SSM document) version used in the request.

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

The Systems Manager document (SSM document) version used in the request.

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

The Systems Manager document (SSM document) version used in the request.

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

The Systems Manager document (SSM document) version used in the request.

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

The name of the plugin, or step name, for which details are reported. * For example, aws:RunShellScript is a plugin.

*/ inline const Aws::String& GetPluginName() const{ return m_pluginName; } /** *

The name of the plugin, or step name, for which details are reported. * For example, aws:RunShellScript is a plugin.

*/ inline void SetPluginName(const Aws::String& value) { m_pluginName = value; } /** *

The name of the plugin, or step name, for which details are reported. * For example, aws:RunShellScript is a plugin.

*/ inline void SetPluginName(Aws::String&& value) { m_pluginName = std::move(value); } /** *

The name of the plugin, or step name, for which details are reported. * For example, aws:RunShellScript is a plugin.

*/ inline void SetPluginName(const char* value) { m_pluginName.assign(value); } /** *

The name of the plugin, or step name, for which details are reported. * For example, aws:RunShellScript is a plugin.

*/ inline GetCommandInvocationResult& WithPluginName(const Aws::String& value) { SetPluginName(value); return *this;} /** *

The name of the plugin, or step name, for which details are reported. * For example, aws:RunShellScript is a plugin.

*/ inline GetCommandInvocationResult& WithPluginName(Aws::String&& value) { SetPluginName(std::move(value)); return *this;} /** *

The name of the plugin, or step name, for which details are reported. * For example, aws:RunShellScript is a plugin.

*/ inline GetCommandInvocationResult& WithPluginName(const char* value) { SetPluginName(value); return *this;} /** *

The error level response code for the plugin script. If the response code is * -1, then the command hasn't started running on the managed node, or * it wasn't received by the node.

*/ inline int GetResponseCode() const{ return m_responseCode; } /** *

The error level response code for the plugin script. If the response code is * -1, then the command hasn't started running on the managed node, or * it wasn't received by the node.

*/ inline void SetResponseCode(int value) { m_responseCode = value; } /** *

The error level response code for the plugin script. If the response code is * -1, then the command hasn't started running on the managed node, or * it wasn't received by the node.

*/ inline GetCommandInvocationResult& WithResponseCode(int value) { SetResponseCode(value); return *this;} /** *

The date and time the plugin started running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedBefore filter.

aws ssm list-commands --filters * key=InvokedBefore,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline const Aws::String& GetExecutionStartDateTime() const{ return m_executionStartDateTime; } /** *

The date and time the plugin started running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedBefore filter.

aws ssm list-commands --filters * key=InvokedBefore,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline void SetExecutionStartDateTime(const Aws::String& value) { m_executionStartDateTime = value; } /** *

The date and time the plugin started running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedBefore filter.

aws ssm list-commands --filters * key=InvokedBefore,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline void SetExecutionStartDateTime(Aws::String&& value) { m_executionStartDateTime = std::move(value); } /** *

The date and time the plugin started running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedBefore filter.

aws ssm list-commands --filters * key=InvokedBefore,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline void SetExecutionStartDateTime(const char* value) { m_executionStartDateTime.assign(value); } /** *

The date and time the plugin started running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedBefore filter.

aws ssm list-commands --filters * key=InvokedBefore,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline GetCommandInvocationResult& WithExecutionStartDateTime(const Aws::String& value) { SetExecutionStartDateTime(value); return *this;} /** *

The date and time the plugin started running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedBefore filter.

aws ssm list-commands --filters * key=InvokedBefore,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline GetCommandInvocationResult& WithExecutionStartDateTime(Aws::String&& value) { SetExecutionStartDateTime(std::move(value)); return *this;} /** *

The date and time the plugin started running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedBefore filter.

aws ssm list-commands --filters * key=InvokedBefore,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline GetCommandInvocationResult& WithExecutionStartDateTime(const char* value) { SetExecutionStartDateTime(value); return *this;} /** *

Duration since ExecutionStartDateTime.

*/ inline const Aws::String& GetExecutionElapsedTime() const{ return m_executionElapsedTime; } /** *

Duration since ExecutionStartDateTime.

*/ inline void SetExecutionElapsedTime(const Aws::String& value) { m_executionElapsedTime = value; } /** *

Duration since ExecutionStartDateTime.

*/ inline void SetExecutionElapsedTime(Aws::String&& value) { m_executionElapsedTime = std::move(value); } /** *

Duration since ExecutionStartDateTime.

*/ inline void SetExecutionElapsedTime(const char* value) { m_executionElapsedTime.assign(value); } /** *

Duration since ExecutionStartDateTime.

*/ inline GetCommandInvocationResult& WithExecutionElapsedTime(const Aws::String& value) { SetExecutionElapsedTime(value); return *this;} /** *

Duration since ExecutionStartDateTime.

*/ inline GetCommandInvocationResult& WithExecutionElapsedTime(Aws::String&& value) { SetExecutionElapsedTime(std::move(value)); return *this;} /** *

Duration since ExecutionStartDateTime.

*/ inline GetCommandInvocationResult& WithExecutionElapsedTime(const char* value) { SetExecutionElapsedTime(value); return *this;} /** *

The date and time the plugin finished running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedAfter filter.

aws ssm list-commands --filters * key=InvokedAfter,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline const Aws::String& GetExecutionEndDateTime() const{ return m_executionEndDateTime; } /** *

The date and time the plugin finished running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedAfter filter.

aws ssm list-commands --filters * key=InvokedAfter,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline void SetExecutionEndDateTime(const Aws::String& value) { m_executionEndDateTime = value; } /** *

The date and time the plugin finished running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedAfter filter.

aws ssm list-commands --filters * key=InvokedAfter,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline void SetExecutionEndDateTime(Aws::String&& value) { m_executionEndDateTime = std::move(value); } /** *

The date and time the plugin finished running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedAfter filter.

aws ssm list-commands --filters * key=InvokedAfter,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline void SetExecutionEndDateTime(const char* value) { m_executionEndDateTime.assign(value); } /** *

The date and time the plugin finished running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedAfter filter.

aws ssm list-commands --filters * key=InvokedAfter,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline GetCommandInvocationResult& WithExecutionEndDateTime(const Aws::String& value) { SetExecutionEndDateTime(value); return *this;} /** *

The date and time the plugin finished running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedAfter filter.

aws ssm list-commands --filters * key=InvokedAfter,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline GetCommandInvocationResult& WithExecutionEndDateTime(Aws::String&& value) { SetExecutionEndDateTime(std::move(value)); return *this;} /** *

The date and time the plugin finished running. Date and time are written in * ISO 8601 format. For example, June 7, 2017 is represented as 2017-06-7. The * following sample Amazon Web Services CLI command uses the * InvokedAfter filter.

aws ssm list-commands --filters * key=InvokedAfter,value=2017-06-07T00:00:00Z

If the plugin hasn't * started to run, the string is empty.

*/ inline GetCommandInvocationResult& WithExecutionEndDateTime(const char* value) { SetExecutionEndDateTime(value); return *this;} /** *

The status of this invocation plugin. This status can be different than * StatusDetails.

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

The status of this invocation plugin. This status can be different than * StatusDetails.

*/ inline void SetStatus(const CommandInvocationStatus& value) { m_status = value; } /** *

The status of this invocation plugin. This status can be different than * StatusDetails.

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

The status of this invocation plugin. This status can be different than * StatusDetails.

*/ inline GetCommandInvocationResult& WithStatus(const CommandInvocationStatus& value) { SetStatus(value); return *this;} /** *

The status of this invocation plugin. This status can be different than * StatusDetails.

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

A detailed status of the command execution for an invocation. * 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 the managed node.

    *
  • In Progress: The command has been sent to the managed node but * hasn't reached a terminal state.

  • Delayed: The system attempted * to send the command to the target, but the target wasn't available. The managed * node might not be available because of network issues, because the node was * stopped, or for similar reasons. The system will try to send the command * again.

  • Success: The command or plugin ran successfully. This * is a terminal state.

  • Delivery Timed Out: The command wasn't * delivered to the managed node before the delivery timeout expired. Delivery * timeouts don't count against the parent command's MaxErrors limit, * but they do contribute to whether the parent command status is Success or * Incomplete. This is a terminal state.

  • Execution Timed Out: The * command started to run on the managed node, but the execution wasn't complete * before the timeout expired. Execution timeouts count against the * MaxErrors limit of the parent command. This is a terminal * state.

  • Failed: The command wasn't run successfully on the * managed node. For a plugin, this indicates that the result code wasn't zero. For * a command invocation, this indicates that the result code for one or more * plugins wasn't zero. Invocation failures count against the * MaxErrors limit of the parent command. This is a terminal * state.

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

  • Undeliverable: The * command can't be delivered to the managed node. The node might not exist or * might not be responding. Undeliverable invocations don't count against the * parent command's MaxErrors limit and don't contribute to whether * the parent command status is Success or Incomplete. This is a terminal * state.

  • Terminated: The parent command exceeded its * MaxErrors limit and subsequent command invocations were canceled by * the system. This is a terminal state.

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

A detailed status of the command execution for an invocation. * 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 the managed node.

    *
  • In Progress: The command has been sent to the managed node but * hasn't reached a terminal state.

  • Delayed: The system attempted * to send the command to the target, but the target wasn't available. The managed * node might not be available because of network issues, because the node was * stopped, or for similar reasons. The system will try to send the command * again.

  • Success: The command or plugin ran successfully. This * is a terminal state.

  • Delivery Timed Out: The command wasn't * delivered to the managed node before the delivery timeout expired. Delivery * timeouts don't count against the parent command's MaxErrors limit, * but they do contribute to whether the parent command status is Success or * Incomplete. This is a terminal state.

  • Execution Timed Out: The * command started to run on the managed node, but the execution wasn't complete * before the timeout expired. Execution timeouts count against the * MaxErrors limit of the parent command. This is a terminal * state.

  • Failed: The command wasn't run successfully on the * managed node. For a plugin, this indicates that the result code wasn't zero. For * a command invocation, this indicates that the result code for one or more * plugins wasn't zero. Invocation failures count against the * MaxErrors limit of the parent command. This is a terminal * state.

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

  • Undeliverable: The * command can't be delivered to the managed node. The node might not exist or * might not be responding. Undeliverable invocations don't count against the * parent command's MaxErrors limit and don't contribute to whether * the parent command status is Success or Incomplete. This is a terminal * state.

  • Terminated: The parent command exceeded its * MaxErrors limit and subsequent command invocations were canceled by * the system. This is a terminal state.

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

A detailed status of the command execution for an invocation. * 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 the managed node.

    *
  • In Progress: The command has been sent to the managed node but * hasn't reached a terminal state.

  • Delayed: The system attempted * to send the command to the target, but the target wasn't available. The managed * node might not be available because of network issues, because the node was * stopped, or for similar reasons. The system will try to send the command * again.

  • Success: The command or plugin ran successfully. This * is a terminal state.

  • Delivery Timed Out: The command wasn't * delivered to the managed node before the delivery timeout expired. Delivery * timeouts don't count against the parent command's MaxErrors limit, * but they do contribute to whether the parent command status is Success or * Incomplete. This is a terminal state.

  • Execution Timed Out: The * command started to run on the managed node, but the execution wasn't complete * before the timeout expired. Execution timeouts count against the * MaxErrors limit of the parent command. This is a terminal * state.

  • Failed: The command wasn't run successfully on the * managed node. For a plugin, this indicates that the result code wasn't zero. For * a command invocation, this indicates that the result code for one or more * plugins wasn't zero. Invocation failures count against the * MaxErrors limit of the parent command. This is a terminal * state.

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

  • Undeliverable: The * command can't be delivered to the managed node. The node might not exist or * might not be responding. Undeliverable invocations don't count against the * parent command's MaxErrors limit and don't contribute to whether * the parent command status is Success or Incomplete. This is a terminal * state.

  • Terminated: The parent command exceeded its * MaxErrors limit and subsequent command invocations were canceled by * the system. This is a terminal state.

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

A detailed status of the command execution for an invocation. * 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 the managed node.

    *
  • In Progress: The command has been sent to the managed node but * hasn't reached a terminal state.

  • Delayed: The system attempted * to send the command to the target, but the target wasn't available. The managed * node might not be available because of network issues, because the node was * stopped, or for similar reasons. The system will try to send the command * again.

  • Success: The command or plugin ran successfully. This * is a terminal state.

  • Delivery Timed Out: The command wasn't * delivered to the managed node before the delivery timeout expired. Delivery * timeouts don't count against the parent command's MaxErrors limit, * but they do contribute to whether the parent command status is Success or * Incomplete. This is a terminal state.

  • Execution Timed Out: The * command started to run on the managed node, but the execution wasn't complete * before the timeout expired. Execution timeouts count against the * MaxErrors limit of the parent command. This is a terminal * state.

  • Failed: The command wasn't run successfully on the * managed node. For a plugin, this indicates that the result code wasn't zero. For * a command invocation, this indicates that the result code for one or more * plugins wasn't zero. Invocation failures count against the * MaxErrors limit of the parent command. This is a terminal * state.

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

  • Undeliverable: The * command can't be delivered to the managed node. The node might not exist or * might not be responding. Undeliverable invocations don't count against the * parent command's MaxErrors limit and don't contribute to whether * the parent command status is Success or Incomplete. This is a terminal * state.

  • Terminated: The parent command exceeded its * MaxErrors limit and subsequent command invocations were canceled by * the system. This is a terminal state.

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

A detailed status of the command execution for an invocation. * 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 the managed node.

    *
  • In Progress: The command has been sent to the managed node but * hasn't reached a terminal state.

  • Delayed: The system attempted * to send the command to the target, but the target wasn't available. The managed * node might not be available because of network issues, because the node was * stopped, or for similar reasons. The system will try to send the command * again.

  • Success: The command or plugin ran successfully. This * is a terminal state.

  • Delivery Timed Out: The command wasn't * delivered to the managed node before the delivery timeout expired. Delivery * timeouts don't count against the parent command's MaxErrors limit, * but they do contribute to whether the parent command status is Success or * Incomplete. This is a terminal state.

  • Execution Timed Out: The * command started to run on the managed node, but the execution wasn't complete * before the timeout expired. Execution timeouts count against the * MaxErrors limit of the parent command. This is a terminal * state.

  • Failed: The command wasn't run successfully on the * managed node. For a plugin, this indicates that the result code wasn't zero. For * a command invocation, this indicates that the result code for one or more * plugins wasn't zero. Invocation failures count against the * MaxErrors limit of the parent command. This is a terminal * state.

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

  • Undeliverable: The * command can't be delivered to the managed node. The node might not exist or * might not be responding. Undeliverable invocations don't count against the * parent command's MaxErrors limit and don't contribute to whether * the parent command status is Success or Incomplete. This is a terminal * state.

  • Terminated: The parent command exceeded its * MaxErrors limit and subsequent command invocations were canceled by * the system. This is a terminal state.

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

A detailed status of the command execution for an invocation. * 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 the managed node.

    *
  • In Progress: The command has been sent to the managed node but * hasn't reached a terminal state.

  • Delayed: The system attempted * to send the command to the target, but the target wasn't available. The managed * node might not be available because of network issues, because the node was * stopped, or for similar reasons. The system will try to send the command * again.

  • Success: The command or plugin ran successfully. This * is a terminal state.

  • Delivery Timed Out: The command wasn't * delivered to the managed node before the delivery timeout expired. Delivery * timeouts don't count against the parent command's MaxErrors limit, * but they do contribute to whether the parent command status is Success or * Incomplete. This is a terminal state.

  • Execution Timed Out: The * command started to run on the managed node, but the execution wasn't complete * before the timeout expired. Execution timeouts count against the * MaxErrors limit of the parent command. This is a terminal * state.

  • Failed: The command wasn't run successfully on the * managed node. For a plugin, this indicates that the result code wasn't zero. For * a command invocation, this indicates that the result code for one or more * plugins wasn't zero. Invocation failures count against the * MaxErrors limit of the parent command. This is a terminal * state.

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

  • Undeliverable: The * command can't be delivered to the managed node. The node might not exist or * might not be responding. Undeliverable invocations don't count against the * parent command's MaxErrors limit and don't contribute to whether * the parent command status is Success or Incomplete. This is a terminal * state.

  • Terminated: The parent command exceeded its * MaxErrors limit and subsequent command invocations were canceled by * the system. This is a terminal state.

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

A detailed status of the command execution for an invocation. * 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 the managed node.

    *
  • In Progress: The command has been sent to the managed node but * hasn't reached a terminal state.

  • Delayed: The system attempted * to send the command to the target, but the target wasn't available. The managed * node might not be available because of network issues, because the node was * stopped, or for similar reasons. The system will try to send the command * again.

  • Success: The command or plugin ran successfully. This * is a terminal state.

  • Delivery Timed Out: The command wasn't * delivered to the managed node before the delivery timeout expired. Delivery * timeouts don't count against the parent command's MaxErrors limit, * but they do contribute to whether the parent command status is Success or * Incomplete. This is a terminal state.

  • Execution Timed Out: The * command started to run on the managed node, but the execution wasn't complete * before the timeout expired. Execution timeouts count against the * MaxErrors limit of the parent command. This is a terminal * state.

  • Failed: The command wasn't run successfully on the * managed node. For a plugin, this indicates that the result code wasn't zero. For * a command invocation, this indicates that the result code for one or more * plugins wasn't zero. Invocation failures count against the * MaxErrors limit of the parent command. This is a terminal * state.

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

  • Undeliverable: The * command can't be delivered to the managed node. The node might not exist or * might not be responding. Undeliverable invocations don't count against the * parent command's MaxErrors limit and don't contribute to whether * the parent command status is Success or Incomplete. This is a terminal * state.

  • Terminated: The parent command exceeded its * MaxErrors limit and subsequent command invocations were canceled by * the system. This is a terminal state.

*/ inline GetCommandInvocationResult& WithStatusDetails(const char* value) { SetStatusDetails(value); return *this;} /** *

The first 24,000 characters written by the plugin to stdout. If * the command hasn't finished running, if ExecutionStatus is neither * Succeeded nor Failed, then this string is empty.

*/ inline const Aws::String& GetStandardOutputContent() const{ return m_standardOutputContent; } /** *

The first 24,000 characters written by the plugin to stdout. If * the command hasn't finished running, if ExecutionStatus is neither * Succeeded nor Failed, then this string is empty.

*/ inline void SetStandardOutputContent(const Aws::String& value) { m_standardOutputContent = value; } /** *

The first 24,000 characters written by the plugin to stdout. If * the command hasn't finished running, if ExecutionStatus is neither * Succeeded nor Failed, then this string is empty.

*/ inline void SetStandardOutputContent(Aws::String&& value) { m_standardOutputContent = std::move(value); } /** *

The first 24,000 characters written by the plugin to stdout. If * the command hasn't finished running, if ExecutionStatus is neither * Succeeded nor Failed, then this string is empty.

*/ inline void SetStandardOutputContent(const char* value) { m_standardOutputContent.assign(value); } /** *

The first 24,000 characters written by the plugin to stdout. If * the command hasn't finished running, if ExecutionStatus is neither * Succeeded nor Failed, then this string is empty.

*/ inline GetCommandInvocationResult& WithStandardOutputContent(const Aws::String& value) { SetStandardOutputContent(value); return *this;} /** *

The first 24,000 characters written by the plugin to stdout. If * the command hasn't finished running, if ExecutionStatus is neither * Succeeded nor Failed, then this string is empty.

*/ inline GetCommandInvocationResult& WithStandardOutputContent(Aws::String&& value) { SetStandardOutputContent(std::move(value)); return *this;} /** *

The first 24,000 characters written by the plugin to stdout. If * the command hasn't finished running, if ExecutionStatus is neither * Succeeded nor Failed, then this string is empty.

*/ inline GetCommandInvocationResult& WithStandardOutputContent(const char* value) { SetStandardOutputContent(value); return *this;} /** *

The URL for the complete text written by the plugin to stdout in * Amazon Simple Storage Service (Amazon S3). If an S3 bucket wasn't specified, * then this string is empty.

*/ inline const Aws::String& GetStandardOutputUrl() const{ return m_standardOutputUrl; } /** *

The URL for the complete text written by the plugin to stdout in * Amazon Simple Storage Service (Amazon S3). If an S3 bucket wasn't specified, * then this string is empty.

*/ inline void SetStandardOutputUrl(const Aws::String& value) { m_standardOutputUrl = value; } /** *

The URL for the complete text written by the plugin to stdout in * Amazon Simple Storage Service (Amazon S3). If an S3 bucket wasn't specified, * then this string is empty.

*/ inline void SetStandardOutputUrl(Aws::String&& value) { m_standardOutputUrl = std::move(value); } /** *

The URL for the complete text written by the plugin to stdout in * Amazon Simple Storage Service (Amazon S3). If an S3 bucket wasn't specified, * then this string is empty.

*/ inline void SetStandardOutputUrl(const char* value) { m_standardOutputUrl.assign(value); } /** *

The URL for the complete text written by the plugin to stdout in * Amazon Simple Storage Service (Amazon S3). If an S3 bucket wasn't specified, * then this string is empty.

*/ inline GetCommandInvocationResult& WithStandardOutputUrl(const Aws::String& value) { SetStandardOutputUrl(value); return *this;} /** *

The URL for the complete text written by the plugin to stdout in * Amazon Simple Storage Service (Amazon S3). If an S3 bucket wasn't specified, * then this string is empty.

*/ inline GetCommandInvocationResult& WithStandardOutputUrl(Aws::String&& value) { SetStandardOutputUrl(std::move(value)); return *this;} /** *

The URL for the complete text written by the plugin to stdout in * Amazon Simple Storage Service (Amazon S3). If an S3 bucket wasn't specified, * then this string is empty.

*/ inline GetCommandInvocationResult& WithStandardOutputUrl(const char* value) { SetStandardOutputUrl(value); return *this;} /** *

The first 8,000 characters written by the plugin to stderr. If * the command hasn't finished running, then this string is empty.

*/ inline const Aws::String& GetStandardErrorContent() const{ return m_standardErrorContent; } /** *

The first 8,000 characters written by the plugin to stderr. If * the command hasn't finished running, then this string is empty.

*/ inline void SetStandardErrorContent(const Aws::String& value) { m_standardErrorContent = value; } /** *

The first 8,000 characters written by the plugin to stderr. If * the command hasn't finished running, then this string is empty.

*/ inline void SetStandardErrorContent(Aws::String&& value) { m_standardErrorContent = std::move(value); } /** *

The first 8,000 characters written by the plugin to stderr. If * the command hasn't finished running, then this string is empty.

*/ inline void SetStandardErrorContent(const char* value) { m_standardErrorContent.assign(value); } /** *

The first 8,000 characters written by the plugin to stderr. If * the command hasn't finished running, then this string is empty.

*/ inline GetCommandInvocationResult& WithStandardErrorContent(const Aws::String& value) { SetStandardErrorContent(value); return *this;} /** *

The first 8,000 characters written by the plugin to stderr. If * the command hasn't finished running, then this string is empty.

*/ inline GetCommandInvocationResult& WithStandardErrorContent(Aws::String&& value) { SetStandardErrorContent(std::move(value)); return *this;} /** *

The first 8,000 characters written by the plugin to stderr. If * the command hasn't finished running, then this string is empty.

*/ inline GetCommandInvocationResult& WithStandardErrorContent(const char* value) { SetStandardErrorContent(value); return *this;} /** *

The URL for the complete text written by the plugin to stderr. * If the command hasn't finished running, then this string is empty.

*/ inline const Aws::String& GetStandardErrorUrl() const{ return m_standardErrorUrl; } /** *

The URL for the complete text written by the plugin to stderr. * If the command hasn't finished running, then this string is empty.

*/ inline void SetStandardErrorUrl(const Aws::String& value) { m_standardErrorUrl = value; } /** *

The URL for the complete text written by the plugin to stderr. * If the command hasn't finished running, then this string is empty.

*/ inline void SetStandardErrorUrl(Aws::String&& value) { m_standardErrorUrl = std::move(value); } /** *

The URL for the complete text written by the plugin to stderr. * If the command hasn't finished running, then this string is empty.

*/ inline void SetStandardErrorUrl(const char* value) { m_standardErrorUrl.assign(value); } /** *

The URL for the complete text written by the plugin to stderr. * If the command hasn't finished running, then this string is empty.

*/ inline GetCommandInvocationResult& WithStandardErrorUrl(const Aws::String& value) { SetStandardErrorUrl(value); return *this;} /** *

The URL for the complete text written by the plugin to stderr. * If the command hasn't finished running, then this string is empty.

*/ inline GetCommandInvocationResult& WithStandardErrorUrl(Aws::String&& value) { SetStandardErrorUrl(std::move(value)); return *this;} /** *

The URL for the complete text written by the plugin to stderr. * If the command hasn't finished running, then this string is empty.

*/ inline GetCommandInvocationResult& WithStandardErrorUrl(const char* value) { SetStandardErrorUrl(value); return *this;} /** *

Amazon CloudWatch Logs information where Systems Manager sent the command * output.

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

Amazon CloudWatch Logs information where Systems Manager sent the command * output.

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

Amazon CloudWatch Logs information where Systems Manager sent the command * output.

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

Amazon CloudWatch Logs information where Systems Manager sent the command * output.

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

Amazon CloudWatch Logs information where Systems Manager sent the command * output.

*/ inline GetCommandInvocationResult& WithCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { SetCloudWatchOutputConfig(std::move(value)); return *this;} inline const Aws::String& GetRequestId() const{ return m_requestId; } inline void SetRequestId(const Aws::String& value) { m_requestId = value; } inline void SetRequestId(Aws::String&& value) { m_requestId = std::move(value); } inline void SetRequestId(const char* value) { m_requestId.assign(value); } inline GetCommandInvocationResult& WithRequestId(const Aws::String& value) { SetRequestId(value); return *this;} inline GetCommandInvocationResult& WithRequestId(Aws::String&& value) { SetRequestId(std::move(value)); return *this;} inline GetCommandInvocationResult& WithRequestId(const char* value) { SetRequestId(value); return *this;} private: Aws::String m_commandId; Aws::String m_instanceId; Aws::String m_comment; Aws::String m_documentName; Aws::String m_documentVersion; Aws::String m_pluginName; int m_responseCode; Aws::String m_executionStartDateTime; Aws::String m_executionElapsedTime; Aws::String m_executionEndDateTime; CommandInvocationStatus m_status; Aws::String m_statusDetails; Aws::String m_standardOutputContent; Aws::String m_standardOutputUrl; Aws::String m_standardErrorContent; Aws::String m_standardErrorUrl; CloudWatchOutputConfig m_cloudWatchOutputConfig; Aws::String m_requestId; }; } // namespace Model } // namespace SSM } // namespace Aws