// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
/// <p>Describes a command request.</p>
#[non_exhaustive]
#[derive(::std::clone::Clone, ::std::cmp::PartialEq)]
pub struct Command {
/// <p>A unique identifier for this command.</p>
pub command_id: ::std::option::Option<::std::string::String>,
/// <p>The name of the document requested for execution.</p>
pub document_name: ::std::option::Option<::std::string::String>,
/// <p>The Systems Manager document (SSM document) version.</p>
pub document_version: ::std::option::Option<::std::string::String>,
/// <p>User-specified information about the command, such as a brief description of what the command should do.</p>
pub comment: ::std::option::Option<::std::string::String>,
/// <p>If a command expires, it changes status to <code>DeliveryTimedOut</code> for all invocations that have the status <code>InProgress</code>, <code>Pending</code>, or <code>Delayed</code>. <code>ExpiresAfter</code> is calculated based on the total timeout for the overall command. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html?icmpid=docs_ec2_console#monitor-about-status-timeouts">Understanding command timeout values</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub expires_after: ::std::option::Option<::aws_smithy_types::DateTime>,
/// <p>The parameter values to be inserted in the document when running the command.</p>
pub parameters: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>,
/// <p>The managed node IDs against which this command was requested.</p>
pub instance_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
/// <p>An array of search criteria that targets managed nodes using a Key,Value combination that you specify. Targets is required if you don't provide one or more managed node IDs in the call.</p>
pub targets: ::std::option::Option<::std::vec::Vec<crate::types::Target>>,
/// <p>The date and time the command was requested.</p>
pub requested_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
/// <p>The status of the command.</p>
pub status: ::std::option::Option<crate::types::CommandStatus>,
/// <p>A detailed status of the command execution. <code>StatusDetails</code> includes more information than <code>Status</code> because it includes states resulting from error and concurrency control parameters. <code>StatusDetails</code> can show different results than Status. For more information about these statuses, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html">Understanding command statuses</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. StatusDetails can be one of the following values:</p>
/// <ul>
/// <li>
/// <p>Pending: The command hasn't been sent to any managed nodes.</p></li>
/// <li>
/// <p>In Progress: The command has been sent to at least one managed node but hasn't reached a final state on all managed nodes.</p></li>
/// <li>
/// <p>Success: The command successfully ran on all invocations. This is a terminal state.</p></li>
/// <li>
/// <p>Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state.</p></li>
/// <li>
/// <p>Execution Timed Out: The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state.</p></li>
/// <li>
/// <p>Failed: The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state.</p></li>
/// <li>
/// <p>Incomplete: The command was attempted on all managed nodes and one or more invocations doesn't have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state.</p></li>
/// <li>
/// <p>Cancelled: The command was terminated before it was completed. This is a terminal state.</p></li>
/// <li>
/// <p>Rate Exceeded: The number of managed nodes targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before running it on any managed node. This is a terminal state.</p></li>
/// <li>
/// <p>Delayed: The system attempted to send the command to the managed node but wasn't successful. The system retries again.</p></li>
/// </ul>
pub status_details: ::std::option::Option<::std::string::String>,
/// <p>(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon Web Services Region of the S3 bucket.</p>
pub output_s3_region: ::std::option::Option<::std::string::String>,
/// <p>The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command.</p>
pub output_s3_bucket_name: ::std::option::Option<::std::string::String>,
/// <p>The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.</p>
pub output_s3_key_prefix: ::std::option::Option<::std::string::String>,
/// <p>The maximum number of managed nodes that are allowed to run the command at the same time. You can specify a number of managed nodes, such as 10, or a percentage of nodes, such as 10%. The default value is 50. For more information about how to use <code>MaxConcurrency</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon Web Services Systems Manager Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub max_concurrency: ::std::option::Option<::std::string::String>,
/// <p>The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is <code>0</code>. For more information about how to use <code>MaxErrors</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon Web Services Systems Manager Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub max_errors: ::std::option::Option<::std::string::String>,
/// <p>The number of targets for the command.</p>
pub target_count: i32,
/// <p>The number of targets for which the command invocation reached a terminal state. Terminal states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Cancelled, Terminated, or Undeliverable.</p>
pub completed_count: i32,
/// <p>The number of targets for which the status is Failed or Execution Timed Out.</p>
pub error_count: i32,
/// <p>The number of targets for which the status is Delivery Timed Out.</p>
pub delivery_timed_out_count: i32,
/// <p>The Identity and Access Management (IAM) service role that Run Command, a tool in Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes.</p>
pub service_role: ::std::option::Option<::std::string::String>,
/// <p>Configurations for sending notifications about command status changes.</p>
pub notification_config: ::std::option::Option<crate::types::NotificationConfig>,
/// <p>Amazon CloudWatch Logs information where you want Amazon Web Services Systems Manager to send the command output.</p>
pub cloud_watch_output_config: ::std::option::Option<crate::types::CloudWatchOutputConfig>,
/// <p>The <code>TimeoutSeconds</code> value specified for a command.</p>
pub timeout_seconds: ::std::option::Option<i32>,
/// <p>The details for the CloudWatch alarm applied to your command.</p>
pub alarm_configuration: ::std::option::Option<crate::types::AlarmConfiguration>,
/// <p>The CloudWatch alarm that was invoked by the command.</p>
pub triggered_alarms: ::std::option::Option<::std::vec::Vec<crate::types::AlarmStateInformation>>,
}
impl Command {
/// <p>A unique identifier for this command.</p>
pub fn command_id(&self) -> ::std::option::Option<&str> {
self.command_id.as_deref()
}
/// <p>The name of the document requested for execution.</p>
pub fn document_name(&self) -> ::std::option::Option<&str> {
self.document_name.as_deref()
}
/// <p>The Systems Manager document (SSM document) version.</p>
pub fn document_version(&self) -> ::std::option::Option<&str> {
self.document_version.as_deref()
}
/// <p>User-specified information about the command, such as a brief description of what the command should do.</p>
pub fn comment(&self) -> ::std::option::Option<&str> {
self.comment.as_deref()
}
/// <p>If a command expires, it changes status to <code>DeliveryTimedOut</code> for all invocations that have the status <code>InProgress</code>, <code>Pending</code>, or <code>Delayed</code>. <code>ExpiresAfter</code> is calculated based on the total timeout for the overall command. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html?icmpid=docs_ec2_console#monitor-about-status-timeouts">Understanding command timeout values</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub fn expires_after(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.expires_after.as_ref()
}
/// <p>The parameter values to be inserted in the document when running the command.</p>
pub fn parameters(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>> {
self.parameters.as_ref()
}
/// <p>The managed node IDs against which this command was requested.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.instance_ids.is_none()`.
pub fn instance_ids(&self) -> &[::std::string::String] {
self.instance_ids.as_deref().unwrap_or_default()
}
/// <p>An array of search criteria that targets managed nodes using a Key,Value combination that you specify. Targets is required if you don't provide one or more managed node IDs in the call.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.targets.is_none()`.
pub fn targets(&self) -> &[crate::types::Target] {
self.targets.as_deref().unwrap_or_default()
}
/// <p>The date and time the command was requested.</p>
pub fn requested_date_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
self.requested_date_time.as_ref()
}
/// <p>The status of the command.</p>
pub fn status(&self) -> ::std::option::Option<&crate::types::CommandStatus> {
self.status.as_ref()
}
/// <p>A detailed status of the command execution. <code>StatusDetails</code> includes more information than <code>Status</code> because it includes states resulting from error and concurrency control parameters. <code>StatusDetails</code> can show different results than Status. For more information about these statuses, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html">Understanding command statuses</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. StatusDetails can be one of the following values:</p>
/// <ul>
/// <li>
/// <p>Pending: The command hasn't been sent to any managed nodes.</p></li>
/// <li>
/// <p>In Progress: The command has been sent to at least one managed node but hasn't reached a final state on all managed nodes.</p></li>
/// <li>
/// <p>Success: The command successfully ran on all invocations. This is a terminal state.</p></li>
/// <li>
/// <p>Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state.</p></li>
/// <li>
/// <p>Execution Timed Out: The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state.</p></li>
/// <li>
/// <p>Failed: The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state.</p></li>
/// <li>
/// <p>Incomplete: The command was attempted on all managed nodes and one or more invocations doesn't have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state.</p></li>
/// <li>
/// <p>Cancelled: The command was terminated before it was completed. This is a terminal state.</p></li>
/// <li>
/// <p>Rate Exceeded: The number of managed nodes targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before running it on any managed node. This is a terminal state.</p></li>
/// <li>
/// <p>Delayed: The system attempted to send the command to the managed node but wasn't successful. The system retries again.</p></li>
/// </ul>
pub fn status_details(&self) -> ::std::option::Option<&str> {
self.status_details.as_deref()
}
/// <p>(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon Web Services Region of the S3 bucket.</p>
pub fn output_s3_region(&self) -> ::std::option::Option<&str> {
self.output_s3_region.as_deref()
}
/// <p>The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command.</p>
pub fn output_s3_bucket_name(&self) -> ::std::option::Option<&str> {
self.output_s3_bucket_name.as_deref()
}
/// <p>The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.</p>
pub fn output_s3_key_prefix(&self) -> ::std::option::Option<&str> {
self.output_s3_key_prefix.as_deref()
}
/// <p>The maximum number of managed nodes that are allowed to run the command at the same time. You can specify a number of managed nodes, such as 10, or a percentage of nodes, such as 10%. The default value is 50. For more information about how to use <code>MaxConcurrency</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon Web Services Systems Manager Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub fn max_concurrency(&self) -> ::std::option::Option<&str> {
self.max_concurrency.as_deref()
}
/// <p>The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is <code>0</code>. For more information about how to use <code>MaxErrors</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon Web Services Systems Manager Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub fn max_errors(&self) -> ::std::option::Option<&str> {
self.max_errors.as_deref()
}
/// <p>The number of targets for the command.</p>
pub fn target_count(&self) -> i32 {
self.target_count
}
/// <p>The number of targets for which the command invocation reached a terminal state. Terminal states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Cancelled, Terminated, or Undeliverable.</p>
pub fn completed_count(&self) -> i32 {
self.completed_count
}
/// <p>The number of targets for which the status is Failed or Execution Timed Out.</p>
pub fn error_count(&self) -> i32 {
self.error_count
}
/// <p>The number of targets for which the status is Delivery Timed Out.</p>
pub fn delivery_timed_out_count(&self) -> i32 {
self.delivery_timed_out_count
}
/// <p>The Identity and Access Management (IAM) service role that Run Command, a tool in Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes.</p>
pub fn service_role(&self) -> ::std::option::Option<&str> {
self.service_role.as_deref()
}
/// <p>Configurations for sending notifications about command status changes.</p>
pub fn notification_config(&self) -> ::std::option::Option<&crate::types::NotificationConfig> {
self.notification_config.as_ref()
}
/// <p>Amazon CloudWatch Logs information where you want Amazon Web Services Systems Manager to send the command output.</p>
pub fn cloud_watch_output_config(&self) -> ::std::option::Option<&crate::types::CloudWatchOutputConfig> {
self.cloud_watch_output_config.as_ref()
}
/// <p>The <code>TimeoutSeconds</code> value specified for a command.</p>
pub fn timeout_seconds(&self) -> ::std::option::Option<i32> {
self.timeout_seconds
}
/// <p>The details for the CloudWatch alarm applied to your command.</p>
pub fn alarm_configuration(&self) -> ::std::option::Option<&crate::types::AlarmConfiguration> {
self.alarm_configuration.as_ref()
}
/// <p>The CloudWatch alarm that was invoked by the command.</p>
///
/// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.triggered_alarms.is_none()`.
pub fn triggered_alarms(&self) -> &[crate::types::AlarmStateInformation] {
self.triggered_alarms.as_deref().unwrap_or_default()
}
}
impl ::std::fmt::Debug for Command {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("Command");
formatter.field("command_id", &self.command_id);
formatter.field("document_name", &self.document_name);
formatter.field("document_version", &self.document_version);
formatter.field("comment", &self.comment);
formatter.field("expires_after", &self.expires_after);
formatter.field("parameters", &"*** Sensitive Data Redacted ***");
formatter.field("instance_ids", &self.instance_ids);
formatter.field("targets", &self.targets);
formatter.field("requested_date_time", &self.requested_date_time);
formatter.field("status", &self.status);
formatter.field("status_details", &self.status_details);
formatter.field("output_s3_region", &self.output_s3_region);
formatter.field("output_s3_bucket_name", &self.output_s3_bucket_name);
formatter.field("output_s3_key_prefix", &self.output_s3_key_prefix);
formatter.field("max_concurrency", &self.max_concurrency);
formatter.field("max_errors", &self.max_errors);
formatter.field("target_count", &self.target_count);
formatter.field("completed_count", &self.completed_count);
formatter.field("error_count", &self.error_count);
formatter.field("delivery_timed_out_count", &self.delivery_timed_out_count);
formatter.field("service_role", &self.service_role);
formatter.field("notification_config", &self.notification_config);
formatter.field("cloud_watch_output_config", &self.cloud_watch_output_config);
formatter.field("timeout_seconds", &self.timeout_seconds);
formatter.field("alarm_configuration", &self.alarm_configuration);
formatter.field("triggered_alarms", &self.triggered_alarms);
formatter.finish()
}
}
impl Command {
/// Creates a new builder-style object to manufacture [`Command`](crate::types::Command).
pub fn builder() -> crate::types::builders::CommandBuilder {
crate::types::builders::CommandBuilder::default()
}
}
/// A builder for [`Command`](crate::types::Command).
#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
#[non_exhaustive]
pub struct CommandBuilder {
pub(crate) command_id: ::std::option::Option<::std::string::String>,
pub(crate) document_name: ::std::option::Option<::std::string::String>,
pub(crate) document_version: ::std::option::Option<::std::string::String>,
pub(crate) comment: ::std::option::Option<::std::string::String>,
pub(crate) expires_after: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) parameters: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>,
pub(crate) instance_ids: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
pub(crate) targets: ::std::option::Option<::std::vec::Vec<crate::types::Target>>,
pub(crate) requested_date_time: ::std::option::Option<::aws_smithy_types::DateTime>,
pub(crate) status: ::std::option::Option<crate::types::CommandStatus>,
pub(crate) status_details: ::std::option::Option<::std::string::String>,
pub(crate) output_s3_region: ::std::option::Option<::std::string::String>,
pub(crate) output_s3_bucket_name: ::std::option::Option<::std::string::String>,
pub(crate) output_s3_key_prefix: ::std::option::Option<::std::string::String>,
pub(crate) max_concurrency: ::std::option::Option<::std::string::String>,
pub(crate) max_errors: ::std::option::Option<::std::string::String>,
pub(crate) target_count: ::std::option::Option<i32>,
pub(crate) completed_count: ::std::option::Option<i32>,
pub(crate) error_count: ::std::option::Option<i32>,
pub(crate) delivery_timed_out_count: ::std::option::Option<i32>,
pub(crate) service_role: ::std::option::Option<::std::string::String>,
pub(crate) notification_config: ::std::option::Option<crate::types::NotificationConfig>,
pub(crate) cloud_watch_output_config: ::std::option::Option<crate::types::CloudWatchOutputConfig>,
pub(crate) timeout_seconds: ::std::option::Option<i32>,
pub(crate) alarm_configuration: ::std::option::Option<crate::types::AlarmConfiguration>,
pub(crate) triggered_alarms: ::std::option::Option<::std::vec::Vec<crate::types::AlarmStateInformation>>,
}
impl CommandBuilder {
/// <p>A unique identifier for this command.</p>
pub fn command_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.command_id = ::std::option::Option::Some(input.into());
self
}
/// <p>A unique identifier for this command.</p>
pub fn set_command_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.command_id = input;
self
}
/// <p>A unique identifier for this command.</p>
pub fn get_command_id(&self) -> &::std::option::Option<::std::string::String> {
&self.command_id
}
/// <p>The name of the document requested for execution.</p>
pub fn document_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.document_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The name of the document requested for execution.</p>
pub fn set_document_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.document_name = input;
self
}
/// <p>The name of the document requested for execution.</p>
pub fn get_document_name(&self) -> &::std::option::Option<::std::string::String> {
&self.document_name
}
/// <p>The Systems Manager document (SSM document) version.</p>
pub fn document_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.document_version = ::std::option::Option::Some(input.into());
self
}
/// <p>The Systems Manager document (SSM document) version.</p>
pub fn set_document_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.document_version = input;
self
}
/// <p>The Systems Manager document (SSM document) version.</p>
pub fn get_document_version(&self) -> &::std::option::Option<::std::string::String> {
&self.document_version
}
/// <p>User-specified information about the command, such as a brief description of what the command should do.</p>
pub fn comment(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.comment = ::std::option::Option::Some(input.into());
self
}
/// <p>User-specified information about the command, such as a brief description of what the command should do.</p>
pub fn set_comment(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.comment = input;
self
}
/// <p>User-specified information about the command, such as a brief description of what the command should do.</p>
pub fn get_comment(&self) -> &::std::option::Option<::std::string::String> {
&self.comment
}
/// <p>If a command expires, it changes status to <code>DeliveryTimedOut</code> for all invocations that have the status <code>InProgress</code>, <code>Pending</code>, or <code>Delayed</code>. <code>ExpiresAfter</code> is calculated based on the total timeout for the overall command. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html?icmpid=docs_ec2_console#monitor-about-status-timeouts">Understanding command timeout values</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub fn expires_after(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.expires_after = ::std::option::Option::Some(input);
self
}
/// <p>If a command expires, it changes status to <code>DeliveryTimedOut</code> for all invocations that have the status <code>InProgress</code>, <code>Pending</code>, or <code>Delayed</code>. <code>ExpiresAfter</code> is calculated based on the total timeout for the overall command. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html?icmpid=docs_ec2_console#monitor-about-status-timeouts">Understanding command timeout values</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub fn set_expires_after(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.expires_after = input;
self
}
/// <p>If a command expires, it changes status to <code>DeliveryTimedOut</code> for all invocations that have the status <code>InProgress</code>, <code>Pending</code>, or <code>Delayed</code>. <code>ExpiresAfter</code> is calculated based on the total timeout for the overall command. For more information, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html?icmpid=docs_ec2_console#monitor-about-status-timeouts">Understanding command timeout values</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub fn get_expires_after(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.expires_after
}
/// Adds a key-value pair to `parameters`.
///
/// To override the contents of this collection use [`set_parameters`](Self::set_parameters).
///
/// <p>The parameter values to be inserted in the document when running the command.</p>
pub fn parameters(mut self, k: impl ::std::convert::Into<::std::string::String>, v: ::std::vec::Vec<::std::string::String>) -> Self {
let mut hash_map = self.parameters.unwrap_or_default();
hash_map.insert(k.into(), v);
self.parameters = ::std::option::Option::Some(hash_map);
self
}
/// <p>The parameter values to be inserted in the document when running the command.</p>
pub fn set_parameters(
mut self,
input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>>,
) -> Self {
self.parameters = input;
self
}
/// <p>The parameter values to be inserted in the document when running the command.</p>
pub fn get_parameters(
&self,
) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::vec::Vec<::std::string::String>>> {
&self.parameters
}
/// Appends an item to `instance_ids`.
///
/// To override the contents of this collection use [`set_instance_ids`](Self::set_instance_ids).
///
/// <p>The managed node IDs against which this command was requested.</p>
pub fn instance_ids(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
let mut v = self.instance_ids.unwrap_or_default();
v.push(input.into());
self.instance_ids = ::std::option::Option::Some(v);
self
}
/// <p>The managed node IDs against which this command was requested.</p>
pub fn set_instance_ids(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
self.instance_ids = input;
self
}
/// <p>The managed node IDs against which this command was requested.</p>
pub fn get_instance_ids(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
&self.instance_ids
}
/// Appends an item to `targets`.
///
/// To override the contents of this collection use [`set_targets`](Self::set_targets).
///
/// <p>An array of search criteria that targets managed nodes using a Key,Value combination that you specify. Targets is required if you don't provide one or more managed node IDs in the call.</p>
pub fn targets(mut self, input: crate::types::Target) -> Self {
let mut v = self.targets.unwrap_or_default();
v.push(input);
self.targets = ::std::option::Option::Some(v);
self
}
/// <p>An array of search criteria that targets managed nodes using a Key,Value combination that you specify. Targets is required if you don't provide one or more managed node IDs in the call.</p>
pub fn set_targets(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::Target>>) -> Self {
self.targets = input;
self
}
/// <p>An array of search criteria that targets managed nodes using a Key,Value combination that you specify. Targets is required if you don't provide one or more managed node IDs in the call.</p>
pub fn get_targets(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::Target>> {
&self.targets
}
/// <p>The date and time the command was requested.</p>
pub fn requested_date_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
self.requested_date_time = ::std::option::Option::Some(input);
self
}
/// <p>The date and time the command was requested.</p>
pub fn set_requested_date_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
self.requested_date_time = input;
self
}
/// <p>The date and time the command was requested.</p>
pub fn get_requested_date_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
&self.requested_date_time
}
/// <p>The status of the command.</p>
pub fn status(mut self, input: crate::types::CommandStatus) -> Self {
self.status = ::std::option::Option::Some(input);
self
}
/// <p>The status of the command.</p>
pub fn set_status(mut self, input: ::std::option::Option<crate::types::CommandStatus>) -> Self {
self.status = input;
self
}
/// <p>The status of the command.</p>
pub fn get_status(&self) -> &::std::option::Option<crate::types::CommandStatus> {
&self.status
}
/// <p>A detailed status of the command execution. <code>StatusDetails</code> includes more information than <code>Status</code> because it includes states resulting from error and concurrency control parameters. <code>StatusDetails</code> can show different results than Status. For more information about these statuses, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html">Understanding command statuses</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. StatusDetails can be one of the following values:</p>
/// <ul>
/// <li>
/// <p>Pending: The command hasn't been sent to any managed nodes.</p></li>
/// <li>
/// <p>In Progress: The command has been sent to at least one managed node but hasn't reached a final state on all managed nodes.</p></li>
/// <li>
/// <p>Success: The command successfully ran on all invocations. This is a terminal state.</p></li>
/// <li>
/// <p>Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state.</p></li>
/// <li>
/// <p>Execution Timed Out: The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state.</p></li>
/// <li>
/// <p>Failed: The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state.</p></li>
/// <li>
/// <p>Incomplete: The command was attempted on all managed nodes and one or more invocations doesn't have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state.</p></li>
/// <li>
/// <p>Cancelled: The command was terminated before it was completed. This is a terminal state.</p></li>
/// <li>
/// <p>Rate Exceeded: The number of managed nodes targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before running it on any managed node. This is a terminal state.</p></li>
/// <li>
/// <p>Delayed: The system attempted to send the command to the managed node but wasn't successful. The system retries again.</p></li>
/// </ul>
pub fn status_details(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.status_details = ::std::option::Option::Some(input.into());
self
}
/// <p>A detailed status of the command execution. <code>StatusDetails</code> includes more information than <code>Status</code> because it includes states resulting from error and concurrency control parameters. <code>StatusDetails</code> can show different results than Status. For more information about these statuses, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html">Understanding command statuses</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. StatusDetails can be one of the following values:</p>
/// <ul>
/// <li>
/// <p>Pending: The command hasn't been sent to any managed nodes.</p></li>
/// <li>
/// <p>In Progress: The command has been sent to at least one managed node but hasn't reached a final state on all managed nodes.</p></li>
/// <li>
/// <p>Success: The command successfully ran on all invocations. This is a terminal state.</p></li>
/// <li>
/// <p>Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state.</p></li>
/// <li>
/// <p>Execution Timed Out: The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state.</p></li>
/// <li>
/// <p>Failed: The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state.</p></li>
/// <li>
/// <p>Incomplete: The command was attempted on all managed nodes and one or more invocations doesn't have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state.</p></li>
/// <li>
/// <p>Cancelled: The command was terminated before it was completed. This is a terminal state.</p></li>
/// <li>
/// <p>Rate Exceeded: The number of managed nodes targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before running it on any managed node. This is a terminal state.</p></li>
/// <li>
/// <p>Delayed: The system attempted to send the command to the managed node but wasn't successful. The system retries again.</p></li>
/// </ul>
pub fn set_status_details(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.status_details = input;
self
}
/// <p>A detailed status of the command execution. <code>StatusDetails</code> includes more information than <code>Status</code> because it includes states resulting from error and concurrency control parameters. <code>StatusDetails</code> can show different results than Status. For more information about these statuses, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/monitor-commands.html">Understanding command statuses</a> in the <i>Amazon Web Services Systems Manager User Guide</i>. StatusDetails can be one of the following values:</p>
/// <ul>
/// <li>
/// <p>Pending: The command hasn't been sent to any managed nodes.</p></li>
/// <li>
/// <p>In Progress: The command has been sent to at least one managed node but hasn't reached a final state on all managed nodes.</p></li>
/// <li>
/// <p>Success: The command successfully ran on all invocations. This is a terminal state.</p></li>
/// <li>
/// <p>Delivery Timed Out: The value of MaxErrors or more command invocations shows a status of Delivery Timed Out. This is a terminal state.</p></li>
/// <li>
/// <p>Execution Timed Out: The value of MaxErrors or more command invocations shows a status of Execution Timed Out. This is a terminal state.</p></li>
/// <li>
/// <p>Failed: The value of MaxErrors or more command invocations shows a status of Failed. This is a terminal state.</p></li>
/// <li>
/// <p>Incomplete: The command was attempted on all managed nodes and one or more invocations doesn't have a value of Success but not enough invocations failed for the status to be Failed. This is a terminal state.</p></li>
/// <li>
/// <p>Cancelled: The command was terminated before it was completed. This is a terminal state.</p></li>
/// <li>
/// <p>Rate Exceeded: The number of managed nodes targeted by the command exceeded the account limit for pending invocations. The system has canceled the command before running it on any managed node. This is a terminal state.</p></li>
/// <li>
/// <p>Delayed: The system attempted to send the command to the managed node but wasn't successful. The system retries again.</p></li>
/// </ul>
pub fn get_status_details(&self) -> &::std::option::Option<::std::string::String> {
&self.status_details
}
/// <p>(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon Web Services Region of the S3 bucket.</p>
pub fn output_s3_region(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.output_s3_region = ::std::option::Option::Some(input.into());
self
}
/// <p>(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon Web Services Region of the S3 bucket.</p>
pub fn set_output_s3_region(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.output_s3_region = input;
self
}
/// <p>(Deprecated) You can no longer specify this parameter. The system ignores it. Instead, Systems Manager automatically determines the Amazon Web Services Region of the S3 bucket.</p>
pub fn get_output_s3_region(&self) -> &::std::option::Option<::std::string::String> {
&self.output_s3_region
}
/// <p>The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command.</p>
pub fn output_s3_bucket_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.output_s3_bucket_name = ::std::option::Option::Some(input.into());
self
}
/// <p>The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command.</p>
pub fn set_output_s3_bucket_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.output_s3_bucket_name = input;
self
}
/// <p>The S3 bucket where the responses to the command executions should be stored. This was requested when issuing the command.</p>
pub fn get_output_s3_bucket_name(&self) -> &::std::option::Option<::std::string::String> {
&self.output_s3_bucket_name
}
/// <p>The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.</p>
pub fn output_s3_key_prefix(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.output_s3_key_prefix = ::std::option::Option::Some(input.into());
self
}
/// <p>The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.</p>
pub fn set_output_s3_key_prefix(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.output_s3_key_prefix = input;
self
}
/// <p>The S3 directory path inside the bucket where the responses to the command executions should be stored. This was requested when issuing the command.</p>
pub fn get_output_s3_key_prefix(&self) -> &::std::option::Option<::std::string::String> {
&self.output_s3_key_prefix
}
/// <p>The maximum number of managed nodes that are allowed to run the command at the same time. You can specify a number of managed nodes, such as 10, or a percentage of nodes, such as 10%. The default value is 50. For more information about how to use <code>MaxConcurrency</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon Web Services Systems Manager Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub fn max_concurrency(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.max_concurrency = ::std::option::Option::Some(input.into());
self
}
/// <p>The maximum number of managed nodes that are allowed to run the command at the same time. You can specify a number of managed nodes, such as 10, or a percentage of nodes, such as 10%. The default value is 50. For more information about how to use <code>MaxConcurrency</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon Web Services Systems Manager Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub fn set_max_concurrency(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.max_concurrency = input;
self
}
/// <p>The maximum number of managed nodes that are allowed to run the command at the same time. You can specify a number of managed nodes, such as 10, or a percentage of nodes, such as 10%. The default value is 50. For more information about how to use <code>MaxConcurrency</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon Web Services Systems Manager Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub fn get_max_concurrency(&self) -> &::std::option::Option<::std::string::String> {
&self.max_concurrency
}
/// <p>The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is <code>0</code>. For more information about how to use <code>MaxErrors</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon Web Services Systems Manager Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub fn max_errors(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.max_errors = ::std::option::Option::Some(input.into());
self
}
/// <p>The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is <code>0</code>. For more information about how to use <code>MaxErrors</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon Web Services Systems Manager Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub fn set_max_errors(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.max_errors = input;
self
}
/// <p>The maximum number of errors allowed before the system stops sending the command to additional targets. You can specify a number of errors, such as 10, or a percentage or errors, such as 10%. The default value is <code>0</code>. For more information about how to use <code>MaxErrors</code>, see <a href="https://docs.aws.amazon.com/systems-manager/latest/userguide/run-command.html">Amazon Web Services Systems Manager Run Command</a> in the <i>Amazon Web Services Systems Manager User Guide</i>.</p>
pub fn get_max_errors(&self) -> &::std::option::Option<::std::string::String> {
&self.max_errors
}
/// <p>The number of targets for the command.</p>
pub fn target_count(mut self, input: i32) -> Self {
self.target_count = ::std::option::Option::Some(input);
self
}
/// <p>The number of targets for the command.</p>
pub fn set_target_count(mut self, input: ::std::option::Option<i32>) -> Self {
self.target_count = input;
self
}
/// <p>The number of targets for the command.</p>
pub fn get_target_count(&self) -> &::std::option::Option<i32> {
&self.target_count
}
/// <p>The number of targets for which the command invocation reached a terminal state. Terminal states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Cancelled, Terminated, or Undeliverable.</p>
pub fn completed_count(mut self, input: i32) -> Self {
self.completed_count = ::std::option::Option::Some(input);
self
}
/// <p>The number of targets for which the command invocation reached a terminal state. Terminal states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Cancelled, Terminated, or Undeliverable.</p>
pub fn set_completed_count(mut self, input: ::std::option::Option<i32>) -> Self {
self.completed_count = input;
self
}
/// <p>The number of targets for which the command invocation reached a terminal state. Terminal states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Cancelled, Terminated, or Undeliverable.</p>
pub fn get_completed_count(&self) -> &::std::option::Option<i32> {
&self.completed_count
}
/// <p>The number of targets for which the status is Failed or Execution Timed Out.</p>
pub fn error_count(mut self, input: i32) -> Self {
self.error_count = ::std::option::Option::Some(input);
self
}
/// <p>The number of targets for which the status is Failed or Execution Timed Out.</p>
pub fn set_error_count(mut self, input: ::std::option::Option<i32>) -> Self {
self.error_count = input;
self
}
/// <p>The number of targets for which the status is Failed or Execution Timed Out.</p>
pub fn get_error_count(&self) -> &::std::option::Option<i32> {
&self.error_count
}
/// <p>The number of targets for which the status is Delivery Timed Out.</p>
pub fn delivery_timed_out_count(mut self, input: i32) -> Self {
self.delivery_timed_out_count = ::std::option::Option::Some(input);
self
}
/// <p>The number of targets for which the status is Delivery Timed Out.</p>
pub fn set_delivery_timed_out_count(mut self, input: ::std::option::Option<i32>) -> Self {
self.delivery_timed_out_count = input;
self
}
/// <p>The number of targets for which the status is Delivery Timed Out.</p>
pub fn get_delivery_timed_out_count(&self) -> &::std::option::Option<i32> {
&self.delivery_timed_out_count
}
/// <p>The Identity and Access Management (IAM) service role that Run Command, a tool in Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes.</p>
pub fn service_role(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
self.service_role = ::std::option::Option::Some(input.into());
self
}
/// <p>The Identity and Access Management (IAM) service role that Run Command, a tool in Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes.</p>
pub fn set_service_role(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
self.service_role = input;
self
}
/// <p>The Identity and Access Management (IAM) service role that Run Command, a tool in Amazon Web Services Systems Manager, uses to act on your behalf when sending notifications about command status changes.</p>
pub fn get_service_role(&self) -> &::std::option::Option<::std::string::String> {
&self.service_role
}
/// <p>Configurations for sending notifications about command status changes.</p>
pub fn notification_config(mut self, input: crate::types::NotificationConfig) -> Self {
self.notification_config = ::std::option::Option::Some(input);
self
}
/// <p>Configurations for sending notifications about command status changes.</p>
pub fn set_notification_config(mut self, input: ::std::option::Option<crate::types::NotificationConfig>) -> Self {
self.notification_config = input;
self
}
/// <p>Configurations for sending notifications about command status changes.</p>
pub fn get_notification_config(&self) -> &::std::option::Option<crate::types::NotificationConfig> {
&self.notification_config
}
/// <p>Amazon CloudWatch Logs information where you want Amazon Web Services Systems Manager to send the command output.</p>
pub fn cloud_watch_output_config(mut self, input: crate::types::CloudWatchOutputConfig) -> Self {
self.cloud_watch_output_config = ::std::option::Option::Some(input);
self
}
/// <p>Amazon CloudWatch Logs information where you want Amazon Web Services Systems Manager to send the command output.</p>
pub fn set_cloud_watch_output_config(mut self, input: ::std::option::Option<crate::types::CloudWatchOutputConfig>) -> Self {
self.cloud_watch_output_config = input;
self
}
/// <p>Amazon CloudWatch Logs information where you want Amazon Web Services Systems Manager to send the command output.</p>
pub fn get_cloud_watch_output_config(&self) -> &::std::option::Option<crate::types::CloudWatchOutputConfig> {
&self.cloud_watch_output_config
}
/// <p>The <code>TimeoutSeconds</code> value specified for a command.</p>
pub fn timeout_seconds(mut self, input: i32) -> Self {
self.timeout_seconds = ::std::option::Option::Some(input);
self
}
/// <p>The <code>TimeoutSeconds</code> value specified for a command.</p>
pub fn set_timeout_seconds(mut self, input: ::std::option::Option<i32>) -> Self {
self.timeout_seconds = input;
self
}
/// <p>The <code>TimeoutSeconds</code> value specified for a command.</p>
pub fn get_timeout_seconds(&self) -> &::std::option::Option<i32> {
&self.timeout_seconds
}
/// <p>The details for the CloudWatch alarm applied to your command.</p>
pub fn alarm_configuration(mut self, input: crate::types::AlarmConfiguration) -> Self {
self.alarm_configuration = ::std::option::Option::Some(input);
self
}
/// <p>The details for the CloudWatch alarm applied to your command.</p>
pub fn set_alarm_configuration(mut self, input: ::std::option::Option<crate::types::AlarmConfiguration>) -> Self {
self.alarm_configuration = input;
self
}
/// <p>The details for the CloudWatch alarm applied to your command.</p>
pub fn get_alarm_configuration(&self) -> &::std::option::Option<crate::types::AlarmConfiguration> {
&self.alarm_configuration
}
/// Appends an item to `triggered_alarms`.
///
/// To override the contents of this collection use [`set_triggered_alarms`](Self::set_triggered_alarms).
///
/// <p>The CloudWatch alarm that was invoked by the command.</p>
pub fn triggered_alarms(mut self, input: crate::types::AlarmStateInformation) -> Self {
let mut v = self.triggered_alarms.unwrap_or_default();
v.push(input);
self.triggered_alarms = ::std::option::Option::Some(v);
self
}
/// <p>The CloudWatch alarm that was invoked by the command.</p>
pub fn set_triggered_alarms(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::AlarmStateInformation>>) -> Self {
self.triggered_alarms = input;
self
}
/// <p>The CloudWatch alarm that was invoked by the command.</p>
pub fn get_triggered_alarms(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::AlarmStateInformation>> {
&self.triggered_alarms
}
/// Consumes the builder and constructs a [`Command`](crate::types::Command).
pub fn build(self) -> crate::types::Command {
crate::types::Command {
command_id: self.command_id,
document_name: self.document_name,
document_version: self.document_version,
comment: self.comment,
expires_after: self.expires_after,
parameters: self.parameters,
instance_ids: self.instance_ids,
targets: self.targets,
requested_date_time: self.requested_date_time,
status: self.status,
status_details: self.status_details,
output_s3_region: self.output_s3_region,
output_s3_bucket_name: self.output_s3_bucket_name,
output_s3_key_prefix: self.output_s3_key_prefix,
max_concurrency: self.max_concurrency,
max_errors: self.max_errors,
target_count: self.target_count.unwrap_or_default(),
completed_count: self.completed_count.unwrap_or_default(),
error_count: self.error_count.unwrap_or_default(),
delivery_timed_out_count: self.delivery_timed_out_count.unwrap_or_default(),
service_role: self.service_role,
notification_config: self.notification_config,
cloud_watch_output_config: self.cloud_watch_output_config,
timeout_seconds: self.timeout_seconds,
alarm_configuration: self.alarm_configuration,
triggered_alarms: self.triggered_alarms,
}
}
}
impl ::std::fmt::Debug for CommandBuilder {
fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
let mut formatter = f.debug_struct("CommandBuilder");
formatter.field("command_id", &self.command_id);
formatter.field("document_name", &self.document_name);
formatter.field("document_version", &self.document_version);
formatter.field("comment", &self.comment);
formatter.field("expires_after", &self.expires_after);
formatter.field("parameters", &"*** Sensitive Data Redacted ***");
formatter.field("instance_ids", &self.instance_ids);
formatter.field("targets", &self.targets);
formatter.field("requested_date_time", &self.requested_date_time);
formatter.field("status", &self.status);
formatter.field("status_details", &self.status_details);
formatter.field("output_s3_region", &self.output_s3_region);
formatter.field("output_s3_bucket_name", &self.output_s3_bucket_name);
formatter.field("output_s3_key_prefix", &self.output_s3_key_prefix);
formatter.field("max_concurrency", &self.max_concurrency);
formatter.field("max_errors", &self.max_errors);
formatter.field("target_count", &self.target_count);
formatter.field("completed_count", &self.completed_count);
formatter.field("error_count", &self.error_count);
formatter.field("delivery_timed_out_count", &self.delivery_timed_out_count);
formatter.field("service_role", &self.service_role);
formatter.field("notification_config", &self.notification_config);
formatter.field("cloud_watch_output_config", &self.cloud_watch_output_config);
formatter.field("timeout_seconds", &self.timeout_seconds);
formatter.field("alarm_configuration", &self.alarm_configuration);
formatter.field("triggered_alarms", &self.triggered_alarms);
formatter.finish()
}
}