#[non_exhaustive]pub struct StackSetOperationPreferences {
pub region_concurrency_type: Option<RegionConcurrencyType>,
pub region_order: Option<Vec<String>>,
pub failure_tolerance_count: Option<i32>,
pub failure_tolerance_percentage: Option<i32>,
pub max_concurrent_count: Option<i32>,
pub max_concurrent_percentage: Option<i32>,
pub concurrency_mode: Option<ConcurrencyMode>,
}
Expand description
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.
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.region_concurrency_type: Option<RegionConcurrencyType>
The concurrency type of deploying StackSets operations in Regions, could be in parallel or one Region at a time.
region_order: Option<Vec<String>>
The order of the Regions where you want to perform the stack operation.
RegionOrder
isn't followed if AutoDeployment
is enabled.
failure_tolerance_count: Option<i32>
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.
failure_tolerance_percentage: Option<i32>
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.
max_concurrent_count: Option<i32>
The maximum number of accounts in which to perform this operation at one time. This can depend on the value of FailureToleranceCount
depending on your ConcurrencyMode
. MaxConcurrentCount
is at most one more than the FailureToleranceCount
if you're using STRICT_FAILURE_TOLERANCE
.
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.
max_concurrent_percentage: Option<i32>
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.
concurrency_mode: Option<ConcurrencyMode>
Specifies how the concurrency level behaves during the operation execution.
-
STRICT_FAILURE_TOLERANCE
: This option dynamically lowers the concurrency level to ensure the number of failed accounts never exceeds the value ofFailureToleranceCount
+1. The initial actual concurrency is set to the lower of either the value of theMaxConcurrentCount
, or the value ofMaxConcurrentCount
+1. The actual concurrency is then reduced proportionally by the number of failures. This is the default behavior.If failure tolerance or Maximum concurrent accounts are set to percentages, the behavior is similar.
-
SOFT_FAILURE_TOLERANCE
: This option decouplesFailureToleranceCount
from the actual concurrency. This allows stack set operations to run at the concurrency level set by theMaxConcurrentCount
value, orMaxConcurrentPercentage
, regardless of the number of failures.
Implementations§
source§impl StackSetOperationPreferences
impl StackSetOperationPreferences
sourcepub fn region_concurrency_type(&self) -> Option<&RegionConcurrencyType>
pub fn region_concurrency_type(&self) -> Option<&RegionConcurrencyType>
The concurrency type of deploying StackSets operations in Regions, could be in parallel or one Region at a time.
sourcepub fn region_order(&self) -> &[String]
pub fn region_order(&self) -> &[String]
The order of the Regions where you want to perform the stack operation.
RegionOrder
isn't followed if AutoDeployment
is enabled.
If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .region_order.is_none()
.
sourcepub fn failure_tolerance_count(&self) -> Option<i32>
pub fn failure_tolerance_count(&self) -> Option<i32>
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.
sourcepub fn failure_tolerance_percentage(&self) -> Option<i32>
pub fn failure_tolerance_percentage(&self) -> Option<i32>
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.
sourcepub fn max_concurrent_count(&self) -> Option<i32>
pub fn max_concurrent_count(&self) -> Option<i32>
The maximum number of accounts in which to perform this operation at one time. This can depend on the value of FailureToleranceCount
depending on your ConcurrencyMode
. MaxConcurrentCount
is at most one more than the FailureToleranceCount
if you're using STRICT_FAILURE_TOLERANCE
.
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.
sourcepub fn max_concurrent_percentage(&self) -> Option<i32>
pub fn max_concurrent_percentage(&self) -> Option<i32>
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.
sourcepub fn concurrency_mode(&self) -> Option<&ConcurrencyMode>
pub fn concurrency_mode(&self) -> Option<&ConcurrencyMode>
Specifies how the concurrency level behaves during the operation execution.
-
STRICT_FAILURE_TOLERANCE
: This option dynamically lowers the concurrency level to ensure the number of failed accounts never exceeds the value ofFailureToleranceCount
+1. The initial actual concurrency is set to the lower of either the value of theMaxConcurrentCount
, or the value ofMaxConcurrentCount
+1. The actual concurrency is then reduced proportionally by the number of failures. This is the default behavior.If failure tolerance or Maximum concurrent accounts are set to percentages, the behavior is similar.
-
SOFT_FAILURE_TOLERANCE
: This option decouplesFailureToleranceCount
from the actual concurrency. This allows stack set operations to run at the concurrency level set by theMaxConcurrentCount
value, orMaxConcurrentPercentage
, regardless of the number of failures.
source§impl StackSetOperationPreferences
impl StackSetOperationPreferences
sourcepub fn builder() -> StackSetOperationPreferencesBuilder
pub fn builder() -> StackSetOperationPreferencesBuilder
Creates a new builder-style object to manufacture StackSetOperationPreferences
.
Trait Implementations§
source§impl Clone for StackSetOperationPreferences
impl Clone for StackSetOperationPreferences
source§fn clone(&self) -> StackSetOperationPreferences
fn clone(&self) -> StackSetOperationPreferences
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for StackSetOperationPreferences
impl Debug for StackSetOperationPreferences
source§impl PartialEq for StackSetOperationPreferences
impl PartialEq for StackSetOperationPreferences
source§fn eq(&self, other: &StackSetOperationPreferences) -> bool
fn eq(&self, other: &StackSetOperationPreferences) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for StackSetOperationPreferences
Auto Trait Implementations§
impl Freeze for StackSetOperationPreferences
impl RefUnwindSafe for StackSetOperationPreferences
impl Send for StackSetOperationPreferences
impl Sync for StackSetOperationPreferences
impl Unpin for StackSetOperationPreferences
impl UnwindSafe for StackSetOperationPreferences
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more