/** * 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 ServiceCatalog { namespace Model { /** *

The user-defined preferences that will be applied during product * provisioning, unless overridden by ProvisioningPreferences or * UpdateProvisioningPreferences.

For more information on * maximum concurrent accounts and failure tolerance, see Stack * set operation options in the CloudFormation User Guide.

See * Also:

AWS * API Reference

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

One or more Amazon Web Services accounts where stack instances are deployed * from the stack set. These accounts can be scoped in * ProvisioningPreferences$StackSetAccounts and * UpdateProvisioningPreferences$StackSetAccounts.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline const Aws::Vector& GetStackSetAccounts() const{ return m_stackSetAccounts; } /** *

One or more Amazon Web Services accounts where stack instances are deployed * from the stack set. These accounts can be scoped in * ProvisioningPreferences$StackSetAccounts and * UpdateProvisioningPreferences$StackSetAccounts.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline bool StackSetAccountsHasBeenSet() const { return m_stackSetAccountsHasBeenSet; } /** *

One or more Amazon Web Services accounts where stack instances are deployed * from the stack set. These accounts can be scoped in * ProvisioningPreferences$StackSetAccounts and * UpdateProvisioningPreferences$StackSetAccounts.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline void SetStackSetAccounts(const Aws::Vector& value) { m_stackSetAccountsHasBeenSet = true; m_stackSetAccounts = value; } /** *

One or more Amazon Web Services accounts where stack instances are deployed * from the stack set. These accounts can be scoped in * ProvisioningPreferences$StackSetAccounts and * UpdateProvisioningPreferences$StackSetAccounts.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline void SetStackSetAccounts(Aws::Vector&& value) { m_stackSetAccountsHasBeenSet = true; m_stackSetAccounts = std::move(value); } /** *

One or more Amazon Web Services accounts where stack instances are deployed * from the stack set. These accounts can be scoped in * ProvisioningPreferences$StackSetAccounts and * UpdateProvisioningPreferences$StackSetAccounts.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline ProvisioningArtifactPreferences& WithStackSetAccounts(const Aws::Vector& value) { SetStackSetAccounts(value); return *this;} /** *

One or more Amazon Web Services accounts where stack instances are deployed * from the stack set. These accounts can be scoped in * ProvisioningPreferences$StackSetAccounts and * UpdateProvisioningPreferences$StackSetAccounts.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline ProvisioningArtifactPreferences& WithStackSetAccounts(Aws::Vector&& value) { SetStackSetAccounts(std::move(value)); return *this;} /** *

One or more Amazon Web Services accounts where stack instances are deployed * from the stack set. These accounts can be scoped in * ProvisioningPreferences$StackSetAccounts and * UpdateProvisioningPreferences$StackSetAccounts.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline ProvisioningArtifactPreferences& AddStackSetAccounts(const Aws::String& value) { m_stackSetAccountsHasBeenSet = true; m_stackSetAccounts.push_back(value); return *this; } /** *

One or more Amazon Web Services accounts where stack instances are deployed * from the stack set. These accounts can be scoped in * ProvisioningPreferences$StackSetAccounts and * UpdateProvisioningPreferences$StackSetAccounts.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline ProvisioningArtifactPreferences& AddStackSetAccounts(Aws::String&& value) { m_stackSetAccountsHasBeenSet = true; m_stackSetAccounts.push_back(std::move(value)); return *this; } /** *

One or more Amazon Web Services accounts where stack instances are deployed * from the stack set. These accounts can be scoped in * ProvisioningPreferences$StackSetAccounts and * UpdateProvisioningPreferences$StackSetAccounts.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline ProvisioningArtifactPreferences& AddStackSetAccounts(const char* value) { m_stackSetAccountsHasBeenSet = true; m_stackSetAccounts.push_back(value); return *this; } /** *

One or more Amazon Web Services Regions where stack instances are deployed * from the stack set. These Regions can be scoped in * ProvisioningPreferences$StackSetRegions and * UpdateProvisioningPreferences$StackSetRegions.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline const Aws::Vector& GetStackSetRegions() const{ return m_stackSetRegions; } /** *

One or more Amazon Web Services Regions where stack instances are deployed * from the stack set. These Regions can be scoped in * ProvisioningPreferences$StackSetRegions and * UpdateProvisioningPreferences$StackSetRegions.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline bool StackSetRegionsHasBeenSet() const { return m_stackSetRegionsHasBeenSet; } /** *

One or more Amazon Web Services Regions where stack instances are deployed * from the stack set. These Regions can be scoped in * ProvisioningPreferences$StackSetRegions and * UpdateProvisioningPreferences$StackSetRegions.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline void SetStackSetRegions(const Aws::Vector& value) { m_stackSetRegionsHasBeenSet = true; m_stackSetRegions = value; } /** *

One or more Amazon Web Services Regions where stack instances are deployed * from the stack set. These Regions can be scoped in * ProvisioningPreferences$StackSetRegions and * UpdateProvisioningPreferences$StackSetRegions.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline void SetStackSetRegions(Aws::Vector&& value) { m_stackSetRegionsHasBeenSet = true; m_stackSetRegions = std::move(value); } /** *

One or more Amazon Web Services Regions where stack instances are deployed * from the stack set. These Regions can be scoped in * ProvisioningPreferences$StackSetRegions and * UpdateProvisioningPreferences$StackSetRegions.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline ProvisioningArtifactPreferences& WithStackSetRegions(const Aws::Vector& value) { SetStackSetRegions(value); return *this;} /** *

One or more Amazon Web Services Regions where stack instances are deployed * from the stack set. These Regions can be scoped in * ProvisioningPreferences$StackSetRegions and * UpdateProvisioningPreferences$StackSetRegions.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline ProvisioningArtifactPreferences& WithStackSetRegions(Aws::Vector&& value) { SetStackSetRegions(std::move(value)); return *this;} /** *

One or more Amazon Web Services Regions where stack instances are deployed * from the stack set. These Regions can be scoped in * ProvisioningPreferences$StackSetRegions and * UpdateProvisioningPreferences$StackSetRegions.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline ProvisioningArtifactPreferences& AddStackSetRegions(const Aws::String& value) { m_stackSetRegionsHasBeenSet = true; m_stackSetRegions.push_back(value); return *this; } /** *

One or more Amazon Web Services Regions where stack instances are deployed * from the stack set. These Regions can be scoped in * ProvisioningPreferences$StackSetRegions and * UpdateProvisioningPreferences$StackSetRegions.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline ProvisioningArtifactPreferences& AddStackSetRegions(Aws::String&& value) { m_stackSetRegionsHasBeenSet = true; m_stackSetRegions.push_back(std::move(value)); return *this; } /** *

One or more Amazon Web Services Regions where stack instances are deployed * from the stack set. These Regions can be scoped in * ProvisioningPreferences$StackSetRegions and * UpdateProvisioningPreferences$StackSetRegions.

Applicable * only to a CFN_STACKSET provisioned product type.

*/ inline ProvisioningArtifactPreferences& AddStackSetRegions(const char* value) { m_stackSetRegionsHasBeenSet = true; m_stackSetRegions.push_back(value); return *this; } private: Aws::Vector m_stackSetAccounts; bool m_stackSetAccountsHasBeenSet = false; Aws::Vector m_stackSetRegions; bool m_stackSetRegionsHasBeenSet = false; }; } // namespace Model } // namespace ServiceCatalog } // namespace Aws