class Amazonite::CloudFormation::ResourceChange

Overview

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

Defined in:

cloudformation/resource_change.cr

Constructors

Instance Method Summary

Constructor Detail

def self.from_xml(node : XML::Node) : self #

[View source]
def self.new(policy_action : PolicyAction | Nil = nil, action : ChangeAction | Nil = nil, logical_resource_id : String | Nil = nil, physical_resource_id : String | Nil = nil, resource_type : String | Nil = nil, replacement : Replacement | Nil = nil, scope : Array(ResourceAttribute) | Nil = nil, resource_drift_status : StackResourceDriftStatus | Nil = nil, resource_drift_ignored_attributes : Array(ResourceDriftIgnoredAttribute) | Nil = nil, details : Array(ResourceChangeDetail) | Nil = nil, change_set_id : String | Nil = nil, module_info : ModuleInfo | Nil = nil, before_context : String | Nil = nil, after_context : String | Nil = nil, previous_deployment_context : String | Nil = nil) #

[View source]

Instance Method Detail

def ==(other : self) #
Description copied from class Reference

Returns true if this reference is the same as other. Invokes same?.


def action : ChangeAction | Nil #

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), Dynamic (exact action for the resource can't be determined), or SyncWithActual (resource will not be changed, only CloudFormation metadata will change).


[View source]
def action=(action : ChangeAction | Nil) #

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), Dynamic (exact action for the resource can't be determined), or SyncWithActual (resource will not be changed, only CloudFormation metadata will change).


[View source]
def after_context : String | Nil #

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


[View source]
def after_context=(after_context : String | Nil) #

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


[View source]
def before_context : String | Nil #

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


[View source]
def before_context=(before_context : String | Nil) #

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


[View source]
def change_set_id : String | Nil #

The change set ID of the nested change set.


[View source]
def change_set_id=(change_set_id : String | Nil) #

The change set ID of the nested change set.


[View source]
def details : Array(ResourceChangeDetail) | Nil #

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


[View source]
def details=(details : Array(ResourceChangeDetail) | Nil) #

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


[View source]
def hash(hasher) #
Description copied from class Reference

See Object#hash(hasher)


def logical_resource_id : String | Nil #

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


[View source]
def logical_resource_id=(logical_resource_id : String | Nil) #

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


[View source]
def module_info : ModuleInfo | Nil #

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


[View source]
def module_info=(module_info : ModuleInfo | Nil) #

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


[View source]
def physical_resource_id : String | Nil #

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


[View source]
def physical_resource_id=(physical_resource_id : String | Nil) #

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


[View source]
def policy_action : PolicyAction | Nil #

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.


[View source]
def policy_action=(policy_action : PolicyAction | Nil) #

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.


[View source]
def previous_deployment_context : String | Nil #

Information about the resource's state from the previous CloudFormation deployment.


[View source]
def previous_deployment_context=(previous_deployment_context : String | Nil) #

Information about the resource's state from the previous CloudFormation deployment.


[View source]
def replacement : Replacement | Nil #

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 Conditional.

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 Conditional, and then Never.


[View source]
def replacement=(replacement : Replacement | Nil) #

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 Conditional.

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 Conditional, and then Never.


[View source]
def resource_drift_ignored_attributes : Array(ResourceDriftIgnoredAttribute) | Nil #

List of resource attributes for which drift was ignored.


[View source]
def resource_drift_ignored_attributes=(resource_drift_ignored_attributes : Array(ResourceDriftIgnoredAttribute) | Nil) #

List of resource attributes for which drift was ignored.


[View source]
def resource_drift_status : StackResourceDriftStatus | Nil #

The drift status of the resource. Valid values:

  • IN_SYNC – The resource matches its template definition.

  • MODIFIED – Resource properties were modified outside CloudFormation.

  • DELETED – The resource was deleted outside CloudFormation.

  • NOT_CHECKED – CloudFormation doesn’t currently return this value.

  • UNKNOWN – Drift status could not be determined.

  • UNSUPPORTED – Resource type does not support actual state comparison.

Only present for drift-aware change sets.


[View source]
def resource_drift_status=(resource_drift_status : StackResourceDriftStatus | Nil) #

The drift status of the resource. Valid values:

  • IN_SYNC – The resource matches its template definition.

  • MODIFIED – Resource properties were modified outside CloudFormation.

  • DELETED – The resource was deleted outside CloudFormation.

  • NOT_CHECKED – CloudFormation doesn’t currently return this value.

  • UNKNOWN – Drift status could not be determined.

  • UNSUPPORTED – Resource type does not support actual state comparison.

Only present for drift-aware change sets.


[View source]
def resource_type : String | Nil #

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


[View source]
def resource_type=(resource_type : String | Nil) #

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


[View source]
def scope : Array(ResourceAttribute) | Nil #

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.


[View source]
def scope=(scope : Array(ResourceAttribute) | Nil) #

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.


[View source]
def to_query_params(prefix : String) : Array(Tuple(String, String)) #

[View source]
def validate! : Nil #

[View source]