/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace SSM { namespace Model { /** */ class StartAutomationExecutionRequest : public SSMRequest { public: AWS_SSM_API StartAutomationExecutionRequest(); // Service request name is the Operation name which will send this request out, // each operation should has unique request name, so that we can get operation's name from this request. // Note: this is not true for response, multiple operations may have the same response name, // so we can not get operation's name from response. inline virtual const char* GetServiceRequestName() const override { return "StartAutomationExecution"; } AWS_SSM_API Aws::String SerializePayload() const override; AWS_SSM_API Aws::Http::HeaderValueCollection GetRequestSpecificHeaders() const override; /** *

The name of the SSM document to run. This can be a public document or a * custom document. To run a shared document belonging to another account, specify * the document ARN. For more information about how to use shared documents, see Using * shared SSM documents in the Amazon Web Services Systems Manager User * Guide.

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

The name of the SSM document to run. This can be a public document or a * custom document. To run a shared document belonging to another account, specify * the document ARN. For more information about how to use shared documents, see Using * shared SSM documents in the Amazon Web Services Systems Manager User * Guide.

*/ inline bool DocumentNameHasBeenSet() const { return m_documentNameHasBeenSet; } /** *

The name of the SSM document to run. This can be a public document or a * custom document. To run a shared document belonging to another account, specify * the document ARN. For more information about how to use shared documents, see Using * shared SSM documents in the Amazon Web Services Systems Manager User * Guide.

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

The name of the SSM document to run. This can be a public document or a * custom document. To run a shared document belonging to another account, specify * the document ARN. For more information about how to use shared documents, see Using * shared SSM documents in the Amazon Web Services Systems Manager User * Guide.

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

The name of the SSM document to run. This can be a public document or a * custom document. To run a shared document belonging to another account, specify * the document ARN. For more information about how to use shared documents, see Using * shared SSM documents in the Amazon Web Services Systems Manager User * Guide.

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

The name of the SSM document to run. This can be a public document or a * custom document. To run a shared document belonging to another account, specify * the document ARN. For more information about how to use shared documents, see Using * shared SSM documents in the Amazon Web Services Systems Manager User * Guide.

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

The name of the SSM document to run. This can be a public document or a * custom document. To run a shared document belonging to another account, specify * the document ARN. For more information about how to use shared documents, see Using * shared SSM documents in the Amazon Web Services Systems Manager User * Guide.

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

The name of the SSM document to run. This can be a public document or a * custom document. To run a shared document belonging to another account, specify * the document ARN. For more information about how to use shared documents, see Using * shared SSM documents in the Amazon Web Services Systems Manager User * Guide.

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

The version of the Automation runbook to use for this execution.

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

The version of the Automation runbook to use for this execution.

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

The version of the Automation runbook to use for this execution.

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

The version of the Automation runbook to use for this execution.

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

The version of the Automation runbook to use for this execution.

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

The version of the Automation runbook to use for this execution.

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

The version of the Automation runbook to use for this execution.

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

The version of the Automation runbook to use for this execution.

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

A key-value map of execution parameters, which match the declared parameters * in the Automation runbook.

*/ inline const Aws::Map>& GetParameters() const{ return m_parameters; } /** *

A key-value map of execution parameters, which match the declared parameters * in the Automation runbook.

*/ inline bool ParametersHasBeenSet() const { return m_parametersHasBeenSet; } /** *

A key-value map of execution parameters, which match the declared parameters * in the Automation runbook.

*/ inline void SetParameters(const Aws::Map>& value) { m_parametersHasBeenSet = true; m_parameters = value; } /** *

A key-value map of execution parameters, which match the declared parameters * in the Automation runbook.

*/ inline void SetParameters(Aws::Map>&& value) { m_parametersHasBeenSet = true; m_parameters = std::move(value); } /** *

A key-value map of execution parameters, which match the declared parameters * in the Automation runbook.

*/ inline StartAutomationExecutionRequest& WithParameters(const Aws::Map>& value) { SetParameters(value); return *this;} /** *

A key-value map of execution parameters, which match the declared parameters * in the Automation runbook.

*/ inline StartAutomationExecutionRequest& WithParameters(Aws::Map>&& value) { SetParameters(std::move(value)); return *this;} /** *

A key-value map of execution parameters, which match the declared parameters * in the Automation runbook.

*/ inline StartAutomationExecutionRequest& AddParameters(const Aws::String& key, const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

A key-value map of execution parameters, which match the declared parameters * in the Automation runbook.

*/ inline StartAutomationExecutionRequest& AddParameters(Aws::String&& key, const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), value); return *this; } /** *

A key-value map of execution parameters, which match the declared parameters * in the Automation runbook.

*/ inline StartAutomationExecutionRequest& AddParameters(const Aws::String& key, Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

A key-value map of execution parameters, which match the declared parameters * in the Automation runbook.

*/ inline StartAutomationExecutionRequest& AddParameters(Aws::String&& key, Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(std::move(key), std::move(value)); return *this; } /** *

A key-value map of execution parameters, which match the declared parameters * in the Automation runbook.

*/ inline StartAutomationExecutionRequest& AddParameters(const char* key, Aws::Vector&& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, std::move(value)); return *this; } /** *

A key-value map of execution parameters, which match the declared parameters * in the Automation runbook.

*/ inline StartAutomationExecutionRequest& AddParameters(const char* key, const Aws::Vector& value) { m_parametersHasBeenSet = true; m_parameters.emplace(key, value); return *this; } /** *

User-provided idempotency token. The token must be unique, is case * insensitive, enforces the UUID format, and can't be reused.

*/ inline const Aws::String& GetClientToken() const{ return m_clientToken; } /** *

User-provided idempotency token. The token must be unique, is case * insensitive, enforces the UUID format, and can't be reused.

*/ inline bool ClientTokenHasBeenSet() const { return m_clientTokenHasBeenSet; } /** *

User-provided idempotency token. The token must be unique, is case * insensitive, enforces the UUID format, and can't be reused.

*/ inline void SetClientToken(const Aws::String& value) { m_clientTokenHasBeenSet = true; m_clientToken = value; } /** *

User-provided idempotency token. The token must be unique, is case * insensitive, enforces the UUID format, and can't be reused.

*/ inline void SetClientToken(Aws::String&& value) { m_clientTokenHasBeenSet = true; m_clientToken = std::move(value); } /** *

User-provided idempotency token. The token must be unique, is case * insensitive, enforces the UUID format, and can't be reused.

*/ inline void SetClientToken(const char* value) { m_clientTokenHasBeenSet = true; m_clientToken.assign(value); } /** *

User-provided idempotency token. The token must be unique, is case * insensitive, enforces the UUID format, and can't be reused.

*/ inline StartAutomationExecutionRequest& WithClientToken(const Aws::String& value) { SetClientToken(value); return *this;} /** *

User-provided idempotency token. The token must be unique, is case * insensitive, enforces the UUID format, and can't be reused.

*/ inline StartAutomationExecutionRequest& WithClientToken(Aws::String&& value) { SetClientToken(std::move(value)); return *this;} /** *

User-provided idempotency token. The token must be unique, is case * insensitive, enforces the UUID format, and can't be reused.

*/ inline StartAutomationExecutionRequest& WithClientToken(const char* value) { SetClientToken(value); return *this;} /** *

The execution mode of the automation. Valid modes include the following: Auto * and Interactive. The default mode is Auto.

*/ inline const ExecutionMode& GetMode() const{ return m_mode; } /** *

The execution mode of the automation. Valid modes include the following: Auto * and Interactive. The default mode is Auto.

*/ inline bool ModeHasBeenSet() const { return m_modeHasBeenSet; } /** *

The execution mode of the automation. Valid modes include the following: Auto * and Interactive. The default mode is Auto.

*/ inline void SetMode(const ExecutionMode& value) { m_modeHasBeenSet = true; m_mode = value; } /** *

The execution mode of the automation. Valid modes include the following: Auto * and Interactive. The default mode is Auto.

*/ inline void SetMode(ExecutionMode&& value) { m_modeHasBeenSet = true; m_mode = std::move(value); } /** *

The execution mode of the automation. Valid modes include the following: Auto * and Interactive. The default mode is Auto.

*/ inline StartAutomationExecutionRequest& WithMode(const ExecutionMode& value) { SetMode(value); return *this;} /** *

The execution mode of the automation. Valid modes include the following: Auto * and Interactive. The default mode is Auto.

*/ inline StartAutomationExecutionRequest& WithMode(ExecutionMode&& value) { SetMode(std::move(value)); return *this;} /** *

The name of the parameter used as the target resource for the rate-controlled * execution. Required if you specify targets.

*/ inline const Aws::String& GetTargetParameterName() const{ return m_targetParameterName; } /** *

The name of the parameter used as the target resource for the rate-controlled * execution. Required if you specify targets.

*/ inline bool TargetParameterNameHasBeenSet() const { return m_targetParameterNameHasBeenSet; } /** *

The name of the parameter used as the target resource for the rate-controlled * execution. Required if you specify targets.

*/ inline void SetTargetParameterName(const Aws::String& value) { m_targetParameterNameHasBeenSet = true; m_targetParameterName = value; } /** *

The name of the parameter used as the target resource for the rate-controlled * execution. Required if you specify targets.

*/ inline void SetTargetParameterName(Aws::String&& value) { m_targetParameterNameHasBeenSet = true; m_targetParameterName = std::move(value); } /** *

The name of the parameter used as the target resource for the rate-controlled * execution. Required if you specify targets.

*/ inline void SetTargetParameterName(const char* value) { m_targetParameterNameHasBeenSet = true; m_targetParameterName.assign(value); } /** *

The name of the parameter used as the target resource for the rate-controlled * execution. Required if you specify targets.

*/ inline StartAutomationExecutionRequest& WithTargetParameterName(const Aws::String& value) { SetTargetParameterName(value); return *this;} /** *

The name of the parameter used as the target resource for the rate-controlled * execution. Required if you specify targets.

*/ inline StartAutomationExecutionRequest& WithTargetParameterName(Aws::String&& value) { SetTargetParameterName(std::move(value)); return *this;} /** *

The name of the parameter used as the target resource for the rate-controlled * execution. Required if you specify targets.

*/ inline StartAutomationExecutionRequest& WithTargetParameterName(const char* value) { SetTargetParameterName(value); return *this;} /** *

A key-value mapping to target resources. Required if you specify * TargetParameterName.

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

A key-value mapping to target resources. Required if you specify * TargetParameterName.

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

A key-value mapping to target resources. Required if you specify * TargetParameterName.

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

A key-value mapping to target resources. Required if you specify * TargetParameterName.

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

A key-value mapping to target resources. Required if you specify * TargetParameterName.

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

A key-value mapping to target resources. Required if you specify * TargetParameterName.

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

A key-value mapping to target resources. Required if you specify * TargetParameterName.

*/ inline StartAutomationExecutionRequest& AddTargets(const Target& value) { m_targetsHasBeenSet = true; m_targets.push_back(value); return *this; } /** *

A key-value mapping to target resources. Required if you specify * TargetParameterName.

*/ inline StartAutomationExecutionRequest& AddTargets(Target&& value) { m_targetsHasBeenSet = true; m_targets.push_back(std::move(value)); return *this; } /** *

A key-value mapping of document parameters to target resources. Both Targets * and TargetMaps can't be specified together.

*/ inline const Aws::Vector>>& GetTargetMaps() const{ return m_targetMaps; } /** *

A key-value mapping of document parameters to target resources. Both Targets * and TargetMaps can't be specified together.

*/ inline bool TargetMapsHasBeenSet() const { return m_targetMapsHasBeenSet; } /** *

A key-value mapping of document parameters to target resources. Both Targets * and TargetMaps can't be specified together.

*/ inline void SetTargetMaps(const Aws::Vector>>& value) { m_targetMapsHasBeenSet = true; m_targetMaps = value; } /** *

A key-value mapping of document parameters to target resources. Both Targets * and TargetMaps can't be specified together.

*/ inline void SetTargetMaps(Aws::Vector>>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps = std::move(value); } /** *

A key-value mapping of document parameters to target resources. Both Targets * and TargetMaps can't be specified together.

*/ inline StartAutomationExecutionRequest& WithTargetMaps(const Aws::Vector>>& value) { SetTargetMaps(value); return *this;} /** *

A key-value mapping of document parameters to target resources. Both Targets * and TargetMaps can't be specified together.

*/ inline StartAutomationExecutionRequest& WithTargetMaps(Aws::Vector>>&& value) { SetTargetMaps(std::move(value)); return *this;} /** *

A key-value mapping of document parameters to target resources. Both Targets * and TargetMaps can't be specified together.

*/ inline StartAutomationExecutionRequest& AddTargetMaps(const Aws::Map>& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(value); return *this; } /** *

A key-value mapping of document parameters to target resources. Both Targets * and TargetMaps can't be specified together.

*/ inline StartAutomationExecutionRequest& AddTargetMaps(Aws::Map>&& value) { m_targetMapsHasBeenSet = true; m_targetMaps.push_back(std::move(value)); return *this; } /** *

The maximum number of targets allowed to run this task in parallel. You can * specify a number, such as 10, or a percentage, such as 10%. The default value is * 10.

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

The maximum number of targets allowed to run this task in parallel. You can * specify a number, such as 10, or a percentage, such as 10%. The default value is * 10.

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

The maximum number of targets allowed to run this task in parallel. You can * specify a number, such as 10, or a percentage, such as 10%. The default value is * 10.

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

The maximum number of targets allowed to run this task in parallel. You can * specify a number, such as 10, or a percentage, such as 10%. The default value is * 10.

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

The maximum number of targets allowed to run this task in parallel. You can * specify a number, such as 10, or a percentage, such as 10%. The default value is * 10.

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

The maximum number of targets allowed to run this task in parallel. You can * specify a number, such as 10, or a percentage, such as 10%. The default value is * 10.

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

The maximum number of targets allowed to run this task in parallel. You can * specify a number, such as 10, or a percentage, such as 10%. The default value is * 10.

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

The maximum number of targets allowed to run this task in parallel. You can * specify a number, such as 10, or a percentage, such as 10%. The default value is * 10.

*/ inline StartAutomationExecutionRequest& WithMaxConcurrency(const char* value) { SetMaxConcurrency(value); return *this;} /** *

The number of errors that are allowed before the system stops running the * automation on additional targets. You can specify either an absolute number of * errors, for example 10, or a percentage of the target set, for example 10%. If * you specify 3, for example, the system stops running the automation when the * fourth error is received. If you specify 0, then the system stops running the * automation on additional targets after the first error result is returned. If * you run an automation on 50 resources and set max-errors to 10%, then the system * stops running the automation on additional targets when the sixth error is * received.

Executions that are already running an automation when * max-errors is reached are allowed to complete, but some of these executions may * fail as well. If you need to ensure that there won't be more than max-errors * failed executions, set max-concurrency to 1 so the executions proceed one at a * time.

*/ inline const Aws::String& GetMaxErrors() const{ return m_maxErrors; } /** *

The number of errors that are allowed before the system stops running the * automation on additional targets. You can specify either an absolute number of * errors, for example 10, or a percentage of the target set, for example 10%. If * you specify 3, for example, the system stops running the automation when the * fourth error is received. If you specify 0, then the system stops running the * automation on additional targets after the first error result is returned. If * you run an automation on 50 resources and set max-errors to 10%, then the system * stops running the automation on additional targets when the sixth error is * received.

Executions that are already running an automation when * max-errors is reached are allowed to complete, but some of these executions may * fail as well. If you need to ensure that there won't be more than max-errors * failed executions, set max-concurrency to 1 so the executions proceed one at a * time.

*/ inline bool MaxErrorsHasBeenSet() const { return m_maxErrorsHasBeenSet; } /** *

The number of errors that are allowed before the system stops running the * automation on additional targets. You can specify either an absolute number of * errors, for example 10, or a percentage of the target set, for example 10%. If * you specify 3, for example, the system stops running the automation when the * fourth error is received. If you specify 0, then the system stops running the * automation on additional targets after the first error result is returned. If * you run an automation on 50 resources and set max-errors to 10%, then the system * stops running the automation on additional targets when the sixth error is * received.

Executions that are already running an automation when * max-errors is reached are allowed to complete, but some of these executions may * fail as well. If you need to ensure that there won't be more than max-errors * failed executions, set max-concurrency to 1 so the executions proceed one at a * time.

*/ inline void SetMaxErrors(const Aws::String& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = value; } /** *

The number of errors that are allowed before the system stops running the * automation on additional targets. You can specify either an absolute number of * errors, for example 10, or a percentage of the target set, for example 10%. If * you specify 3, for example, the system stops running the automation when the * fourth error is received. If you specify 0, then the system stops running the * automation on additional targets after the first error result is returned. If * you run an automation on 50 resources and set max-errors to 10%, then the system * stops running the automation on additional targets when the sixth error is * received.

Executions that are already running an automation when * max-errors is reached are allowed to complete, but some of these executions may * fail as well. If you need to ensure that there won't be more than max-errors * failed executions, set max-concurrency to 1 so the executions proceed one at a * time.

*/ inline void SetMaxErrors(Aws::String&& value) { m_maxErrorsHasBeenSet = true; m_maxErrors = std::move(value); } /** *

The number of errors that are allowed before the system stops running the * automation on additional targets. You can specify either an absolute number of * errors, for example 10, or a percentage of the target set, for example 10%. If * you specify 3, for example, the system stops running the automation when the * fourth error is received. If you specify 0, then the system stops running the * automation on additional targets after the first error result is returned. If * you run an automation on 50 resources and set max-errors to 10%, then the system * stops running the automation on additional targets when the sixth error is * received.

Executions that are already running an automation when * max-errors is reached are allowed to complete, but some of these executions may * fail as well. If you need to ensure that there won't be more than max-errors * failed executions, set max-concurrency to 1 so the executions proceed one at a * time.

*/ inline void SetMaxErrors(const char* value) { m_maxErrorsHasBeenSet = true; m_maxErrors.assign(value); } /** *

The number of errors that are allowed before the system stops running the * automation on additional targets. You can specify either an absolute number of * errors, for example 10, or a percentage of the target set, for example 10%. If * you specify 3, for example, the system stops running the automation when the * fourth error is received. If you specify 0, then the system stops running the * automation on additional targets after the first error result is returned. If * you run an automation on 50 resources and set max-errors to 10%, then the system * stops running the automation on additional targets when the sixth error is * received.

Executions that are already running an automation when * max-errors is reached are allowed to complete, but some of these executions may * fail as well. If you need to ensure that there won't be more than max-errors * failed executions, set max-concurrency to 1 so the executions proceed one at a * time.

*/ inline StartAutomationExecutionRequest& WithMaxErrors(const Aws::String& value) { SetMaxErrors(value); return *this;} /** *

The number of errors that are allowed before the system stops running the * automation on additional targets. You can specify either an absolute number of * errors, for example 10, or a percentage of the target set, for example 10%. If * you specify 3, for example, the system stops running the automation when the * fourth error is received. If you specify 0, then the system stops running the * automation on additional targets after the first error result is returned. If * you run an automation on 50 resources and set max-errors to 10%, then the system * stops running the automation on additional targets when the sixth error is * received.

Executions that are already running an automation when * max-errors is reached are allowed to complete, but some of these executions may * fail as well. If you need to ensure that there won't be more than max-errors * failed executions, set max-concurrency to 1 so the executions proceed one at a * time.

*/ inline StartAutomationExecutionRequest& WithMaxErrors(Aws::String&& value) { SetMaxErrors(std::move(value)); return *this;} /** *

The number of errors that are allowed before the system stops running the * automation on additional targets. You can specify either an absolute number of * errors, for example 10, or a percentage of the target set, for example 10%. If * you specify 3, for example, the system stops running the automation when the * fourth error is received. If you specify 0, then the system stops running the * automation on additional targets after the first error result is returned. If * you run an automation on 50 resources and set max-errors to 10%, then the system * stops running the automation on additional targets when the sixth error is * received.

Executions that are already running an automation when * max-errors is reached are allowed to complete, but some of these executions may * fail as well. If you need to ensure that there won't be more than max-errors * failed executions, set max-concurrency to 1 so the executions proceed one at a * time.

*/ inline StartAutomationExecutionRequest& WithMaxErrors(const char* value) { SetMaxErrors(value); return *this;} /** *

A location is a combination of Amazon Web Services Regions and/or Amazon Web * Services accounts where you want to run the automation. Use this operation to * start an automation in multiple Amazon Web Services Regions and multiple Amazon * Web Services accounts. For more information, see Running * Automation workflows in multiple Amazon Web Services Regions and Amazon Web * Services accounts in the Amazon Web Services Systems Manager User * Guide.

*/ inline const Aws::Vector& GetTargetLocations() const{ return m_targetLocations; } /** *

A location is a combination of Amazon Web Services Regions and/or Amazon Web * Services accounts where you want to run the automation. Use this operation to * start an automation in multiple Amazon Web Services Regions and multiple Amazon * Web Services accounts. For more information, see Running * Automation workflows in multiple Amazon Web Services Regions and Amazon Web * Services accounts in the Amazon Web Services Systems Manager User * Guide.

*/ inline bool TargetLocationsHasBeenSet() const { return m_targetLocationsHasBeenSet; } /** *

A location is a combination of Amazon Web Services Regions and/or Amazon Web * Services accounts where you want to run the automation. Use this operation to * start an automation in multiple Amazon Web Services Regions and multiple Amazon * Web Services accounts. For more information, see Running * Automation workflows in multiple Amazon Web Services Regions and Amazon Web * Services accounts in the Amazon Web Services Systems Manager User * Guide.

*/ inline void SetTargetLocations(const Aws::Vector& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = value; } /** *

A location is a combination of Amazon Web Services Regions and/or Amazon Web * Services accounts where you want to run the automation. Use this operation to * start an automation in multiple Amazon Web Services Regions and multiple Amazon * Web Services accounts. For more information, see Running * Automation workflows in multiple Amazon Web Services Regions and Amazon Web * Services accounts in the Amazon Web Services Systems Manager User * Guide.

*/ inline void SetTargetLocations(Aws::Vector&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations = std::move(value); } /** *

A location is a combination of Amazon Web Services Regions and/or Amazon Web * Services accounts where you want to run the automation. Use this operation to * start an automation in multiple Amazon Web Services Regions and multiple Amazon * Web Services accounts. For more information, see Running * Automation workflows in multiple Amazon Web Services Regions and Amazon Web * Services accounts in the Amazon Web Services Systems Manager User * Guide.

*/ inline StartAutomationExecutionRequest& WithTargetLocations(const Aws::Vector& value) { SetTargetLocations(value); return *this;} /** *

A location is a combination of Amazon Web Services Regions and/or Amazon Web * Services accounts where you want to run the automation. Use this operation to * start an automation in multiple Amazon Web Services Regions and multiple Amazon * Web Services accounts. For more information, see Running * Automation workflows in multiple Amazon Web Services Regions and Amazon Web * Services accounts in the Amazon Web Services Systems Manager User * Guide.

*/ inline StartAutomationExecutionRequest& WithTargetLocations(Aws::Vector&& value) { SetTargetLocations(std::move(value)); return *this;} /** *

A location is a combination of Amazon Web Services Regions and/or Amazon Web * Services accounts where you want to run the automation. Use this operation to * start an automation in multiple Amazon Web Services Regions and multiple Amazon * Web Services accounts. For more information, see Running * Automation workflows in multiple Amazon Web Services Regions and Amazon Web * Services accounts in the Amazon Web Services Systems Manager User * Guide.

*/ inline StartAutomationExecutionRequest& AddTargetLocations(const TargetLocation& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(value); return *this; } /** *

A location is a combination of Amazon Web Services Regions and/or Amazon Web * Services accounts where you want to run the automation. Use this operation to * start an automation in multiple Amazon Web Services Regions and multiple Amazon * Web Services accounts. For more information, see Running * Automation workflows in multiple Amazon Web Services Regions and Amazon Web * Services accounts in the Amazon Web Services Systems Manager User * Guide.

*/ inline StartAutomationExecutionRequest& AddTargetLocations(TargetLocation&& value) { m_targetLocationsHasBeenSet = true; m_targetLocations.push_back(std::move(value)); return *this; } /** *

Optional metadata that you assign to a resource. You can specify a maximum of * five tags for an automation. Tags enable you to categorize a resource in * different ways, such as by purpose, owner, or environment. For example, you * might want to tag an automation to identify an environment or operating system. * In this case, you could specify the following key-value pairs:

  • * Key=environment,Value=test

  • * Key=OS,Value=Windows

To add tags to an * existing automation, use the AddTagsToResource operation.

*/ inline const Aws::Vector& GetTags() const{ return m_tags; } /** *

Optional metadata that you assign to a resource. You can specify a maximum of * five tags for an automation. Tags enable you to categorize a resource in * different ways, such as by purpose, owner, or environment. For example, you * might want to tag an automation to identify an environment or operating system. * In this case, you could specify the following key-value pairs:

  • * Key=environment,Value=test

  • * Key=OS,Value=Windows

To add tags to an * existing automation, use the AddTagsToResource operation.

*/ inline bool TagsHasBeenSet() const { return m_tagsHasBeenSet; } /** *

Optional metadata that you assign to a resource. You can specify a maximum of * five tags for an automation. Tags enable you to categorize a resource in * different ways, such as by purpose, owner, or environment. For example, you * might want to tag an automation to identify an environment or operating system. * In this case, you could specify the following key-value pairs:

  • * Key=environment,Value=test

  • * Key=OS,Value=Windows

To add tags to an * existing automation, use the AddTagsToResource operation.

*/ inline void SetTags(const Aws::Vector& value) { m_tagsHasBeenSet = true; m_tags = value; } /** *

Optional metadata that you assign to a resource. You can specify a maximum of * five tags for an automation. Tags enable you to categorize a resource in * different ways, such as by purpose, owner, or environment. For example, you * might want to tag an automation to identify an environment or operating system. * In this case, you could specify the following key-value pairs:

  • * Key=environment,Value=test

  • * Key=OS,Value=Windows

To add tags to an * existing automation, use the AddTagsToResource operation.

*/ inline void SetTags(Aws::Vector&& value) { m_tagsHasBeenSet = true; m_tags = std::move(value); } /** *

Optional metadata that you assign to a resource. You can specify a maximum of * five tags for an automation. Tags enable you to categorize a resource in * different ways, such as by purpose, owner, or environment. For example, you * might want to tag an automation to identify an environment or operating system. * In this case, you could specify the following key-value pairs:

  • * Key=environment,Value=test

  • * Key=OS,Value=Windows

To add tags to an * existing automation, use the AddTagsToResource operation.

*/ inline StartAutomationExecutionRequest& WithTags(const Aws::Vector& value) { SetTags(value); return *this;} /** *

Optional metadata that you assign to a resource. You can specify a maximum of * five tags for an automation. Tags enable you to categorize a resource in * different ways, such as by purpose, owner, or environment. For example, you * might want to tag an automation to identify an environment or operating system. * In this case, you could specify the following key-value pairs:

  • * Key=environment,Value=test

  • * Key=OS,Value=Windows

To add tags to an * existing automation, use the AddTagsToResource operation.

*/ inline StartAutomationExecutionRequest& WithTags(Aws::Vector&& value) { SetTags(std::move(value)); return *this;} /** *

Optional metadata that you assign to a resource. You can specify a maximum of * five tags for an automation. Tags enable you to categorize a resource in * different ways, such as by purpose, owner, or environment. For example, you * might want to tag an automation to identify an environment or operating system. * In this case, you could specify the following key-value pairs:

  • * Key=environment,Value=test

  • * Key=OS,Value=Windows

To add tags to an * existing automation, use the AddTagsToResource operation.

*/ inline StartAutomationExecutionRequest& AddTags(const Tag& value) { m_tagsHasBeenSet = true; m_tags.push_back(value); return *this; } /** *

Optional metadata that you assign to a resource. You can specify a maximum of * five tags for an automation. Tags enable you to categorize a resource in * different ways, such as by purpose, owner, or environment. For example, you * might want to tag an automation to identify an environment or operating system. * In this case, you could specify the following key-value pairs:

  • * Key=environment,Value=test

  • * Key=OS,Value=Windows

To add tags to an * existing automation, use the AddTagsToResource operation.

*/ inline StartAutomationExecutionRequest& AddTags(Tag&& value) { m_tagsHasBeenSet = true; m_tags.push_back(std::move(value)); return *this; } /** *

The CloudWatch alarm you want to apply to your automation.

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

The CloudWatch alarm you want to apply to your automation.

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

The CloudWatch alarm you want to apply to your automation.

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

The CloudWatch alarm you want to apply to your automation.

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

The CloudWatch alarm you want to apply to your automation.

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

The CloudWatch alarm you want to apply to your automation.

*/ inline StartAutomationExecutionRequest& WithAlarmConfiguration(AlarmConfiguration&& value) { SetAlarmConfiguration(std::move(value)); return *this;} private: Aws::String m_documentName; bool m_documentNameHasBeenSet = false; Aws::String m_documentVersion; bool m_documentVersionHasBeenSet = false; Aws::Map> m_parameters; bool m_parametersHasBeenSet = false; Aws::String m_clientToken; bool m_clientTokenHasBeenSet = false; ExecutionMode m_mode; bool m_modeHasBeenSet = false; Aws::String m_targetParameterName; bool m_targetParameterNameHasBeenSet = false; Aws::Vector m_targets; bool m_targetsHasBeenSet = false; Aws::Vector>> m_targetMaps; bool m_targetMapsHasBeenSet = false; Aws::String m_maxConcurrency; bool m_maxConcurrencyHasBeenSet = false; Aws::String m_maxErrors; bool m_maxErrorsHasBeenSet = false; Aws::Vector m_targetLocations; bool m_targetLocationsHasBeenSet = false; Aws::Vector m_tags; bool m_tagsHasBeenSet = false; AlarmConfiguration m_alarmConfiguration; bool m_alarmConfigurationHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws