/** * 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 when updating a provisioned * product. Not all preferences are applicable to all provisioned product type

*

One or more Amazon Web Services accounts that will have access to the * provisioned product.

Applicable only to a CFN_STACKSET * provisioned product type.

The Amazon Web Services accounts specified * should be within the list of accounts in the STACKSET constraint. * To get the list of accounts in the STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all accounts from the STACKSET * constraint.

See Also:

AWS * API Reference

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

One or more Amazon Web Services accounts where the provisioned product will * be available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified accounts should be within the list of * accounts from the STACKSET constraint. To get the list of accounts * in the STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all acounts from the STACKSET * constraint.

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

One or more Amazon Web Services accounts where the provisioned product will * be available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified accounts should be within the list of * accounts from the STACKSET constraint. To get the list of accounts * in the STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all acounts from the STACKSET * constraint.

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

One or more Amazon Web Services accounts where the provisioned product will * be available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified accounts should be within the list of * accounts from the STACKSET constraint. To get the list of accounts * in the STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all acounts from the STACKSET * constraint.

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

One or more Amazon Web Services accounts where the provisioned product will * be available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified accounts should be within the list of * accounts from the STACKSET constraint. To get the list of accounts * in the STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all acounts from the STACKSET * constraint.

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

One or more Amazon Web Services accounts where the provisioned product will * be available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified accounts should be within the list of * accounts from the STACKSET constraint. To get the list of accounts * in the STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all acounts from the STACKSET * constraint.

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

One or more Amazon Web Services accounts where the provisioned product will * be available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified accounts should be within the list of * accounts from the STACKSET constraint. To get the list of accounts * in the STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all acounts from the STACKSET * constraint.

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

One or more Amazon Web Services accounts where the provisioned product will * be available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified accounts should be within the list of * accounts from the STACKSET constraint. To get the list of accounts * in the STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all acounts from the STACKSET * constraint.

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

One or more Amazon Web Services accounts where the provisioned product will * be available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified accounts should be within the list of * accounts from the STACKSET constraint. To get the list of accounts * in the STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all acounts from the STACKSET * constraint.

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

One or more Amazon Web Services accounts where the provisioned product will * be available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified accounts should be within the list of * accounts from the STACKSET constraint. To get the list of accounts * in the STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all acounts from the STACKSET * constraint.

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

One or more Amazon Web Services Regions where the provisioned product will be * available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified Regions should be within the list of Regions * from the STACKSET constraint. To get the list of Regions in the * STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all Regions from the STACKSET * constraint.

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

One or more Amazon Web Services Regions where the provisioned product will be * available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified Regions should be within the list of Regions * from the STACKSET constraint. To get the list of Regions in the * STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all Regions from the STACKSET * constraint.

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

One or more Amazon Web Services Regions where the provisioned product will be * available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified Regions should be within the list of Regions * from the STACKSET constraint. To get the list of Regions in the * STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all Regions from the STACKSET * constraint.

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

One or more Amazon Web Services Regions where the provisioned product will be * available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified Regions should be within the list of Regions * from the STACKSET constraint. To get the list of Regions in the * STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all Regions from the STACKSET * constraint.

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

One or more Amazon Web Services Regions where the provisioned product will be * available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified Regions should be within the list of Regions * from the STACKSET constraint. To get the list of Regions in the * STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all Regions from the STACKSET * constraint.

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

One or more Amazon Web Services Regions where the provisioned product will be * available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified Regions should be within the list of Regions * from the STACKSET constraint. To get the list of Regions in the * STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all Regions from the STACKSET * constraint.

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

One or more Amazon Web Services Regions where the provisioned product will be * available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified Regions should be within the list of Regions * from the STACKSET constraint. To get the list of Regions in the * STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all Regions from the STACKSET * constraint.

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

One or more Amazon Web Services Regions where the provisioned product will be * available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified Regions should be within the list of Regions * from the STACKSET constraint. To get the list of Regions in the * STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all Regions from the STACKSET * constraint.

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

One or more Amazon Web Services Regions where the provisioned product will be * available.

Applicable only to a CFN_STACKSET provisioned * product type.

The specified Regions should be within the list of Regions * from the STACKSET constraint. To get the list of Regions in the * STACKSET constraint, use the * DescribeProvisioningParameters operation.

If no values are * specified, the default value is all Regions from the STACKSET * constraint.

*/ inline ProvisioningPreferences& AddStackSetRegions(const char* value) { m_stackSetRegionsHasBeenSet = true; m_stackSetRegions.push_back(value); return *this; } /** *

The number of accounts, per Region, for which this operation can fail before * Service Catalog stops the operation in that Region. If the operation is stopped * in a Region, Service Catalog doesn't attempt the operation in any subsequent * Regions.

Applicable only to a CFN_STACKSET provisioned * product type.

Conditional: You must specify either * StackSetFailureToleranceCount or * StackSetFailureTolerancePercentage, but not both.

The * default value is 0 if no value is specified.

*/ inline int GetStackSetFailureToleranceCount() const{ return m_stackSetFailureToleranceCount; } /** *

The number of accounts, per Region, for which this operation can fail before * Service Catalog stops the operation in that Region. If the operation is stopped * in a Region, Service Catalog doesn't attempt the operation in any subsequent * Regions.

Applicable only to a CFN_STACKSET provisioned * product type.

Conditional: You must specify either * StackSetFailureToleranceCount or * StackSetFailureTolerancePercentage, but not both.

The * default value is 0 if no value is specified.

*/ inline bool StackSetFailureToleranceCountHasBeenSet() const { return m_stackSetFailureToleranceCountHasBeenSet; } /** *

The number of accounts, per Region, for which this operation can fail before * Service Catalog stops the operation in that Region. If the operation is stopped * in a Region, Service Catalog doesn't attempt the operation in any subsequent * Regions.

Applicable only to a CFN_STACKSET provisioned * product type.

Conditional: You must specify either * StackSetFailureToleranceCount or * StackSetFailureTolerancePercentage, but not both.

The * default value is 0 if no value is specified.

*/ inline void SetStackSetFailureToleranceCount(int value) { m_stackSetFailureToleranceCountHasBeenSet = true; m_stackSetFailureToleranceCount = value; } /** *

The number of accounts, per Region, for which this operation can fail before * Service Catalog stops the operation in that Region. If the operation is stopped * in a Region, Service Catalog doesn't attempt the operation in any subsequent * Regions.

Applicable only to a CFN_STACKSET provisioned * product type.

Conditional: You must specify either * StackSetFailureToleranceCount or * StackSetFailureTolerancePercentage, but not both.

The * default value is 0 if no value is specified.

*/ inline ProvisioningPreferences& WithStackSetFailureToleranceCount(int value) { SetStackSetFailureToleranceCount(value); return *this;} /** *

The percentage of accounts, per Region, for which this stack operation can * fail before Service Catalog stops the operation in that Region. If the operation * is stopped in a Region, Service Catalog doesn't attempt the operation in any * subsequent Regions.

When calculating the number of accounts based on the * specified percentage, Service Catalog rounds down to the next whole number.

*

Applicable only to a CFN_STACKSET provisioned product type.

*

Conditional: You must specify either * StackSetFailureToleranceCount or * StackSetFailureTolerancePercentage, but not both.

*/ inline int GetStackSetFailureTolerancePercentage() const{ return m_stackSetFailureTolerancePercentage; } /** *

The percentage of accounts, per Region, for which this stack operation can * fail before Service Catalog stops the operation in that Region. If the operation * is stopped in a Region, Service Catalog doesn't attempt the operation in any * subsequent Regions.

When calculating the number of accounts based on the * specified percentage, Service Catalog rounds down to the next whole number.

*

Applicable only to a CFN_STACKSET provisioned product type.

*

Conditional: You must specify either * StackSetFailureToleranceCount or * StackSetFailureTolerancePercentage, but not both.

*/ inline bool StackSetFailureTolerancePercentageHasBeenSet() const { return m_stackSetFailureTolerancePercentageHasBeenSet; } /** *

The percentage of accounts, per Region, for which this stack operation can * fail before Service Catalog stops the operation in that Region. If the operation * is stopped in a Region, Service Catalog doesn't attempt the operation in any * subsequent Regions.

When calculating the number of accounts based on the * specified percentage, Service Catalog rounds down to the next whole number.

*

Applicable only to a CFN_STACKSET provisioned product type.

*

Conditional: You must specify either * StackSetFailureToleranceCount or * StackSetFailureTolerancePercentage, but not both.

*/ inline void SetStackSetFailureTolerancePercentage(int value) { m_stackSetFailureTolerancePercentageHasBeenSet = true; m_stackSetFailureTolerancePercentage = value; } /** *

The percentage of accounts, per Region, for which this stack operation can * fail before Service Catalog stops the operation in that Region. If the operation * is stopped in a Region, Service Catalog doesn't attempt the operation in any * subsequent Regions.

When calculating the number of accounts based on the * specified percentage, Service Catalog rounds down to the next whole number.

*

Applicable only to a CFN_STACKSET provisioned product type.

*

Conditional: You must specify either * StackSetFailureToleranceCount or * StackSetFailureTolerancePercentage, but not both.

*/ inline ProvisioningPreferences& WithStackSetFailureTolerancePercentage(int value) { SetStackSetFailureTolerancePercentage(value); return *this;} /** *

The maximum number of accounts in which to perform this operation at one * time. This is dependent on the value of * StackSetFailureToleranceCount. * StackSetMaxConcurrentCount is at most one more than the * StackSetFailureToleranceCount.

Note that this setting lets * you specify the maximum for operations. For large deployments, under certain * circumstances the actual number of accounts acted upon concurrently may be lower * due to service throttling.

Applicable only to a CFN_STACKSET * provisioned product type.

Conditional: You must specify either * StackSetMaxConcurrentCount or * StackSetMaxConcurrentPercentage, but not both.

*/ inline int GetStackSetMaxConcurrencyCount() const{ return m_stackSetMaxConcurrencyCount; } /** *

The maximum number of accounts in which to perform this operation at one * time. This is dependent on the value of * StackSetFailureToleranceCount. * StackSetMaxConcurrentCount is at most one more than the * StackSetFailureToleranceCount.

Note that this setting lets * you specify the maximum for operations. For large deployments, under certain * circumstances the actual number of accounts acted upon concurrently may be lower * due to service throttling.

Applicable only to a CFN_STACKSET * provisioned product type.

Conditional: You must specify either * StackSetMaxConcurrentCount or * StackSetMaxConcurrentPercentage, but not both.

*/ inline bool StackSetMaxConcurrencyCountHasBeenSet() const { return m_stackSetMaxConcurrencyCountHasBeenSet; } /** *

The maximum number of accounts in which to perform this operation at one * time. This is dependent on the value of * StackSetFailureToleranceCount. * StackSetMaxConcurrentCount is at most one more than the * StackSetFailureToleranceCount.

Note that this setting lets * you specify the maximum for operations. For large deployments, under certain * circumstances the actual number of accounts acted upon concurrently may be lower * due to service throttling.

Applicable only to a CFN_STACKSET * provisioned product type.

Conditional: You must specify either * StackSetMaxConcurrentCount or * StackSetMaxConcurrentPercentage, but not both.

*/ inline void SetStackSetMaxConcurrencyCount(int value) { m_stackSetMaxConcurrencyCountHasBeenSet = true; m_stackSetMaxConcurrencyCount = value; } /** *

The maximum number of accounts in which to perform this operation at one * time. This is dependent on the value of * StackSetFailureToleranceCount. * StackSetMaxConcurrentCount is at most one more than the * StackSetFailureToleranceCount.

Note that this setting lets * you specify the maximum for operations. For large deployments, under certain * circumstances the actual number of accounts acted upon concurrently may be lower * due to service throttling.

Applicable only to a CFN_STACKSET * provisioned product type.

Conditional: You must specify either * StackSetMaxConcurrentCount or * StackSetMaxConcurrentPercentage, but not both.

*/ inline ProvisioningPreferences& WithStackSetMaxConcurrencyCount(int value) { SetStackSetMaxConcurrencyCount(value); return *this;} /** *

The maximum percentage of accounts in which to perform this operation at one * time.

When calculating the number of accounts based on the specified * percentage, Service Catalog rounds down to the next whole number. This is true * except in cases where rounding down would result is zero. In this case, Service * Catalog sets the number as 1 instead.

Note that this setting * lets you specify the maximum for operations. For large deployments, under * certain circumstances the actual number of accounts acted upon concurrently may * be lower due to service throttling.

Applicable only to a * CFN_STACKSET provisioned product type.

Conditional: You must * specify either StackSetMaxConcurrentCount or * StackSetMaxConcurrentPercentage, but not both.

*/ inline int GetStackSetMaxConcurrencyPercentage() const{ return m_stackSetMaxConcurrencyPercentage; } /** *

The maximum percentage of accounts in which to perform this operation at one * time.

When calculating the number of accounts based on the specified * percentage, Service Catalog rounds down to the next whole number. This is true * except in cases where rounding down would result is zero. In this case, Service * Catalog sets the number as 1 instead.

Note that this setting * lets you specify the maximum for operations. For large deployments, under * certain circumstances the actual number of accounts acted upon concurrently may * be lower due to service throttling.

Applicable only to a * CFN_STACKSET provisioned product type.

Conditional: You must * specify either StackSetMaxConcurrentCount or * StackSetMaxConcurrentPercentage, but not both.

*/ inline bool StackSetMaxConcurrencyPercentageHasBeenSet() const { return m_stackSetMaxConcurrencyPercentageHasBeenSet; } /** *

The maximum percentage of accounts in which to perform this operation at one * time.

When calculating the number of accounts based on the specified * percentage, Service Catalog rounds down to the next whole number. This is true * except in cases where rounding down would result is zero. In this case, Service * Catalog sets the number as 1 instead.

Note that this setting * lets you specify the maximum for operations. For large deployments, under * certain circumstances the actual number of accounts acted upon concurrently may * be lower due to service throttling.

Applicable only to a * CFN_STACKSET provisioned product type.

Conditional: You must * specify either StackSetMaxConcurrentCount or * StackSetMaxConcurrentPercentage, but not both.

*/ inline void SetStackSetMaxConcurrencyPercentage(int value) { m_stackSetMaxConcurrencyPercentageHasBeenSet = true; m_stackSetMaxConcurrencyPercentage = value; } /** *

The maximum percentage of accounts in which to perform this operation at one * time.

When calculating the number of accounts based on the specified * percentage, Service Catalog rounds down to the next whole number. This is true * except in cases where rounding down would result is zero. In this case, Service * Catalog sets the number as 1 instead.

Note that this setting * lets you specify the maximum for operations. For large deployments, under * certain circumstances the actual number of accounts acted upon concurrently may * be lower due to service throttling.

Applicable only to a * CFN_STACKSET provisioned product type.

Conditional: You must * specify either StackSetMaxConcurrentCount or * StackSetMaxConcurrentPercentage, but not both.

*/ inline ProvisioningPreferences& WithStackSetMaxConcurrencyPercentage(int value) { SetStackSetMaxConcurrencyPercentage(value); return *this;} private: Aws::Vector m_stackSetAccounts; bool m_stackSetAccountsHasBeenSet = false; Aws::Vector m_stackSetRegions; bool m_stackSetRegionsHasBeenSet = false; int m_stackSetFailureToleranceCount; bool m_stackSetFailureToleranceCountHasBeenSet = false; int m_stackSetFailureTolerancePercentage; bool m_stackSetFailureTolerancePercentageHasBeenSet = false; int m_stackSetMaxConcurrencyCount; bool m_stackSetMaxConcurrencyCountHasBeenSet = false; int m_stackSetMaxConcurrencyPercentage; bool m_stackSetMaxConcurrencyPercentageHasBeenSet = false; }; } // namespace Model } // namespace ServiceCatalog } // namespace Aws