Class ResourceChangeDetail

java.lang.Object
software.amazon.awssdk.services.cloudformation.model.ResourceChangeDetail
All Implemented Interfaces:
Serializable, SdkPojo, ToCopyableBuilder<ResourceChangeDetail.Builder,ResourceChangeDetail>

@Generated("software.amazon.awssdk:codegen") public final class ResourceChangeDetail extends Object implements SdkPojo, Serializable, ToCopyableBuilder<ResourceChangeDetail.Builder,ResourceChangeDetail>

For a resource with Modify as the action, the ResourceChange structure describes the changes CloudFormation will make to that resource.

See Also:
  • Method Details

    • target

      public final ResourceTargetDefinition target()

      A ResourceTargetDefinition structure that describes the field that CloudFormation will change and whether the resource will be recreated.

      Returns:
      A ResourceTargetDefinition structure that describes the field that CloudFormation will change and whether the resource will be recreated.
    • evaluation

      public final EvaluationType evaluation()

      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.

      If the service returns an enum value that is not available in the current SDK version, evaluation will return EvaluationType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from evaluationAsString().

      Returns:
      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.

      See Also:
    • evaluationAsString

      public final String evaluationAsString()

      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.

      If the service returns an enum value that is not available in the current SDK version, evaluation will return EvaluationType.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from evaluationAsString().

      Returns:
      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.

      See Also:
    • changeSource

      public final ChangeSource changeSource()

      The group to which the CausingEntity value belongs. There are five entity groups:

      • ResourceReference entities are Ref intrinsic functions that refer to resources in the template, such as { "Ref" : "MyEC2InstanceResource" }.

      • ParameterReference entities are Ref intrinsic functions that get template parameter values, such as { "Ref" : "MyPasswordParameter" }.

      • ResourceAttribute entities are Fn::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 are AWS::CloudFormation::Stack resource types, which are also known as nested stacks. If you made no changes to the AWS::CloudFormation::Stack resource, CloudFormation sets the ChangeSource to Automatic 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.

      If the service returns an enum value that is not available in the current SDK version, changeSource will return ChangeSource.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from changeSourceAsString().

      Returns:
      The group to which the CausingEntity value belongs. There are five entity groups:

      • ResourceReference entities are Ref intrinsic functions that refer to resources in the template, such as { "Ref" : "MyEC2InstanceResource" }.

      • ParameterReference entities are Ref intrinsic functions that get template parameter values, such as { "Ref" : "MyPasswordParameter" }.

      • ResourceAttribute entities are Fn::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 are AWS::CloudFormation::Stack resource types, which are also known as nested stacks. If you made no changes to the AWS::CloudFormation::Stack resource, CloudFormation sets the ChangeSource to Automatic 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.

      See Also:
    • changeSourceAsString

      public final String changeSourceAsString()

      The group to which the CausingEntity value belongs. There are five entity groups:

      • ResourceReference entities are Ref intrinsic functions that refer to resources in the template, such as { "Ref" : "MyEC2InstanceResource" }.

      • ParameterReference entities are Ref intrinsic functions that get template parameter values, such as { "Ref" : "MyPasswordParameter" }.

      • ResourceAttribute entities are Fn::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 are AWS::CloudFormation::Stack resource types, which are also known as nested stacks. If you made no changes to the AWS::CloudFormation::Stack resource, CloudFormation sets the ChangeSource to Automatic 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.

      If the service returns an enum value that is not available in the current SDK version, changeSource will return ChangeSource.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from changeSourceAsString().

      Returns:
      The group to which the CausingEntity value belongs. There are five entity groups:

      • ResourceReference entities are Ref intrinsic functions that refer to resources in the template, such as { "Ref" : "MyEC2InstanceResource" }.

      • ParameterReference entities are Ref intrinsic functions that get template parameter values, such as { "Ref" : "MyPasswordParameter" }.

      • ResourceAttribute entities are Fn::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 are AWS::CloudFormation::Stack resource types, which are also known as nested stacks. If you made no changes to the AWS::CloudFormation::Stack resource, CloudFormation sets the ChangeSource to Automatic 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.

      See Also:
    • causingEntity

      public final String causingEntity()

      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.

      Returns:
      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.

    • toBuilder

      public ResourceChangeDetail.Builder toBuilder()
      Description copied from interface: ToCopyableBuilder
      Take this object and create a builder that contains all of the current property values of this object.
      Specified by:
      toBuilder in interface ToCopyableBuilder<ResourceChangeDetail.Builder,ResourceChangeDetail>
      Returns:
      a builder for type T
    • builder

      public static ResourceChangeDetail.Builder builder()
    • serializableBuilderClass

      public static Class<? extends ResourceChangeDetail.Builder> serializableBuilderClass()
    • hashCode

      public final int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public final boolean equals(Object obj)
      Overrides:
      equals in class Object
    • equalsBySdkFields

      public final boolean equalsBySdkFields(Object obj)
      Description copied from interface: SdkPojo
      Indicates whether some other object is "equal to" this one by SDK fields. An SDK field is a modeled, non-inherited field in an SdkPojo class, and is generated based on a service model.

      If an SdkPojo class does not have any inherited fields, equalsBySdkFields and equals are essentially the same.

      Specified by:
      equalsBySdkFields in interface SdkPojo
      Parameters:
      obj - the object to be compared with
      Returns:
      true if the other object equals to this object by sdk fields, false otherwise.
    • toString

      public final String toString()
      Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
      Overrides:
      toString in class Object
    • getValueForField

      public final <T> Optional<T> getValueForField(String fieldName, Class<T> clazz)
    • sdkFields

      public final List<SdkField<?>> sdkFields()
      Specified by:
      sdkFields in interface SdkPojo
      Returns:
      List of SdkField in this POJO. May be empty list but should never be null.