#[non_exhaustive]pub struct ResourceChangeDetail {
pub target: Option<ResourceTargetDefinition>,
pub evaluation: Option<EvaluationType>,
pub change_source: Option<ChangeSource>,
pub causing_entity: Option<String>,
}
Expand description
For a resource with Modify
as the action, the ResourceChange
structure describes the changes CloudFormation will make to that resource.
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.target: Option<ResourceTargetDefinition>
A ResourceTargetDefinition
structure that describes the field that CloudFormation will change and whether the resource will be recreated.
evaluation: Option<EvaluationType>
Indicates whether CloudFormation can determine the target value, and whether the target value will change before you execute a change set.
For Static
evaluations, CloudFormation can determine that the target value will change, and its value. For example, if you directly modify the InstanceType
property of an EC2 instance, CloudFormation knows that this property value will change, and its value, so this is a Static
evaluation.
For Dynamic
evaluations, can't determine the target value because it depends on the result of an intrinsic function, such as a Ref
or Fn::GetAtt
intrinsic function, when the stack is updated. For example, if your template includes a reference to a resource that's conditionally recreated, the value of the reference (the physical ID of the resource) might change, depending on if the resource is recreated. If the resource is recreated, it will have a new physical ID, so all references to that resource will also be updated.
change_source: Option<ChangeSource>
The group to which the CausingEntity
value belongs. There are five entity groups:
-
ResourceReference
entities areRef
intrinsic functions that refer to resources in the template, such as{ "Ref" : "MyEC2InstanceResource" }
. -
ParameterReference
entities areRef
intrinsic functions that get template parameter values, such as{ "Ref" : "MyPasswordParameter" }
. -
ResourceAttribute
entities areFn::GetAtt
intrinsic functions that get resource attribute values, such as{ "Fn::GetAtt" : [ "MyEC2InstanceResource", "PublicDnsName" ] }
. -
DirectModification
entities are changes that are made directly to the template. -
Automatic
entities areAWS::CloudFormation::Stack
resource types, which are also known as nested stacks. If you made no changes to theAWS::CloudFormation::Stack
resource, CloudFormation sets theChangeSource
toAutomatic
because the nested stack's template might have changed. Changes to a nested stack's template aren't visible to CloudFormation until you run an update on the parent stack.
causing_entity: Option<String>
The identity of the entity that triggered this change. This entity is a member of the group that's specified by the ChangeSource
field. For example, if you modified the value of the KeyPairName
parameter, the CausingEntity
is the name of the parameter (KeyPairName
).
If the ChangeSource
value is DirectModification
, no value is given for CausingEntity
.
Implementations§
source§impl ResourceChangeDetail
impl ResourceChangeDetail
sourcepub fn target(&self) -> Option<&ResourceTargetDefinition>
pub fn target(&self) -> Option<&ResourceTargetDefinition>
A ResourceTargetDefinition
structure that describes the field that CloudFormation will change and whether the resource will be recreated.
sourcepub fn evaluation(&self) -> Option<&EvaluationType>
pub fn evaluation(&self) -> Option<&EvaluationType>
Indicates whether CloudFormation can determine the target value, and whether the target value will change before you execute a change set.
For Static
evaluations, CloudFormation can determine that the target value will change, and its value. For example, if you directly modify the InstanceType
property of an EC2 instance, CloudFormation knows that this property value will change, and its value, so this is a Static
evaluation.
For Dynamic
evaluations, can't determine the target value because it depends on the result of an intrinsic function, such as a Ref
or Fn::GetAtt
intrinsic function, when the stack is updated. For example, if your template includes a reference to a resource that's conditionally recreated, the value of the reference (the physical ID of the resource) might change, depending on if the resource is recreated. If the resource is recreated, it will have a new physical ID, so all references to that resource will also be updated.
sourcepub fn change_source(&self) -> Option<&ChangeSource>
pub fn change_source(&self) -> Option<&ChangeSource>
The group to which the CausingEntity
value belongs. There are five entity groups:
-
ResourceReference
entities areRef
intrinsic functions that refer to resources in the template, such as{ "Ref" : "MyEC2InstanceResource" }
. -
ParameterReference
entities areRef
intrinsic functions that get template parameter values, such as{ "Ref" : "MyPasswordParameter" }
. -
ResourceAttribute
entities areFn::GetAtt
intrinsic functions that get resource attribute values, such as{ "Fn::GetAtt" : [ "MyEC2InstanceResource", "PublicDnsName" ] }
. -
DirectModification
entities are changes that are made directly to the template. -
Automatic
entities areAWS::CloudFormation::Stack
resource types, which are also known as nested stacks. If you made no changes to theAWS::CloudFormation::Stack
resource, CloudFormation sets theChangeSource
toAutomatic
because the nested stack's template might have changed. Changes to a nested stack's template aren't visible to CloudFormation until you run an update on the parent stack.
sourcepub fn causing_entity(&self) -> Option<&str>
pub fn causing_entity(&self) -> Option<&str>
The identity of the entity that triggered this change. This entity is a member of the group that's specified by the ChangeSource
field. For example, if you modified the value of the KeyPairName
parameter, the CausingEntity
is the name of the parameter (KeyPairName
).
If the ChangeSource
value is DirectModification
, no value is given for CausingEntity
.
source§impl ResourceChangeDetail
impl ResourceChangeDetail
sourcepub fn builder() -> ResourceChangeDetailBuilder
pub fn builder() -> ResourceChangeDetailBuilder
Creates a new builder-style object to manufacture ResourceChangeDetail
.
Trait Implementations§
source§impl Clone for ResourceChangeDetail
impl Clone for ResourceChangeDetail
source§fn clone(&self) -> ResourceChangeDetail
fn clone(&self) -> ResourceChangeDetail
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for ResourceChangeDetail
impl Debug for ResourceChangeDetail
source§impl PartialEq for ResourceChangeDetail
impl PartialEq for ResourceChangeDetail
source§fn eq(&self, other: &ResourceChangeDetail) -> bool
fn eq(&self, other: &ResourceChangeDetail) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for ResourceChangeDetail
Auto Trait Implementations§
impl Freeze for ResourceChangeDetail
impl RefUnwindSafe for ResourceChangeDetail
impl Send for ResourceChangeDetail
impl Sync for ResourceChangeDetail
impl Unpin for ResourceChangeDetail
impl UnwindSafe for ResourceChangeDetail
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