Struct aws_sdk_cloudformation::types::ResourceChange

source ·
#[non_exhaustive]
pub struct ResourceChange { pub policy_action: Option<PolicyAction>, pub action: Option<ChangeAction>, pub logical_resource_id: Option<String>, pub physical_resource_id: Option<String>, pub resource_type: Option<String>, pub replacement: Option<Replacement>, pub scope: Option<Vec<ResourceAttribute>>, pub details: Option<Vec<ResourceChangeDetail>>, pub change_set_id: Option<String>, pub module_info: Option<ModuleInfo>, pub before_context: Option<String>, pub after_context: Option<String>, }
Expand description

The ResourceChange structure describes the resource and the action that CloudFormation will perform on it if you execute this change set.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§policy_action: Option<PolicyAction>

The action that will be taken on the physical resource when the change set is executed.

  • Delete The resource will be deleted.

  • Retain The resource will be retained.

  • Snapshot The resource will have a snapshot taken.

  • ReplaceAndDelete The resource will be replaced and then deleted.

  • ReplaceAndRetain The resource will be replaced and then retained.

  • ReplaceAndSnapshot The resource will be replaced and then have a snapshot taken.

§action: Option<ChangeAction>

The action that CloudFormation takes on the resource, such as Add (adds a new resource), Modify (changes a resource), Remove (deletes a resource), Import (imports a resource), or Dynamic (exact action for the resource can't be determined).

§logical_resource_id: Option<String>

The resource's logical ID, which is defined in the stack's template.

§physical_resource_id: Option<String>

The resource's physical ID (resource name). Resources that you are adding don't have physical IDs because they haven't been created.

§resource_type: Option<String>

The type of CloudFormation resource, such as AWS::S3::Bucket.

§replacement: Option<Replacement>

For the Modify action, indicates whether CloudFormation will replace the resource by creating a new one and deleting the old one. This value depends on the value of the RequiresRecreation property in the ResourceTargetDefinition structure. For example, if the RequiresRecreation field is Always and the Evaluation field is Static, Replacement is True. If the RequiresRecreation field is Always and the Evaluation field is Dynamic, Replacement is Conditionally.

If you have multiple changes with different RequiresRecreation values, the Replacement value depends on the change with the most impact. A RequiresRecreation value of Always has the most impact, followed by Conditionally, and then Never.

§scope: Option<Vec<ResourceAttribute>>

For the Modify action, indicates which resource attribute is triggering this update, such as a change in the resource attribute's Metadata, Properties, or Tags.

§details: Option<Vec<ResourceChangeDetail>>

For the Modify action, a list of ResourceChangeDetail structures that describes the changes that CloudFormation will make to the resource.

§change_set_id: Option<String>

The change set ID of the nested change set.

§module_info: Option<ModuleInfo>

Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

§before_context: Option<String>

An encoded JSON string containing the context of the resource before the change is executed.

§after_context: Option<String>

An encoded JSON string containing the context of the resource after the change is executed.

Implementations§

source§

impl ResourceChange

source

pub fn policy_action(&self) -> Option<&PolicyAction>

The action that will be taken on the physical resource when the change set is executed.

  • Delete The resource will be deleted.

  • Retain The resource will be retained.

  • Snapshot The resource will have a snapshot taken.

  • ReplaceAndDelete The resource will be replaced and then deleted.

  • ReplaceAndRetain The resource will be replaced and then retained.

  • ReplaceAndSnapshot The resource will be replaced and then have a snapshot taken.

source

pub fn action(&self) -> Option<&ChangeAction>

The action that CloudFormation takes on the resource, such as Add (adds a new resource), Modify (changes a resource), Remove (deletes a resource), Import (imports a resource), or Dynamic (exact action for the resource can't be determined).

source

pub fn logical_resource_id(&self) -> Option<&str>

The resource's logical ID, which is defined in the stack's template.

source

pub fn physical_resource_id(&self) -> Option<&str>

The resource's physical ID (resource name). Resources that you are adding don't have physical IDs because they haven't been created.

source

pub fn resource_type(&self) -> Option<&str>

The type of CloudFormation resource, such as AWS::S3::Bucket.

source

pub fn replacement(&self) -> Option<&Replacement>

For the Modify action, indicates whether CloudFormation will replace the resource by creating a new one and deleting the old one. This value depends on the value of the RequiresRecreation property in the ResourceTargetDefinition structure. For example, if the RequiresRecreation field is Always and the Evaluation field is Static, Replacement is True. If the RequiresRecreation field is Always and the Evaluation field is Dynamic, Replacement is Conditionally.

If you have multiple changes with different RequiresRecreation values, the Replacement value depends on the change with the most impact. A RequiresRecreation value of Always has the most impact, followed by Conditionally, and then Never.

source

pub fn scope(&self) -> &[ResourceAttribute]

For the Modify action, indicates which resource attribute is triggering this update, such as a change in the resource attribute's Metadata, Properties, or Tags.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .scope.is_none().

source

pub fn details(&self) -> &[ResourceChangeDetail]

For the Modify action, a list of ResourceChangeDetail structures that describes the changes that CloudFormation will make to the resource.

If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use .details.is_none().

source

pub fn change_set_id(&self) -> Option<&str>

The change set ID of the nested change set.

source

pub fn module_info(&self) -> Option<&ModuleInfo>

Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

source

pub fn before_context(&self) -> Option<&str>

An encoded JSON string containing the context of the resource before the change is executed.

source

pub fn after_context(&self) -> Option<&str>

An encoded JSON string containing the context of the resource after the change is executed.

source§

impl ResourceChange

source

pub fn builder() -> ResourceChangeBuilder

Creates a new builder-style object to manufacture ResourceChange.

Trait Implementations§

source§

impl Clone for ResourceChange

source§

fn clone(&self) -> ResourceChange

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ResourceChange

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl PartialEq for ResourceChange

source§

fn eq(&self, other: &ResourceChange) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for ResourceChange

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoEither for T

source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
source§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

source§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more