import { Value } from '../../../cloudformation/Value';
/**
  The user-specified preferences for how AWS CloudFormation performs a stack set operation. For more information on maximum concurrent accounts and failure tolerance, see <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options">Stack set operation options</a>.
  For full documentation go to <a href="http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudformation-stackset-operationpreferences.html">the AWS Docs</a>
*/
export interface OperationPreferencesProps {
    /** <code>MaxConcurrentPercentage</code>  <a name="cfn-cloudformation-stackset-operationpreferences-maxconcurrentpercentage"></a>
  The maximum percentage of accounts in which to perform this operation at one time.<br />
  When calculating the number of accounts based on the specified percentage, AWS 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.<br />
  Note that this setting lets you specify the
  maximum: or operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.<br />
  Conditional: You must specify either <code>MaxConcurrentCount</code> or <code>MaxConcurrentPercentage</code>, but not both.<br />
  
  Required: Conditional<br />
  
  Minimum: <code>1</code><br />
  
  Maximum: <code>100</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    maxConcurrentPercentage?: Value<number>;
    /** <code>RegionConcurrencyType</code>  <a name="cfn-cloudformation-stackset-operationpreferences-regionconcurrencytype"></a>
  The concurrency type of deploying StackSets operations in Regions, could be in parallel or one Region at a time.<br />
  
  Required: No<br />
  
  Allowed values: <code>PARALLEL | SEQUENTIAL</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    regionConcurrencyType?: Value<'PARALLEL' | 'SEQUENTIAL'>;
    /** <code>MaxConcurrentCount</code>  <a name="cfn-cloudformation-stackset-operationpreferences-maxconcurrentcount"></a>
  The maximum number of accounts in which to perform this operation at one time. This is dependent on the value of <code>FailureToleranceCount</code>. <code>MaxConcurrentCount</code> is at most one more than the <code>FailureToleranceCount</code>.<br />
  Note that this setting lets you specify the
  maximum: or operations. For large deployments, under certain circumstances the actual number of accounts acted upon concurrently may be lower due to service throttling.<br />
  Conditional: You must specify either <code>MaxConcurrentCount</code> or <code>MaxConcurrentPercentage</code>, but not both.<br />
  
  Required: Conditional<br />
  
  Minimum: <code>1</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    maxConcurrentCount?: Value<number>;
    /** <code>FailureTolerancePercentage</code>  <a name="cfn-cloudformation-stackset-operationpreferences-failuretolerancepercentage"></a>
  The percentage of accounts, per Region, for which this stack operation can fail before AWS CloudFormation stops the operation in that Region. If the operation is stopped in a Region, AWS CloudFormation doesn’t attempt the operation in any subsequent Regions.<br />
  When calculating the number of accounts based on the specified percentage, AWS CloudFormation rounds
  down: o the next whole number.<br />
  Conditional: You must specify either <code>FailureToleranceCount</code> or <code>FailureTolerancePercentage</code>, but not both.<br />
  
  Required: Conditional<br />
  
  Minimum: <code>0</code><br />
  
  Maximum: <code>100</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    failureTolerancePercentage?: Value<number>;
    /** <code>FailureToleranceCount</code>  <a name="cfn-cloudformation-stackset-operationpreferences-failuretolerancecount"></a>
  The number of accounts, per Region, for which this operation can fail before AWS CloudFormation stops the operation in that Region. If the operation is stopped in a Region, AWS CloudFormation doesn’t attempt the operation in any subsequent Regions.<br />
  Conditional: You must specify either <code>FailureToleranceCount</code> or <code>FailureTolerancePercentage</code> (but not both).<br />
  
  Required: Conditional<br />
  
  Minimum: <code>0</code><br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    failureToleranceCount?: Value<number>;
    /** <code>RegionOrder</code>  <a name="cfn-cloudformation-stackset-operationpreferences-regionorder"></a>
  The order of the Regions where you want to perform the stack operation.<br />
  
  Required: No<br />
  
  Update requires: <a href="https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-update-behaviors.html#update-no-interrupt">No interruption</a> */
    regionOrder?: Value<Value<string>[]>;
}
