/* * 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 cloudformation-2010-05-15.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.CloudFormation.Model { /// /// The user-specified preferences for how CloudFormation performs a stack set operation. /// /// /// /// For more information about maximum concurrent accounts and failure tolerance, see /// Stack /// set operation options. /// /// public partial class StackSetOperationPreferences { private int? _failureToleranceCount; private int? _failureTolerancePercentage; private int? _maxConcurrentCount; private int? _maxConcurrentPercentage; private RegionConcurrencyType _regionConcurrencyType; private List _regionOrder = new List(); /// /// Gets and sets the property FailureToleranceCount. /// /// The number of accounts, per Region, for which this operation can fail before CloudFormation /// stops the operation in that Region. If the operation is stopped in a Region, CloudFormation /// doesn't attempt the operation in any subsequent Regions. /// /// /// /// Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage /// (but not both). /// /// /// /// By default, 0 is specified. /// /// [AWSProperty(Min=0)] public int FailureToleranceCount { get { return this._failureToleranceCount.GetValueOrDefault(); } set { this._failureToleranceCount = value; } } // Check to see if FailureToleranceCount property is set internal bool IsSetFailureToleranceCount() { return this._failureToleranceCount.HasValue; } /// /// Gets and sets the property FailureTolerancePercentage. /// /// The percentage of accounts, per Region, for which this stack operation can fail before /// CloudFormation stops the operation in that Region. If the operation is stopped in /// a Region, CloudFormation doesn't attempt the operation in any subsequent Regions. /// /// /// /// When calculating the number of accounts based on the specified percentage, CloudFormation /// rounds down to the next whole number. /// /// /// /// Conditional: You must specify either FailureToleranceCount or FailureTolerancePercentage, /// but not both. /// /// /// /// By default, 0 is specified. /// /// [AWSProperty(Min=0, Max=100)] public int FailureTolerancePercentage { get { return this._failureTolerancePercentage.GetValueOrDefault(); } set { this._failureTolerancePercentage = value; } } // Check to see if FailureTolerancePercentage property is set internal bool IsSetFailureTolerancePercentage() { return this._failureTolerancePercentage.HasValue; } /// /// Gets and sets the property MaxConcurrentCount. /// /// The maximum number of accounts in which to perform this operation at one time. This /// is dependent on the value of FailureToleranceCount.MaxConcurrentCount /// is at most one more than the FailureToleranceCount. /// /// /// /// 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. /// /// /// /// Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage, /// but not both. /// /// /// /// By default, 1 is specified. /// /// [AWSProperty(Min=1)] public int MaxConcurrentCount { get { return this._maxConcurrentCount.GetValueOrDefault(); } set { this._maxConcurrentCount = value; } } // Check to see if MaxConcurrentCount property is set internal bool IsSetMaxConcurrentCount() { return this._maxConcurrentCount.HasValue; } /// /// Gets and sets the property MaxConcurrentPercentage. /// /// 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, CloudFormation /// rounds down to the next whole number. This is true except in cases where rounding /// down would result is zero. In this case, CloudFormation sets the number as one 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. /// /// /// /// Conditional: You must specify either MaxConcurrentCount or MaxConcurrentPercentage, /// but not both. /// /// /// /// By default, 1 is specified. /// /// [AWSProperty(Min=1, Max=100)] public int MaxConcurrentPercentage { get { return this._maxConcurrentPercentage.GetValueOrDefault(); } set { this._maxConcurrentPercentage = value; } } // Check to see if MaxConcurrentPercentage property is set internal bool IsSetMaxConcurrentPercentage() { return this._maxConcurrentPercentage.HasValue; } /// /// Gets and sets the property RegionConcurrencyType. /// /// The concurrency type of deploying StackSets operations in Regions, could be in parallel /// or one Region at a time. /// /// public RegionConcurrencyType RegionConcurrencyType { get { return this._regionConcurrencyType; } set { this._regionConcurrencyType = value; } } // Check to see if RegionConcurrencyType property is set internal bool IsSetRegionConcurrencyType() { return this._regionConcurrencyType != null; } /// /// Gets and sets the property RegionOrder. /// /// The order of the Regions where you want to perform the stack operation. /// /// public List RegionOrder { get { return this._regionOrder; } set { this._regionOrder = value; } } // Check to see if RegionOrder property is set internal bool IsSetRegionOrder() { return this._regionOrder != null && this._regionOrder.Count > 0; } } }