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

Describes plugin details.

See Also:

AWS * API Reference

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

The name of the plugin. Must be one of the following: * aws:updateAgent, aws:domainjoin, * aws:applications, aws:runPowerShellScript, * aws:psmodule, aws:cloudWatch, * aws:runShellScript, or aws:updateSSMAgent.

*/ inline const Aws::String& GetName() const{ return m_name; } /** *

The name of the plugin. Must be one of the following: * aws:updateAgent, aws:domainjoin, * aws:applications, aws:runPowerShellScript, * aws:psmodule, aws:cloudWatch, * aws:runShellScript, or aws:updateSSMAgent.

*/ inline bool NameHasBeenSet() const { return m_nameHasBeenSet; } /** *

The name of the plugin. Must be one of the following: * aws:updateAgent, aws:domainjoin, * aws:applications, aws:runPowerShellScript, * aws:psmodule, aws:cloudWatch, * aws:runShellScript, or aws:updateSSMAgent.

*/ inline void SetName(const Aws::String& value) { m_nameHasBeenSet = true; m_name = value; } /** *

The name of the plugin. Must be one of the following: * aws:updateAgent, aws:domainjoin, * aws:applications, aws:runPowerShellScript, * aws:psmodule, aws:cloudWatch, * aws:runShellScript, or aws:updateSSMAgent.

*/ inline void SetName(Aws::String&& value) { m_nameHasBeenSet = true; m_name = std::move(value); } /** *

The name of the plugin. Must be one of the following: * aws:updateAgent, aws:domainjoin, * aws:applications, aws:runPowerShellScript, * aws:psmodule, aws:cloudWatch, * aws:runShellScript, or aws:updateSSMAgent.

*/ inline void SetName(const char* value) { m_nameHasBeenSet = true; m_name.assign(value); } /** *

The name of the plugin. Must be one of the following: * aws:updateAgent, aws:domainjoin, * aws:applications, aws:runPowerShellScript, * aws:psmodule, aws:cloudWatch, * aws:runShellScript, or aws:updateSSMAgent.

*/ inline CommandPlugin& WithName(const Aws::String& value) { SetName(value); return *this;} /** *

The name of the plugin. Must be one of the following: * aws:updateAgent, aws:domainjoin, * aws:applications, aws:runPowerShellScript, * aws:psmodule, aws:cloudWatch, * aws:runShellScript, or aws:updateSSMAgent.

*/ inline CommandPlugin& WithName(Aws::String&& value) { SetName(std::move(value)); return *this;} /** *

The name of the plugin. Must be one of the following: * aws:updateAgent, aws:domainjoin, * aws:applications, aws:runPowerShellScript, * aws:psmodule, aws:cloudWatch, * aws:runShellScript, or aws:updateSSMAgent.

*/ inline CommandPlugin& WithName(const char* value) { SetName(value); return *this;} /** *

The status of this plugin. You can run a document with multiple plugins.

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

The status of this plugin. You can run a document with multiple plugins.

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

The status of this plugin. You can run a document with multiple plugins.

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

The status of this plugin. You can run a document with multiple plugins.

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

The status of this plugin. You can run a document with multiple plugins.

*/ inline CommandPlugin& WithStatus(const CommandPluginStatus& value) { SetStatus(value); return *this;} /** *

The status of this plugin. You can run a document with multiple plugins.

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

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

  • *

    Pending: The command hasn't been sent to the managed node.

  • *

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

  • Success: The execution of the command or * plugin was successfully completed. 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: Command execution started on the managed * node, but the execution wasn't complete before the execution timeout expired. * Execution timeouts count against the MaxErrors limit of the parent * command. This is a terminal state.

  • Failed: The command wasn't * successful 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 managed node might not exist, or it might not be * responding. Undeliverable invocations don't count against the parent command's * MaxErrors limit, and they 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 plugin execution. StatusDetails * includes more information than Status because it includes states resulting from * error and concurrency control parameters. StatusDetails can show different * results than Status. For more information about these statuses, see Understanding * command statuses in the Amazon Web Services Systems Manager User * Guide. StatusDetails can be one of the following values:

  • *

    Pending: The command hasn't been sent to the managed node.

  • *

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

  • Success: The execution of the command or * plugin was successfully completed. 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: Command execution started on the managed * node, but the execution wasn't complete before the execution timeout expired. * Execution timeouts count against the MaxErrors limit of the parent * command. This is a terminal state.

  • Failed: The command wasn't * successful 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 managed node might not exist, or it might not be * responding. Undeliverable invocations don't count against the parent command's * MaxErrors limit, and they 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 bool StatusDetailsHasBeenSet() const { return m_statusDetailsHasBeenSet; } /** *

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

  • *

    Pending: The command hasn't been sent to the managed node.

  • *

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

  • Success: The execution of the command or * plugin was successfully completed. 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: Command execution started on the managed * node, but the execution wasn't complete before the execution timeout expired. * Execution timeouts count against the MaxErrors limit of the parent * command. This is a terminal state.

  • Failed: The command wasn't * successful 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 managed node might not exist, or it might not be * responding. Undeliverable invocations don't count against the parent command's * MaxErrors limit, and they 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_statusDetailsHasBeenSet = true; m_statusDetails = value; } /** *

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

  • *

    Pending: The command hasn't been sent to the managed node.

  • *

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

  • Success: The execution of the command or * plugin was successfully completed. 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: Command execution started on the managed * node, but the execution wasn't complete before the execution timeout expired. * Execution timeouts count against the MaxErrors limit of the parent * command. This is a terminal state.

  • Failed: The command wasn't * successful 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 managed node might not exist, or it might not be * responding. Undeliverable invocations don't count against the parent command's * MaxErrors limit, and they 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_statusDetailsHasBeenSet = true; m_statusDetails = std::move(value); } /** *

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

  • *

    Pending: The command hasn't been sent to the managed node.

  • *

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

  • Success: The execution of the command or * plugin was successfully completed. 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: Command execution started on the managed * node, but the execution wasn't complete before the execution timeout expired. * Execution timeouts count against the MaxErrors limit of the parent * command. This is a terminal state.

  • Failed: The command wasn't * successful 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 managed node might not exist, or it might not be * responding. Undeliverable invocations don't count against the parent command's * MaxErrors limit, and they 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_statusDetailsHasBeenSet = true; m_statusDetails.assign(value); } /** *

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

  • *

    Pending: The command hasn't been sent to the managed node.

  • *

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

  • Success: The execution of the command or * plugin was successfully completed. 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: Command execution started on the managed * node, but the execution wasn't complete before the execution timeout expired. * Execution timeouts count against the MaxErrors limit of the parent * command. This is a terminal state.

  • Failed: The command wasn't * successful 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 managed node might not exist, or it might not be * responding. Undeliverable invocations don't count against the parent command's * MaxErrors limit, and they 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 CommandPlugin& WithStatusDetails(const Aws::String& value) { SetStatusDetails(value); return *this;} /** *

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

  • *

    Pending: The command hasn't been sent to the managed node.

  • *

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

  • Success: The execution of the command or * plugin was successfully completed. 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: Command execution started on the managed * node, but the execution wasn't complete before the execution timeout expired. * Execution timeouts count against the MaxErrors limit of the parent * command. This is a terminal state.

  • Failed: The command wasn't * successful 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 managed node might not exist, or it might not be * responding. Undeliverable invocations don't count against the parent command's * MaxErrors limit, and they 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 CommandPlugin& WithStatusDetails(Aws::String&& value) { SetStatusDetails(std::move(value)); return *this;} /** *

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

  • *

    Pending: The command hasn't been sent to the managed node.

  • *

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

  • Success: The execution of the command or * plugin was successfully completed. 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: Command execution started on the managed * node, but the execution wasn't complete before the execution timeout expired. * Execution timeouts count against the MaxErrors limit of the parent * command. This is a terminal state.

  • Failed: The command wasn't * successful 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 managed node might not exist, or it might not be * responding. Undeliverable invocations don't count against the parent command's * MaxErrors limit, and they 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 CommandPlugin& WithStatusDetails(const char* value) { SetStatusDetails(value); return *this;} /** *

A numeric response code generated after running the plugin.

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

A numeric response code generated after running the plugin.

*/ inline bool ResponseCodeHasBeenSet() const { return m_responseCodeHasBeenSet; } /** *

A numeric response code generated after running the plugin.

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

A numeric response code generated after running the plugin.

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

The time the plugin started running.

*/ inline const Aws::Utils::DateTime& GetResponseStartDateTime() const{ return m_responseStartDateTime; } /** *

The time the plugin started running.

*/ inline bool ResponseStartDateTimeHasBeenSet() const { return m_responseStartDateTimeHasBeenSet; } /** *

The time the plugin started running.

*/ inline void SetResponseStartDateTime(const Aws::Utils::DateTime& value) { m_responseStartDateTimeHasBeenSet = true; m_responseStartDateTime = value; } /** *

The time the plugin started running.

*/ inline void SetResponseStartDateTime(Aws::Utils::DateTime&& value) { m_responseStartDateTimeHasBeenSet = true; m_responseStartDateTime = std::move(value); } /** *

The time the plugin started running.

*/ inline CommandPlugin& WithResponseStartDateTime(const Aws::Utils::DateTime& value) { SetResponseStartDateTime(value); return *this;} /** *

The time the plugin started running.

*/ inline CommandPlugin& WithResponseStartDateTime(Aws::Utils::DateTime&& value) { SetResponseStartDateTime(std::move(value)); return *this;} /** *

The time the plugin stopped running. Could stop prematurely if, for example, * a cancel command was sent.

*/ inline const Aws::Utils::DateTime& GetResponseFinishDateTime() const{ return m_responseFinishDateTime; } /** *

The time the plugin stopped running. Could stop prematurely if, for example, * a cancel command was sent.

*/ inline bool ResponseFinishDateTimeHasBeenSet() const { return m_responseFinishDateTimeHasBeenSet; } /** *

The time the plugin stopped running. Could stop prematurely if, for example, * a cancel command was sent.

*/ inline void SetResponseFinishDateTime(const Aws::Utils::DateTime& value) { m_responseFinishDateTimeHasBeenSet = true; m_responseFinishDateTime = value; } /** *

The time the plugin stopped running. Could stop prematurely if, for example, * a cancel command was sent.

*/ inline void SetResponseFinishDateTime(Aws::Utils::DateTime&& value) { m_responseFinishDateTimeHasBeenSet = true; m_responseFinishDateTime = std::move(value); } /** *

The time the plugin stopped running. Could stop prematurely if, for example, * a cancel command was sent.

*/ inline CommandPlugin& WithResponseFinishDateTime(const Aws::Utils::DateTime& value) { SetResponseFinishDateTime(value); return *this;} /** *

The time the plugin stopped running. Could stop prematurely if, for example, * a cancel command was sent.

*/ inline CommandPlugin& WithResponseFinishDateTime(Aws::Utils::DateTime&& value) { SetResponseFinishDateTime(std::move(value)); return *this;} /** *

Output of the plugin execution.

*/ inline const Aws::String& GetOutput() const{ return m_output; } /** *

Output of the plugin execution.

*/ inline bool OutputHasBeenSet() const { return m_outputHasBeenSet; } /** *

Output of the plugin execution.

*/ inline void SetOutput(const Aws::String& value) { m_outputHasBeenSet = true; m_output = value; } /** *

Output of the plugin execution.

*/ inline void SetOutput(Aws::String&& value) { m_outputHasBeenSet = true; m_output = std::move(value); } /** *

Output of the plugin execution.

*/ inline void SetOutput(const char* value) { m_outputHasBeenSet = true; m_output.assign(value); } /** *

Output of the plugin execution.

*/ inline CommandPlugin& WithOutput(const Aws::String& value) { SetOutput(value); return *this;} /** *

Output of the plugin execution.

*/ inline CommandPlugin& WithOutput(Aws::String&& value) { SetOutput(std::move(value)); return *this;} /** *

Output of the plugin execution.

*/ inline CommandPlugin& WithOutput(const char* value) { SetOutput(value); return *this;} /** *

The URL for the complete text written by the plugin to stdout in Amazon S3. * If the S3 bucket for the command 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 S3. * If the S3 bucket for the command wasn't specified, then this string is * empty.

*/ inline bool StandardOutputUrlHasBeenSet() const { return m_standardOutputUrlHasBeenSet; } /** *

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

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

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

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

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

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

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

*/ inline CommandPlugin& 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 the S3 bucket for the command wasn't specified, then this string is * empty.

