/** * 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 AWS_SSM_API GetCommandInvocationResult { public: GetCommandInvocationResult(); GetCommandInvocationResult(const Aws::AmazonWebServiceResult& result); 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 instance targeted by the command. A managed instance * can be an EC2 instance or an instance in your hybrid environment that is * configured for Systems Manager.

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

The ID of the managed instance targeted by the command. A managed instance * can be an EC2 instance or an instance in your hybrid environment that is * configured for Systems Manager.

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

The ID of the managed instance targeted by the command. A managed instance * can be an EC2 instance or an instance in your hybrid environment that is * configured for Systems Manager.

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

The ID of the managed instance targeted by the command. A managed instance * can be an EC2 instance or an instance in your hybrid environment that is * configured for Systems Manager.

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

The ID of the managed instance targeted by the command. A managed instance * can be an EC2 instance or an instance in your hybrid environment that is * configured for Systems Manager.

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

The ID of the managed instance targeted by the command. A managed instance * can be an EC2 instance or an instance in your hybrid environment that is * configured for Systems Manager.

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

The ID of the managed instance targeted by the command. A managed instance * can be an EC2 instance or an instance in your hybrid environment that is * configured for 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 SSM document version used in the request.

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

The SSM document version used in the request.

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

The SSM document version used in the request.

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

The SSM document version used in the request.

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

The SSM document version used in the request.

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

The SSM document version used in the request.

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

The SSM document version used in the request.

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

The name of the plugin for which you want detailed results. For example, * aws:RunShellScript is a plugin.

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

The name of the plugin for which you want detailed results. For example, * aws:RunShellScript is a plugin.

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

The name of the plugin for which you want detailed results. For example, * aws:RunShellScript is a plugin.

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

The name of the plugin for which you want detailed results. For example, * aws:RunShellScript is a plugin.

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

The name of the plugin for which you want detailed results. For example, * aws:RunShellScript is a plugin.

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

The name of the plugin for which you want detailed results. For example, * aws:RunShellScript is a plugin.

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

The name of the plugin for which you want detailed results. 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 has not started running on the instance, or it was not * received by the instance.

*/ 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 has not started running on the instance, or it was not * received by the instance.

*/ 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 has not started running on the instance, or it was not * received by the instance.

*/ 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 AWS CLI command uses the InvokedBefore filter.

*

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

If the plugin has * not 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 AWS CLI command uses the InvokedBefore filter.

*

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

If the plugin has * not 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 AWS CLI command uses the InvokedBefore filter.

*

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

If the plugin has * not 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 AWS CLI command uses the InvokedBefore filter.

*

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

If the plugin has * not 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 AWS CLI command uses the InvokedBefore filter.

*

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

If the plugin has * not 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 AWS CLI command uses the InvokedBefore filter.

*

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

If the plugin has * not 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 AWS CLI command uses the InvokedBefore filter.

*

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

If the plugin has * not 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 was 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 AWS CLI command uses the InvokedAfter filter.

*

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

If the plugin has not * started to run, the string is empty.

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

The date and time the plugin was 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 AWS CLI command uses the InvokedAfter filter.

*

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

If the plugin has not * started to run, the string is empty.

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

The date and time the plugin was 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 AWS CLI command uses the InvokedAfter filter.

*

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

If the plugin has not * started to run, the string is empty.

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

The date and time the plugin was 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 AWS CLI command uses the InvokedAfter filter.

*

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

If the plugin has not * started to run, the string is empty.

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

The date and time the plugin was 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 AWS CLI command uses the InvokedAfter filter.

*

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

If the plugin has not * started to run, the string is empty.

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

The date and time the plugin was 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 AWS CLI command uses the InvokedAfter filter.

*

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

If the plugin has not * 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 was 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 AWS CLI command uses the InvokedAfter filter.

*

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

