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

The combination of Amazon Web Services Regions and Amazon Web Services * accounts targeted by the current Automation execution.

See Also:

* AWS * API Reference

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

The Amazon Web Services accounts targeted by the current Automation * execution.

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

The Amazon Web Services accounts targeted by the current Automation * execution.

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

The Amazon Web Services accounts targeted by the current Automation * execution.

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

The Amazon Web Services accounts targeted by the current Automation * execution.

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

The Amazon Web Services accounts targeted by the current Automation * execution.

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

The Amazon Web Services accounts targeted by the current Automation * execution.

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

The Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services accounts targeted by the current Automation * execution.

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

The Amazon Web Services Regions targeted by the current Automation * execution.

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

The Amazon Web Services Regions targeted by the current Automation * execution.

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

The Amazon Web Services Regions targeted by the current Automation * execution.

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

The Amazon Web Services Regions targeted by the current Automation * execution.

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

The Amazon Web Services Regions targeted by the current Automation * execution.

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

The Amazon Web Services Regions targeted by the current Automation * execution.

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

The Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services 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 Amazon Web Services Regions and Amazon Web Services * accounts allowed to run the Automation concurrently.

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

The maximum number of Amazon Web Services Regions and Amazon Web Services * accounts allowed to run the Automation concurrently.

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

The maximum number of Amazon Web Services Regions and Amazon Web Services * accounts allowed to run the Automation concurrently.

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

The maximum number of Amazon Web Services Regions and Amazon Web Services * accounts allowed to run the Automation concurrently.

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

The maximum number of Amazon Web Services Regions and Amazon Web Services * accounts allowed to run the Automation concurrently.

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

The maximum number of Amazon Web Services Regions and Amazon Web Services * accounts allowed to run the Automation concurrently.

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

The maximum number of Amazon Web Services Regions and Amazon Web Services * accounts allowed to run the Automation concurrently.

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

The maximum number of Amazon Web Services Regions and Amazon Web Services * accounts 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. If * not specified, the default value is * AWS-SystemsManager-AutomationExecutionRole.

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

The Automation execution role used by the currently running Automation. If * not specified, the default value is * AWS-SystemsManager-AutomationExecutionRole.

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

The Automation execution role used by the currently running Automation. If * not specified, the default value is * AWS-SystemsManager-AutomationExecutionRole.

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

The Automation execution role used by the currently running Automation. If * not specified, the default value is * AWS-SystemsManager-AutomationExecutionRole.

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

The Automation execution role used by the currently running Automation. If * not specified, the default value is * AWS-SystemsManager-AutomationExecutionRole.

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

The Automation execution role used by the currently running Automation. If * not specified, the default value is * AWS-SystemsManager-AutomationExecutionRole.

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

The Automation execution role used by the currently running Automation. If * not specified, the default value is * AWS-SystemsManager-AutomationExecutionRole.

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

The Automation execution role used by the currently running Automation. If * not specified, the default value is * AWS-SystemsManager-AutomationExecutionRole.

*/ inline TargetLocation& WithExecutionRoleName(const char* value) { SetExecutionRoleName(value); return *this;} inline const AlarmConfiguration& GetTargetLocationAlarmConfiguration() const{ return m_targetLocationAlarmConfiguration; } inline bool TargetLocationAlarmConfigurationHasBeenSet() const { return m_targetLocationAlarmConfigurationHasBeenSet; } inline void SetTargetLocationAlarmConfiguration(const AlarmConfiguration& value) { m_targetLocationAlarmConfigurationHasBeenSet = true; m_targetLocationAlarmConfiguration = value; } inline void SetTargetLocationAlarmConfiguration(AlarmConfiguration&& value) { m_targetLocationAlarmConfigurationHasBeenSet = true; m_targetLocationAlarmConfiguration = std::move(value); } inline TargetLocation& WithTargetLocationAlarmConfiguration(const AlarmConfiguration& value) { SetTargetLocationAlarmConfiguration(value); return *this;} inline TargetLocation& WithTargetLocationAlarmConfiguration(AlarmConfiguration&& value) { SetTargetLocationAlarmConfiguration(std::move(value)); return *this;} private: Aws::Vector m_accounts; bool m_accountsHasBeenSet = false; Aws::Vector m_regions; bool m_regionsHasBeenSet = false; Aws::String m_targetLocationMaxConcurrency; bool m_targetLocationMaxConcurrencyHasBeenSet = false; Aws::String m_targetLocationMaxErrors; bool m_targetLocationMaxErrorsHasBeenSet = false; Aws::String m_executionRoleName; bool m_executionRoleNameHasBeenSet = false; AlarmConfiguration m_targetLocationAlarmConfiguration; bool m_targetLocationAlarmConfigurationHasBeenSet = false; }; } // namespace Model } // namespace SSM } // namespace Aws