*/ inline CommandPlugin& 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 the S3 bucket for the command wasn't specified, then this string is * empty.

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

The URL for the complete text written by the plugin to stderr. If execution * isn't yet complete, 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 execution * isn't yet complete, then this string is empty.

*/ inline bool StandardErrorUrlHasBeenSet() const { return m_standardErrorUrlHasBeenSet; } /** *

The URL for the complete text written by the plugin to stderr. If execution * isn't yet complete, then this string is empty.

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

The URL for the complete text written by the plugin to stderr. If execution * isn't yet complete, then this string is empty.

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

The URL for the complete text written by the plugin to stderr. If execution * isn't yet complete, then this string is empty.

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

The URL for the complete text written by the plugin to stderr. If execution * isn't yet complete, then this string is empty.

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

The URL for the complete text written by the plugin to stderr. If execution * isn't yet complete, then this string is empty.

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

The URL for the complete text written by the plugin to stderr. If execution * isn't yet complete, then this string is empty.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command. For example, in the following * response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command. For example, in the following * response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command. For example, in the following * response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command. For example, in the following * response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command. For example, in the following * response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command. For example, in the following * response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command. For example, in the following * response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 bucket where the responses to the command executions should be stored. * This was requested when issuing the command. For example, in the following * response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command. For * example, in the following response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command. For * example, in the following response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command. For * example, in the following response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command. For * example, in the following response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command. For * example, in the following response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command. For * example, in the following response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command. For * example, in the following response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

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

The S3 directory path inside the bucket where the responses to the command * executions should be stored. This was requested when issuing the command. For * example, in the following response:

* doc-example-bucket/ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix/i-02573cafcfEXAMPLE/awsrunShellScript *

doc-example-bucket is the name of the S3 bucket;

* ab19cb99-a030-46dd-9dfc-8eSAMPLEPre-Fix is the name of the S3 * prefix;

i-02573cafcfEXAMPLE is the managed node ID;

* awsrunShellScript is the name of the plugin.

*/ inline CommandPlugin& WithOutputS3KeyPrefix(const char* value) { SetOutputS3KeyPrefix(value); return *this;} private: Aws::String m_name; bool m_nameHasBeenSet = false; CommandPluginStatus m_status; bool m_statusHasBeenSet = false; Aws::String m_statusDetails; bool m_statusDetailsHasBeenSet = false; int m_responseCode; bool m_responseCodeHasBeenSet = false; Aws::Utils::DateTime m_responseStartDateTime; bool m_responseStartDateTimeHasBeenSet = false; Aws::Utils::DateTime m_responseFinishDateTime; bool m_responseFinishDateTimeHasBeenSet = false; Aws::String m_output; bool m_outputHasBeenSet = false; Aws::String m_standardOutputUrl; bool m_standardOutputUrlHasBeenSet = false; Aws::String m_standardErrorUrl; bool m_standardErrorUrlHasBeenSet = false; Aws::String m_outputS3Region; bool m_outputS3RegionHasBeenSet = false; Aws::String m_outputS3BucketName; bool m_outputS3BucketNameHasBeenSet = false; Aws::String m_outputS3KeyPrefix; bool m_outputS3KeyPrefixHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws