/*
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
/*
* Do not modify this file. This file is generated from the servicecatalog-2015-12-10.normal.json service model.
*/
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.ServiceCatalog.Model
{
///
/// The user-defined preferences that will be applied when updating a provisioned product.
/// Not all preferences are applicable to all provisioned product types.
///
public partial class UpdateProvisioningPreferences
{
private List _stackSetAccounts = new List();
private int? _stackSetFailureToleranceCount;
private int? _stackSetFailureTolerancePercentage;
private int? _stackSetMaxConcurrencyCount;
private int? _stackSetMaxConcurrencyPercentage;
private StackSetOperationType _stackSetOperationType;
private List _stackSetRegions = new List();
///
/// Gets and sets the property StackSetAccounts.
///
/// 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.
///
///
public List StackSetAccounts
{
get { return this._stackSetAccounts; }
set { this._stackSetAccounts = value; }
}
// Check to see if StackSetAccounts property is set
internal bool IsSetStackSetAccounts()
{
return this._stackSetAccounts != null && this._stackSetAccounts.Count > 0;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=0)]
public int StackSetFailureToleranceCount
{
get { return this._stackSetFailureToleranceCount.GetValueOrDefault(); }
set { this._stackSetFailureToleranceCount = value; }
}
// Check to see if StackSetFailureToleranceCount property is set
internal bool IsSetStackSetFailureToleranceCount()
{
return this._stackSetFailureToleranceCount.HasValue;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=0, Max=100)]
public int StackSetFailureTolerancePercentage
{
get { return this._stackSetFailureTolerancePercentage.GetValueOrDefault(); }
set { this._stackSetFailureTolerancePercentage = value; }
}
// Check to see if StackSetFailureTolerancePercentage property is set
internal bool IsSetStackSetFailureTolerancePercentage()
{
return this._stackSetFailureTolerancePercentage.HasValue;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=1)]
public int StackSetMaxConcurrencyCount
{
get { return this._stackSetMaxConcurrencyCount.GetValueOrDefault(); }
set { this._stackSetMaxConcurrencyCount = value; }
}
// Check to see if StackSetMaxConcurrencyCount property is set
internal bool IsSetStackSetMaxConcurrencyCount()
{
return this._stackSetMaxConcurrencyCount.HasValue;
}
///
/// Gets and sets the property 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.
///
///
[AWSProperty(Min=1, Max=100)]
public int StackSetMaxConcurrencyPercentage
{
get { return this._stackSetMaxConcurrencyPercentage.GetValueOrDefault(); }
set { this._stackSetMaxConcurrencyPercentage = value; }
}
// Check to see if StackSetMaxConcurrencyPercentage property is set
internal bool IsSetStackSetMaxConcurrencyPercentage()
{
return this._stackSetMaxConcurrencyPercentage.HasValue;
}
///
/// Gets and sets the property StackSetOperationType.
///
/// Determines what action Service Catalog performs to a stack set or a stack instance
/// represented by the provisioned product. The default value is UPDATE
if
/// nothing is specified.
///
///
///
/// Applicable only to a CFN_STACKSET
provisioned product type.
///
/// - CREATE
-
///
/// Creates a new stack instance in the stack set represented by the provisioned product.
/// In this case, only new stack instances are created based on accounts and Regions;
/// if new ProductId or ProvisioningArtifactID are passed, they will be ignored.
///
///
- UPDATE
-
///
/// Updates the stack set represented by the provisioned product and also its stack instances.
///
///
- DELETE
-
///
/// Deletes a stack instance in the stack set represented by the provisioned product.
///
///
///
public StackSetOperationType StackSetOperationType
{
get { return this._stackSetOperationType; }
set { this._stackSetOperationType = value; }
}
// Check to see if StackSetOperationType property is set
internal bool IsSetStackSetOperationType()
{
return this._stackSetOperationType != null;
}
///
/// Gets and sets the property 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.
///
///
public List StackSetRegions
{
get { return this._stackSetRegions; }
set { this._stackSetRegions = value; }
}
// Check to see if StackSetRegions property is set
internal bool IsSetStackSetRegions()
{
return this._stackSetRegions != null && this._stackSetRegions.Count > 0;
}
}
}