/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include namespace Aws { namespace Utils { namespace Json { class JsonValue; class JsonView; } // namespace Json } // namespace Utils namespace SSM { namespace Model { /** *

The combination of AWS Regions and accounts targeted by the current * Automation execution.

See Also:

AWS * API Reference

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

The AWS accounts targeted by the current Automation execution.

*/ inline const Aws::Vector& GetAccounts() const{ return m_accounts; } /** *

The AWS accounts targeted by the current Automation execution.

*/ inline bool AccountsHasBeenSet() const { return m_accountsHasBeenSet; } /** *

The AWS accounts targeted by the current Automation execution.

*/ inline void SetAccounts(const Aws::Vector& value) { m_accountsHasBeenSet = true; m_accounts = value; } /** *

The AWS accounts targeted by the current Automation execution.

*/ inline void SetAccounts(Aws::Vector&& value) { m_accountsHasBeenSet = true; m_accounts = std::move(value); } /** *

The AWS accounts targeted by the current Automation execution.

*/ inline TargetLocation& WithAccounts(const Aws::Vector& value) { SetAccounts(value); return *this;} /** *

The AWS accounts targeted by the current Automation execution.

*/ inline TargetLocation& WithAccounts(Aws::Vector&& value) { SetAccounts(std::move(value)); return *this;} /** *

The AWS accounts targeted by the current Automation execution.

*/ inline TargetLocation& AddAccounts(const Aws::String& value) { m_accountsHasBeenSet = true; m_accounts.push_back(value); return *this; } /** *

The AWS accounts targeted by the current Automation execution.

*/ inline TargetLocation& AddAccounts(Aws::String&& value) { m_accountsHasBeenSet = true; m_accounts.push_back(std::move(value)); return *this; } /** *

The AWS accounts targeted by the current Automation execution.

*/ inline TargetLocation& AddAccounts(const char* value) { m_accountsHasBeenSet = true; m_accounts.push_back(value); return *this; } /** *

The AWS Regions targeted by the current Automation execution.

*/ inline const Aws::Vector& GetRegions() const{ return m_regions; } /** *

The AWS Regions targeted by the current Automation execution.

*/ inline bool RegionsHasBeenSet() const { return m_regionsHasBeenSet; } /** *

The AWS Regions targeted by the current Automation execution.

*/ inline void SetRegions(const Aws::Vector& value) { m_regionsHasBeenSet = true; m_regions = value; } /** *

The AWS Regions targeted by the current Automation execution.

*/ inline void SetRegions(Aws::Vector&& value) { m_regionsHasBeenSet = true; m_regions = std::move(value); } /** *

The AWS Regions targeted by the current Automation execution.

*/ inline TargetLocation& WithRegions(const Aws::Vector& value) { SetRegions(value); return *this;} /** *

The AWS Regions targeted by the current Automation execution.

*/ inline TargetLocation& WithRegions(Aws::Vector&& value) { SetRegions(std::move(value)); return *this;} /** *

The AWS Regions targeted by the current Automation execution.

*/ inline TargetLocation& AddRegions(const Aws::String& value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } /** *

The AWS Regions targeted by the current Automation execution.

*/ inline TargetLocation& AddRegions(Aws::String&& value) { m_regionsHasBeenSet = true; m_regions.push_back(std::move(value)); return *this; } /** *

The AWS Regions targeted by the current Automation execution.

*/ inline TargetLocation& AddRegions(const char* value) { m_regionsHasBeenSet = true; m_regions.push_back(value); return *this; } /** *

The maximum number of AWS accounts and AWS regions allowed to run the * Automation concurrently

*/ inline const Aws::String& GetTargetLocationMaxConcurrency() const{ return m_targetLocationMaxConcurrency; } /** *

The maximum number of AWS accounts and AWS regions allowed to run the * Automation concurrently

*/ inline bool TargetLocationMaxConcurrencyHasBeenSet() const { return m_targetLocationMaxConcurrencyHasBeenSet; } /** *

The maximum number of AWS accounts and AWS regions allowed to run the * Automation concurrently

*/ inline void SetTargetLocationMaxConcurrency(const Aws::String& value) { m_targetLocationMaxConcurrencyHasBeenSet = true; m_targetLocationMaxConcurrency = value; } /** *

The maximum number of AWS accounts and AWS regions allowed to run the * Automation concurrently

*/ inline void SetTargetLocationMaxConcurrency(Aws::String&& value) { m_targetLocationMaxConcurrencyHasBeenSet = true; m_targetLocationMaxConcurrency = std::move(value); } /** *

The maximum number of AWS accounts and AWS regions allowed to run the * Automation concurrently

*/ inline void SetTargetLocationMaxConcurrency(const char* value) { m_targetLocationMaxConcurrencyHasBeenSet = true; m_targetLocationMaxConcurrency.assign(value); } /** *

The maximum number of AWS accounts and AWS regions allowed to run the * Automation concurrently

*/ inline TargetLocation& WithTargetLocationMaxConcurrency(const Aws::String& value) { SetTargetLocationMaxConcurrency(value); return *this;} /** *

The maximum number of AWS accounts and AWS regions allowed to run the * Automation concurrently

*/ inline TargetLocation& WithTargetLocationMaxConcurrency(Aws::String&& value) { SetTargetLocationMaxConcurrency(std::move(value)); return *this;} /** *

The maximum number of AWS accounts and AWS regions allowed to run the * Automation concurrently

*/ inline TargetLocation& WithTargetLocationMaxConcurrency(const char* value) { SetTargetLocationMaxConcurrency(value); return *this;} /** *

The maximum number of errors allowed before the system stops queueing * additional Automation executions for the currently running Automation.

*/ inline const Aws::String& GetTargetLocationMaxErrors() const{ return m_targetLocationMaxErrors; } /** *

The maximum number of errors allowed before the system stops queueing * additional Automation executions for the currently running Automation.

*/ inline bool TargetLocationMaxErrorsHasBeenSet() const { return m_targetLocationMaxErrorsHasBeenSet; } /** *

The maximum number of errors allowed before the system stops queueing * additional Automation executions for the currently running Automation.

*/ inline void SetTargetLocationMaxErrors(const Aws::String& value) { m_targetLocationMaxErrorsHasBeenSet = true; m_targetLocationMaxErrors = value; } /** *

The maximum number of errors allowed before the system stops queueing * additional Automation executions for the currently running Automation.

*/ inline void SetTargetLocationMaxErrors(Aws::String&& value) { m_targetLocationMaxErrorsHasBeenSet = true; m_targetLocationMaxErrors = std::move(value); } /** *

The maximum number of errors allowed before the system stops queueing * additional Automation executions for the currently running Automation.

*/ inline void SetTargetLocationMaxErrors(const char* value) { m_targetLocationMaxErrorsHasBeenSet = true; m_targetLocationMaxErrors.assign(value); } /** *

The maximum number of errors allowed before the system stops queueing * additional Automation executions for the currently running Automation.

*/ inline TargetLocation& WithTargetLocationMaxErrors(const Aws::String& value) { SetTargetLocationMaxErrors(value); return *this;} /** *

The maximum number of errors allowed before the system stops queueing * additional Automation executions for the currently running Automation.

*/ inline TargetLocation& WithTargetLocationMaxErrors(Aws::String&& value) { SetTargetLocationMaxErrors(std::move(value)); return *this;} /** *

The maximum number of errors allowed before the system stops queueing * additional Automation executions for the currently running Automation.

*/ inline TargetLocation& WithTargetLocationMaxErrors(const char* value) { SetTargetLocationMaxErrors(value); return *this;} /** *

The Automation execution role used by the currently running Automation.

*/ inline const Aws::String& GetExecutionRoleName() const{ return m_executionRoleName; } /** *

The Automation execution role used by the currently running Automation.

*/ inline bool ExecutionRoleNameHasBeenSet() const { return m_executionRoleNameHasBeenSet; } /** *

The Automation execution role used by the currently running Automation.

*/ inline void SetExecutionRoleName(const Aws::String& value) { m_executionRoleNameHasBeenSet = true; m_executionRoleName = value; } /** *

The Automation execution role used by the currently running Automation.

*/ inline void SetExecutionRoleName(Aws::String&& value) { m_executionRoleNameHasBeenSet = true; m_executionRoleName = std::move(value); } /** *

The Automation execution role used by the currently running Automation.

*/ inline void SetExecutionRoleName(const char* value) { m_executionRoleNameHasBeenSet = true; m_executionRoleName.assign(value); } /** *

The Automation execution role used by the currently running Automation.

*/ inline TargetLocation& WithExecutionRoleName(const Aws::String& value) { SetExecutionRoleName(value); return *this;} /** *

The Automation execution role used by the currently running Automation.

*/ inline TargetLocation& WithExecutionRoleName(Aws::String&& value) { SetExecutionRoleName(std::move(value)); return *this;} /** *

The Automation execution role used by the currently running Automation.

*/ inline TargetLocation& WithExecutionRoleName(const char* value) { SetExecutionRoleName(value); return *this;} private: Aws::Vector m_accounts; bool m_accountsHasBeenSet; Aws::Vector m_regions; bool m_regionsHasBeenSet; Aws::String m_targetLocationMaxConcurrency; bool m_targetLocationMaxConcurrencyHasBeenSet; Aws::String m_targetLocationMaxErrors; bool m_targetLocationMaxErrorsHasBeenSet; Aws::String m_executionRoleName; bool m_executionRoleNameHasBeenSet; }; } // namespace Model } // namespace SSM } // namespace Aws