If the plugin has not * 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 AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to the instance.

  • In Progress: The command has * been sent to the instance but has not reached a terminal state.

  • *

    Delayed: The system attempted to send the command to the target, but the * target was not available. The instance might not be available because of network * issues, because the instance 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 was not delivered to the instance before the delivery * timeout expired. Delivery timeouts do not 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 instance, but the execution was not * 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 instance. For a plugin, * this indicates that the result code was not zero. For a command invocation, this * indicates that the result code for one or more plugins was not zero. Invocation * failures count against the MaxErrors limit of the parent command. This is a * terminal state.

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

  • Undeliverable: The * command can't be delivered to the instance. The instance 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 AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to the instance.

  • In Progress: The command has * been sent to the instance but has not reached a terminal state.

  • *

    Delayed: The system attempted to send the command to the target, but the * target was not available. The instance might not be available because of network * issues, because the instance 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 was not delivered to the instance before the delivery * timeout expired. Delivery timeouts do not 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 instance, but the execution was not * 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 instance. For a plugin, * this indicates that the result code was not zero. For a command invocation, this * indicates that the result code for one or more plugins was not zero. Invocation * failures count against the MaxErrors limit of the parent command. This is a * terminal state.

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

  • Undeliverable: The * command can't be delivered to the instance. The instance 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 AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to the instance.

  • In Progress: The command has * been sent to the instance but has not reached a terminal state.

  • *

    Delayed: The system attempted to send the command to the target, but the * target was not available. The instance might not be available because of network * issues, because the instance 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 was not delivered to the instance before the delivery * timeout expired. Delivery timeouts do not 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 instance, but the execution was not * 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 instance. For a plugin, * this indicates that the result code was not zero. For a command invocation, this * indicates that the result code for one or more plugins was not zero. Invocation * failures count against the MaxErrors limit of the parent command. This is a * terminal state.

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

  • Undeliverable: The * command can't be delivered to the instance. The instance 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 AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to the instance.

  • In Progress: The command has * been sent to the instance but has not reached a terminal state.

  • *

    Delayed: The system attempted to send the command to the target, but the * target was not available. The instance might not be available because of network * issues, because the instance 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 was not delivered to the instance before the delivery * timeout expired. Delivery timeouts do not 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 instance, but the execution was not * 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 instance. For a plugin, * this indicates that the result code was not zero. For a command invocation, this * indicates that the result code for one or more plugins was not zero. Invocation * failures count against the MaxErrors limit of the parent command. This is a * terminal state.

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

  • Undeliverable: The * command can't be delivered to the instance. The instance 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 AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to the instance.

  • In Progress: The command has * been sent to the instance but has not reached a terminal state.

  • *

    Delayed: The system attempted to send the command to the target, but the * target was not available. The instance might not be available because of network * issues, because the instance 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 was not delivered to the instance before the delivery * timeout expired. Delivery timeouts do not 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 instance, but the execution was not * 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 instance. For a plugin, * this indicates that the result code was not zero. For a command invocation, this * indicates that the result code for one or more plugins was not zero. Invocation * failures count against the MaxErrors limit of the parent command. This is a * terminal state.

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

  • Undeliverable: The * command can't be delivered to the instance. The instance 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 AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to the instance.

  • In Progress: The command has * been sent to the instance but has not reached a terminal state.

  • *

    Delayed: The system attempted to send the command to the target, but the * target was not available. The instance might not be available because of network * issues, because the instance 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 was not delivered to the instance before the delivery * timeout expired. Delivery timeouts do not 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 instance, but the execution was not * 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 instance. For a plugin, * this indicates that the result code was not zero. For a command invocation, this * indicates that the result code for one or more plugins was not zero. Invocation * failures count against the MaxErrors limit of the parent command. This is a * terminal state.

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

  • Undeliverable: The * command can't be delivered to the instance. The instance 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 AWS Systems Manager User Guide. StatusDetails * can be one of the following values:

  • Pending: The command has * not been sent to the instance.

  • In Progress: The command has * been sent to the instance but has not reached a terminal state.

  • *

    Delayed: The system attempted to send the command to the target, but the * target was not available. The instance might not be available because of network * issues, because the instance 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 was not delivered to the instance before the delivery * timeout expired. Delivery timeouts do not 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 instance, but the execution was not * 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 instance. For a plugin, * this indicates that the result code was not zero. For a command invocation, this * indicates that the result code for one or more plugins was not zero. Invocation * failures count against the MaxErrors limit of the parent command. This is a * terminal state.

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

  • Undeliverable: The * command can't be delivered to the instance. The instance 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not 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 S3. * If an S3 bucket was not 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 S3. * If an S3 bucket was not 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 S3. * If an S3 bucket was not 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 S3. * If an S3 bucket was not 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 S3. * If an S3 bucket was not 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 S3. * If an S3 bucket was not 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 S3. * If an S3 bucket was not 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not 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 * has not finished running, then this string is empty.

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

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

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

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

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

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

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

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

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

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

*/ inline GetCommandInvocationResult& WithCloudWatchOutputConfig(CloudWatchOutputConfig&& value) { SetCloudWatchOutputConfig(std::move(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; }; } // namespace Model } // namespace SSM } // namespace Aws