Class: AWSCDK::CloudFormation::CfnStack
- Inherits:
-
AWSCDK::CfnResource
- Object
- AWSCDK::CfnResource
- AWSCDK::CloudFormation::CfnStack
- Includes:
- IInspectable, ITaggable, Interfaces::AWSCloudformation::IStackRef
- Defined in:
- cloud_formation/cfn_stack.rb
Overview
The AWS::CloudFormation::Stack resource nests a stack as a resource in a top-level template.
For more information, see Nested stacks in the CloudFormation User Guide .
You can add output values from a nested stack within the containing template. You use the GetAtt function with the nested stack's logical name and the name of the output value in the nested stack in the format Outputs. *NestedStackOutputName* .
We strongly recommend that updates to nested stacks are run from the parent stack.
When you apply template changes to update a top-level stack, CloudFormation updates the top-level stack and initiates an update to its nested stacks. CloudFormation updates the resources of modified nested stacks, but doesn't update the resources of unmodified nested stacks.
For stacks that contain IAM resources, you must acknowledge IAM capabilities. Also, make sure that you have cancel update stack permissions, which are required if an update rolls back. For more information about IAM and CloudFormation , see Controlling access with AWS Identity and Access Management in the CloudFormation User Guide .
A subset of
AWS::CloudFormation::Stackresource type properties listed below are available to customers using CloudFormation , AWS CDK , and Cloud Control to configure.
NotificationARNsParametersTagsTemplateURLTimeoutInMinutesThese properties can be configured only when using Cloud Control . This is because the below properties are set by the parent stack, and thus cannot be configured using CloudFormation or AWS CDK but only Cloud Control .
CapabilitiesDescriptionDisableRollbackEnableTerminationProtectionRoleARNStackNameStackPolicyBodyStackPolicyURLStackStatusReasonTemplateBodyCustomers that configure
AWS::CloudFormation::Stackusing CloudFormation and AWS CDK can do so for nesting a CloudFormation stack as a resource in their top-level template.These read-only properties can be accessed only when using Cloud Control .
ChangeSetIdCreationTimeLastUpdateTimeOutputsParentIdRootIdStackIdStackStatus
Class Method Summary collapse
-
.CFN_RESOURCE_TYPE_NAME ⇒ String
The CloudFormation resource type name for this resource class.
-
.is_cfn_stack(x) ⇒ Boolean
Checks whether the given object is a CfnStack.
- .jsii_overridable_methods ⇒ Object
Instance Method Summary collapse
-
#add_deletion_override(path) ⇒ void
Syntactic sugar for
addOverride(path, undefined). -
#add_dependency(target) ⇒ void
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
-
#add_depends_on(target) ⇒ void
deprecated
Deprecated.
use addDependency
-
#add_metadata(key, value) ⇒ void
Add a value to the CloudFormation Resource Metadata.
-
#add_override(path, value) ⇒ void
Adds an override to the synthesized CloudFormation resource.
-
#add_property_deletion_override(property_path) ⇒ void
Adds an override that deletes the value of a property from the resource definition.
-
#add_property_override(property_path, value) ⇒ void
Adds an override to a resource property.
-
#apply_cross_stack_reference_strength(strength) ⇒ void
Sets the cross-stack reference strength for this resource.
-
#apply_removal_policy(policy = nil, options = nil) ⇒ void
Sets the deletion policy of the resource based on the removal policy specified.
-
#attr_change_set_id ⇒ String
Returns the unique identifier of the change set.
-
#attr_creation_time ⇒ String
Returns the time the stack was created.
-
#attr_last_update_time ⇒ String
Returns the time the stack was last updated.
-
#attr_outputs ⇒ AWSCDK::IResolvable
Returns a list of output structures.
-
#attr_parent_id ⇒ String
For nested stacks, returns the stack ID of the direct parent of this stack.
-
#attr_root_id ⇒ String
For nested stacks, returns the stack ID of the top-level stack to which the nested stack ultimately belongs.
-
#attr_stack_id ⇒ String
Returns the unique identifier of the stack.
-
#attr_stack_status ⇒ String
Returns a success or failure message associated with the stack status.
-
#cfn_options ⇒ AWSCDK::ICfnResourceOptions
Options for this resource, such as condition, update policy etc.
- #cfn_properties ⇒ Hash{String => Object}
- #cfn_property_name(cdk_property_name) ⇒ String?
- #cfn_property_names ⇒ Hash{String => String}
-
#cfn_resource_type ⇒ String
AWS resource type.
- #creation_stack ⇒ Array<String>
- #env ⇒ AWSCDK::Interfaces::ResourceEnvironment
-
#get_att(attribute_name, type_hint = nil) ⇒ AWSCDK::Reference
Returns a token for an runtime attribute of this resource.
-
#get_metadata(key) ⇒ Object
Retrieve a value value from the CloudFormation Resource Metadata.
-
#initialize(scope, id, props = nil) ⇒ CfnStack
constructor
Create a new
AWS::CloudFormation::Stack. -
#inspect(inspector) ⇒ void
Examines the CloudFormation resource and discloses attributes.
-
#logical_id ⇒ String
The logical ID for this CloudFormation stack element.
-
#node ⇒ Constructs::Node
The tree node.
-
#notification_arns ⇒ Array<String>?
The Amazon SNS topic ARNs to publish stack related events.
- #notification_arns=(value) ⇒ Object
-
#obtain_dependencies ⇒ Array<AWSCDK::CfnResource, AWSCDK::Stack>
Retrieves an array of resources this resource depends on.
-
#obtain_resource_dependencies ⇒ Array<AWSCDK::CfnResource>
Get a shallow copy of dependencies between this resource and other resources in the same stack.
-
#override_logical_id(new_logical_id) ⇒ void
Overrides the auto-generated logical ID with a specific ID.
-
#parameters ⇒ AWSCDK::IResolvable, ...
The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created.
- #parameters=(value) ⇒ Object
-
#ref ⇒ String
Return a string that will be resolved to a CloudFormation
{ Ref }for this element. -
#remove_dependency(target) ⇒ void
Indicates that this resource no longer depends on another resource.
- #render_properties(props) ⇒ Hash{String => Object}
-
#replace_dependency(target, new_target) ⇒ void
Replaces one dependency with another.
-
#should_synthesize ⇒ Boolean
Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
-
#stack ⇒ AWSCDK::Stack
The stack in which this element is defined.
-
#stack_ref ⇒ AWSCDK::Interfaces::AWSCloudformation::StackReference
A reference to a Stack resource.
-
#tags ⇒ AWSCDK::TagManager
Tag Manager which manages the tags for this resource.
-
#tags_raw ⇒ Array<AWSCDK::CfnTag>?
Key-value pairs to associate with this stack.
- #tags_raw=(value) ⇒ Object
-
#template_url ⇒ String?
The URL of a file that contains the template body.
- #template_url=(value) ⇒ Object
-
#timeout_in_minutes ⇒ Numeric?
The length of time, in minutes, that CloudFormation waits for the nested stack to reach the
CREATE_COMPLETEstate. - #timeout_in_minutes=(value) ⇒ Object
-
#to_string ⇒ String
Returns a string representation of this construct.
-
#updated_properites ⇒ Hash{String => Object}
deprecated
Deprecated.
use
updatedPropertiesReturn properties modified after initiation Resources that expose mutable properties should override this function to collect and return the properties object for this resource. -
#updated_properties ⇒ Hash{String => Object}
Return properties modified after initiation.
- #validate_properties(_properties) ⇒ void
-
#with(*mixins) ⇒ Constructs::IConstruct
Applies one or more mixins to this construct.
Constructor Details
#initialize(scope, id, props = nil) ⇒ CfnStack
Create a new AWS::CloudFormation::Stack.
62 63 64 65 66 67 68 |
# File 'cloud_formation/cfn_stack.rb', line 62 def initialize(scope, id, props = nil) props = props.is_a?(Hash) ? ::AWSCDK::CloudFormation::CfnStackProps.new(**props.transform_keys(&:to_sym)) : props Jsii::Type.check_type(scope, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLkNvbnN0cnVjdCJ9")), "scope") Jsii::Type.check_type(id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "id") Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5hd3NfY2xvdWRmb3JtYXRpb24uQ2ZuU3RhY2tQcm9wcyJ9")), "props") unless props.nil? Jsii::Object.instance_method(:initialize).bind(self).call(scope, id, props) end |
Class Method Details
.CFN_RESOURCE_TYPE_NAME ⇒ String
The CloudFormation resource type name for this resource class.
227 228 229 |
# File 'cloud_formation/cfn_stack.rb', line 227 def self.CFN_RESOURCE_TYPE_NAME() Jsii::Kernel.instance.get_static("aws-cdk-lib.aws_cloudformation.CfnStack", "CFN_RESOURCE_TYPE_NAME") end |
.is_cfn_stack(x) ⇒ Boolean
Checks whether the given object is a CfnStack.
129 130 131 132 |
# File 'cloud_formation/cfn_stack.rb', line 129 def self.is_cfn_stack(x) Jsii::Type.check_type(x, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "x") Jsii::Kernel.instance.call_static("aws-cdk-lib.aws_cloudformation.CfnStack", "isCfnStack", [x]) end |
.jsii_overridable_methods ⇒ Object
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 |
# File 'cloud_formation/cfn_stack.rb', line 70 def self.jsii_overridable_methods { :node => { kind: :property, name: "node", is_optional: false }, :creation_stack => { kind: :property, name: "creationStack", is_optional: false }, :logical_id => { kind: :property, name: "logicalId", is_optional: false }, :stack => { kind: :property, name: "stack", is_optional: false }, :ref => { kind: :property, name: "ref", is_optional: false }, :cfn_options => { kind: :property, name: "cfnOptions", is_optional: false }, :cfn_properties => { kind: :property, name: "cfnProperties", is_optional: false }, :cfn_property_names => { kind: :property, name: "cfnPropertyNames", is_optional: false }, :cfn_resource_type => { kind: :property, name: "cfnResourceType", is_optional: false }, :env => { kind: :property, name: "env", is_optional: false }, :updated_properites => { kind: :property, name: "updatedProperites", is_optional: false }, :updated_properties => { kind: :property, name: "updatedProperties", is_optional: false }, :attr_change_set_id => { kind: :property, name: "attrChangeSetId", is_optional: false }, :attr_creation_time => { kind: :property, name: "attrCreationTime", is_optional: false }, :attr_last_update_time => { kind: :property, name: "attrLastUpdateTime", is_optional: false }, :attr_outputs => { kind: :property, name: "attrOutputs", is_optional: false }, :attr_parent_id => { kind: :property, name: "attrParentId", is_optional: false }, :attr_root_id => { kind: :property, name: "attrRootId", is_optional: false }, :attr_stack_id => { kind: :property, name: "attrStackId", is_optional: false }, :attr_stack_status => { kind: :property, name: "attrStackStatus", is_optional: false }, :stack_ref => { kind: :property, name: "stackRef", is_optional: false }, :tags => { kind: :property, name: "tags", is_optional: false }, :notification_arns => { kind: :property, name: "notificationArns", is_optional: true }, :parameters => { kind: :property, name: "parameters", is_optional: true }, :tags_raw => { kind: :property, name: "tagsRaw", is_optional: true }, :template_url => { kind: :property, name: "templateUrl", is_optional: true }, :timeout_in_minutes => { kind: :property, name: "timeoutInMinutes", is_optional: true }, :to_string => { kind: :method, name: "toString", is_optional: false }, :with => { kind: :method, name: "with", is_optional: false }, :override_logical_id => { kind: :method, name: "overrideLogicalId", is_optional: false }, :add_deletion_override => { kind: :method, name: "addDeletionOverride", is_optional: false }, :add_dependency => { kind: :method, name: "addDependency", is_optional: false }, :add_depends_on => { kind: :method, name: "addDependsOn", is_optional: false }, :add_metadata => { kind: :method, name: "addMetadata", is_optional: false }, :add_override => { kind: :method, name: "addOverride", is_optional: false }, :add_property_deletion_override => { kind: :method, name: "addPropertyDeletionOverride", is_optional: false }, :add_property_override => { kind: :method, name: "addPropertyOverride", is_optional: false }, :apply_cross_stack_reference_strength => { kind: :method, name: "applyCrossStackReferenceStrength", is_optional: false }, :apply_removal_policy => { kind: :method, name: "applyRemovalPolicy", is_optional: false }, :cfn_property_name => { kind: :method, name: "cfnPropertyName", is_optional: false }, :get_att => { kind: :method, name: "getAtt", is_optional: false }, :get_metadata => { kind: :method, name: "getMetadata", is_optional: false }, :obtain_dependencies => { kind: :method, name: "obtainDependencies", is_optional: false }, :obtain_resource_dependencies => { kind: :method, name: "obtainResourceDependencies", is_optional: false }, :remove_dependency => { kind: :method, name: "removeDependency", is_optional: false }, :render_properties => { kind: :method, name: "renderProperties", is_optional: false }, :replace_dependency => { kind: :method, name: "replaceDependency", is_optional: false }, :should_synthesize => { kind: :method, name: "shouldSynthesize", is_optional: false }, :validate_properties => { kind: :method, name: "validateProperties", is_optional: false }, :inspect => { kind: :method, name: "inspect", is_optional: false }, } end |
Instance Method Details
#add_deletion_override(path) ⇒ void
This method returns an undefined value.
Syntactic sugar for addOverride(path, undefined).
402 403 404 405 |
# File 'cloud_formation/cfn_stack.rb', line 402 def add_deletion_override(path) Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path") jsii_call_method("addDeletionOverride", [path]) end |
#add_dependency(target) ⇒ void
This method returns an undefined value.
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
This can be used for resources across stacks (or nested stack) boundaries and the dependency will automatically be transferred to the relevant scope.
414 415 416 417 |
# File 'cloud_formation/cfn_stack.rb', line 414 def add_dependency(target) Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target") jsii_call_method("addDependency", [target]) end |
#add_depends_on(target) ⇒ void
use addDependency
This method returns an undefined value.
Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned.
424 425 426 427 |
# File 'cloud_formation/cfn_stack.rb', line 424 def add_depends_on(target) Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target") jsii_call_method("addDependsOn", [target]) end |
#add_metadata(key, value) ⇒ void
This method returns an undefined value.
Add a value to the CloudFormation Resource Metadata.
435 436 437 438 439 |
# File 'cloud_formation/cfn_stack.rb', line 435 def (key, value) Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key") Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value") jsii_call_method("addMetadata", [key, value]) end |
#add_override(path, value) ⇒ void
This method returns an undefined value.
Adds an override to the synthesized CloudFormation resource.
To add a
property override, either use add_property_override or prefix path with
"Properties." (i.e. Properties.TopicName).
If the override is nested, separate each nested level using a dot (.) in the path parameter. If there is an array as part of the nesting, specify the index in the path.
To include a literal . in the property name, prefix with a \. In most
programming languages you will need to write this as "\\." because the
\ itself will need to be escaped.
For example,
# Example automatically generated from non-compiling source. May contain errors.
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes", ["myattribute"])
cfn_resource.add_override("Properties.GlobalSecondaryIndexes.1.ProjectionType", "INCLUDE")
would add the overrides
"Properties": {
"GlobalSecondaryIndexes": [
{
"Projection": {
"NonKeyAttributes": [ "myattribute" ]
...
}
...
},
{
"ProjectionType": "INCLUDE"
...
},
]
...
}
The value argument to add_override will not be processed or translated
in any way. Pass raw JSON values in here with the correct capitalization
for CloudFormation. If you pass CDK classes or structs, they will be
rendered with lowercased key names, and CloudFormation will reject the
template.
492 493 494 495 496 |
# File 'cloud_formation/cfn_stack.rb', line 492 def add_override(path, value) Jsii::Type.check_type(path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "path") Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value") jsii_call_method("addOverride", [path, value]) end |
#add_property_deletion_override(property_path) ⇒ void
This method returns an undefined value.
Adds an override that deletes the value of a property from the resource definition.
502 503 504 505 |
# File 'cloud_formation/cfn_stack.rb', line 502 def add_property_deletion_override(property_path) Jsii::Type.check_type(property_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "propertyPath") jsii_call_method("addPropertyDeletionOverride", [property_path]) end |
#add_property_override(property_path, value) ⇒ void
This method returns an undefined value.
Adds an override to a resource property.
Syntactic sugar for addOverride("Properties.<...>", value).
514 515 516 517 518 |
# File 'cloud_formation/cfn_stack.rb', line 514 def add_property_override(property_path, value) Jsii::Type.check_type(property_path, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "propertyPath") Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "value") jsii_call_method("addPropertyOverride", [property_path, value]) end |
#apply_cross_stack_reference_strength(strength) ⇒ void
This method returns an undefined value.
Sets the cross-stack reference strength for this resource.
When set, any cross-stack reference to this resource will use the specified strength instead of the global default from the consuming stack's context.
527 528 529 530 |
# File 'cloud_formation/cfn_stack.rb', line 527 def apply_cross_stack_reference_strength(strength) Jsii::Type.check_type(strength, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZWZlcmVuY2VTdHJlbmd0aCJ9")), "strength") jsii_call_method("applyCrossStackReferenceStrength", [strength]) end |
#apply_removal_policy(policy = nil, options = nil) ⇒ void
This method returns an undefined value.
Sets the deletion policy of the resource based on the removal policy specified.
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS
account for data recovery and cleanup later (RemovalPolicy.RETAIN). In some
cases, a snapshot can be taken of the resource prior to deletion
(RemovalPolicy.SNAPSHOT). A list of resources that support this policy
can be found in the following link:
549 550 551 552 553 554 |
# File 'cloud_formation/cfn_stack.rb', line 549 def apply_removal_policy(policy = nil, = nil) Jsii::Type.check_type(policy, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5In0=")), "policy") unless policy.nil? = .is_a?(Hash) ? ::AWSCDK::RemovalPolicyOptions.new(**.transform_keys(&:to_sym)) : Jsii::Type.check_type(, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZW1vdmFsUG9saWN5T3B0aW9ucyJ9")), "options") unless .nil? jsii_call_method("applyRemovalPolicy", [policy, ]) end |
#attr_change_set_id ⇒ String
Returns the unique identifier of the change set.
234 235 236 |
# File 'cloud_formation/cfn_stack.rb', line 234 def attr_change_set_id() jsii_get_property("attrChangeSetId") end |
#attr_creation_time ⇒ String
Returns the time the stack was created.
241 242 243 |
# File 'cloud_formation/cfn_stack.rb', line 241 def attr_creation_time() jsii_get_property("attrCreationTime") end |
#attr_last_update_time ⇒ String
Returns the time the stack was last updated.
This will only be returned if the stack has been updated at least once.
250 251 252 |
# File 'cloud_formation/cfn_stack.rb', line 250 def attr_last_update_time() jsii_get_property("attrLastUpdateTime") end |
#attr_outputs ⇒ AWSCDK::IResolvable
Returns a list of output structures.
257 258 259 |
# File 'cloud_formation/cfn_stack.rb', line 257 def attr_outputs() jsii_get_property("attrOutputs") end |
#attr_parent_id ⇒ String
For nested stacks, returns the stack ID of the direct parent of this stack.
For the first level of nested stacks, the root stack is also the parent stack.
266 267 268 |
# File 'cloud_formation/cfn_stack.rb', line 266 def attr_parent_id() jsii_get_property("attrParentId") end |
#attr_root_id ⇒ String
For nested stacks, returns the stack ID of the top-level stack to which the nested stack ultimately belongs.
273 274 275 |
# File 'cloud_formation/cfn_stack.rb', line 273 def attr_root_id() jsii_get_property("attrRootId") end |
#attr_stack_id ⇒ String
Returns the unique identifier of the stack.
280 281 282 |
# File 'cloud_formation/cfn_stack.rb', line 280 def attr_stack_id() jsii_get_property("attrStackId") end |
#attr_stack_status ⇒ String
Returns a success or failure message associated with the stack status.
287 288 289 |
# File 'cloud_formation/cfn_stack.rb', line 287 def attr_stack_status() jsii_get_property("attrStackStatus") end |
#cfn_options ⇒ AWSCDK::ICfnResourceOptions
Options for this resource, such as condition, update policy etc.
180 181 182 |
# File 'cloud_formation/cfn_stack.rb', line 180 def () jsii_get_property("cfnOptions") end |
#cfn_properties ⇒ Hash{String => Object}
185 186 187 |
# File 'cloud_formation/cfn_stack.rb', line 185 def cfn_properties() jsii_get_property("cfnProperties") end |
#cfn_property_name(cdk_property_name) ⇒ String?
558 559 560 561 |
# File 'cloud_formation/cfn_stack.rb', line 558 def cfn_property_name(cdk_property_name) Jsii::Type.check_type(cdk_property_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "cdkPropertyName") jsii_call_method("cfnPropertyName", [cdk_property_name]) end |
#cfn_property_names ⇒ Hash{String => String}
190 191 192 |
# File 'cloud_formation/cfn_stack.rb', line 190 def cfn_property_names() jsii_get_property("cfnPropertyNames") end |
#cfn_resource_type ⇒ String
AWS resource type.
197 198 199 |
# File 'cloud_formation/cfn_stack.rb', line 197 def cfn_resource_type() jsii_get_property("cfnResourceType") end |
#creation_stack ⇒ Array<String>
142 143 144 |
# File 'cloud_formation/cfn_stack.rb', line 142 def creation_stack() jsii_get_property("creationStack") end |
#env ⇒ AWSCDK::Interfaces::ResourceEnvironment
202 203 204 |
# File 'cloud_formation/cfn_stack.rb', line 202 def env() jsii_get_property("env") end |
#get_att(attribute_name, type_hint = nil) ⇒ AWSCDK::Reference
Returns a token for an runtime attribute of this resource.
Ideally, use generated attribute accessors (e.g. resource.arn), but this can be used for future compatibility
in case there is no generated attribute.
571 572 573 574 575 |
# File 'cloud_formation/cfn_stack.rb', line 571 def get_att(attribute_name, type_hint = nil) Jsii::Type.check_type(attribute_name, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "attributeName") Jsii::Type.check_type(type_hint, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5SZXNvbHV0aW9uVHlwZUhpbnQifQ==")), "typeHint") unless type_hint.nil? jsii_call_method("getAtt", [attribute_name, type_hint]) end |
#get_metadata(key) ⇒ Object
Retrieve a value value from the CloudFormation Resource Metadata.
582 583 584 585 |
# File 'cloud_formation/cfn_stack.rb', line 582 def (key) Jsii::Type.check_type(key, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "key") jsii_call_method("getMetadata", [key]) end |
#inspect(inspector) ⇒ void
This method returns an undefined value.
Examines the CloudFormation resource and discloses attributes.
652 653 654 655 |
# File 'cloud_formation/cfn_stack.rb', line 652 def inspect(inspector) Jsii::Type.check_type(inspector, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5UcmVlSW5zcGVjdG9yIn0=")), "inspector") jsii_call_method("inspect", [inspector]) end |
#logical_id ⇒ String
The logical ID for this CloudFormation stack element.
The logical ID of the element is calculated from the path of the resource node in the construct tree.
To override this value, use override_logical_id(new_logical_id).
154 155 156 |
# File 'cloud_formation/cfn_stack.rb', line 154 def logical_id() jsii_get_property("logicalId") end |
#node ⇒ Constructs::Node
The tree node.
137 138 139 |
# File 'cloud_formation/cfn_stack.rb', line 137 def node() jsii_get_property("node") end |
#notification_arns ⇒ Array<String>?
The Amazon SNS topic ARNs to publish stack related events.
308 309 310 |
# File 'cloud_formation/cfn_stack.rb', line 308 def notification_arns() jsii_get_property("notificationArns") end |
#notification_arns=(value) ⇒ Object
312 313 314 315 |
# File 'cloud_formation/cfn_stack.rb', line 312 def notification_arns=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6InN0cmluZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "notificationArns") unless value.nil? jsii_set_property("notificationArns", value) end |
#obtain_dependencies ⇒ Array<AWSCDK::CfnResource, AWSCDK::Stack>
Retrieves an array of resources this resource depends on.
This assembles dependencies on resources across stacks (including nested stacks) automatically.
593 594 595 |
# File 'cloud_formation/cfn_stack.rb', line 593 def obtain_dependencies() jsii_call_method("obtainDependencies", []) end |
#obtain_resource_dependencies ⇒ Array<AWSCDK::CfnResource>
Get a shallow copy of dependencies between this resource and other resources in the same stack.
600 601 602 |
# File 'cloud_formation/cfn_stack.rb', line 600 def obtain_resource_dependencies() jsii_call_method("obtainResourceDependencies", []) end |
#override_logical_id(new_logical_id) ⇒ void
This method returns an undefined value.
Overrides the auto-generated logical ID with a specific ID.
393 394 395 396 |
# File 'cloud_formation/cfn_stack.rb', line 393 def override_logical_id(new_logical_id) Jsii::Type.check_type(new_logical_id, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "newLogicalId") jsii_call_method("overrideLogicalId", [new_logical_id]) end |
#parameters ⇒ AWSCDK::IResolvable, ...
The set value pairs that represent the parameters passed to CloudFormation when this nested stack is created.
320 321 322 |
# File 'cloud_formation/cfn_stack.rb', line 320 def parameters() jsii_get_property("parameters") end |
#parameters=(value) ⇒ Object
324 325 326 327 |
# File 'cloud_formation/cfn_stack.rb', line 324 def parameters=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJ1bmlvbiI6eyJ0eXBlcyI6W3siZnFuIjoiYXdzLWNkay1saWIuSVJlc29sdmFibGUifSx7ImNvbGxlY3Rpb24iOnsiZWxlbWVudHR5cGUiOnsicHJpbWl0aXZlIjoic3RyaW5nIn0sImtpbmQiOiJtYXAifX1dfX0=")), "parameters") unless value.nil? jsii_set_property("parameters", value) end |
#ref ⇒ String
Return a string that will be resolved to a CloudFormation { Ref } for this element.
If, by any chance, the intrinsic reference of a resource is not a string, you could
coerce it to an IResolvable through Lazy.any({ produce: resource.ref }).
173 174 175 |
# File 'cloud_formation/cfn_stack.rb', line 173 def ref() jsii_get_property("ref") end |
#remove_dependency(target) ⇒ void
This method returns an undefined value.
Indicates that this resource no longer depends on another resource.
This can be used for resources across stacks (including nested stacks) and the dependency will automatically be removed from the relevant scope.
611 612 613 614 |
# File 'cloud_formation/cfn_stack.rb', line 611 def remove_dependency(target) Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target") jsii_call_method("removeDependency", [target]) end |
#render_properties(props) ⇒ Hash{String => Object}
618 619 620 621 |
# File 'cloud_formation/cfn_stack.rb', line 618 def render_properties(props) Jsii::Type.check_type(props, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7InByaW1pdGl2ZSI6ImFueSJ9LCJraW5kIjoibWFwIn19")), "props") jsii_call_method("renderProperties", [props]) end |
#replace_dependency(target, new_target) ⇒ void
This method returns an undefined value.
Replaces one dependency with another.
628 629 630 631 632 |
# File 'cloud_formation/cfn_stack.rb', line 628 def replace_dependency(target, new_target) Jsii::Type.check_type(target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "target") Jsii::Type.check_type(new_target, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJhd3MtY2RrLWxpYi5DZm5SZXNvdXJjZSJ9")), "newTarget") jsii_call_method("replaceDependency", [target, new_target]) end |
#should_synthesize ⇒ Boolean
Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template.
637 638 639 |
# File 'cloud_formation/cfn_stack.rb', line 637 def should_synthesize() jsii_call_method("shouldSynthesize", []) end |
#stack ⇒ AWSCDK::Stack
The stack in which this element is defined.
CfnElements must be defined within a stack scope (directly or indirectly).
163 164 165 |
# File 'cloud_formation/cfn_stack.rb', line 163 def stack() jsii_get_property("stack") end |
#stack_ref ⇒ AWSCDK::Interfaces::AWSCloudformation::StackReference
A reference to a Stack resource.
294 295 296 |
# File 'cloud_formation/cfn_stack.rb', line 294 def stack_ref() jsii_get_property("stackRef") end |
#tags ⇒ AWSCDK::TagManager
Tag Manager which manages the tags for this resource.
301 302 303 |
# File 'cloud_formation/cfn_stack.rb', line 301 def () jsii_get_property("tags") end |
#tags_raw ⇒ Array<AWSCDK::CfnTag>?
Key-value pairs to associate with this stack.
332 333 334 |
# File 'cloud_formation/cfn_stack.rb', line 332 def () jsii_get_property("tagsRaw") end |
#tags_raw=(value) ⇒ Object
336 337 338 339 340 |
# File 'cloud_formation/cfn_stack.rb', line 336 def (value) value = value.is_a?(Array) ? value.map { |jsii_v0| jsii_v0.is_a?(Hash) ? ::AWSCDK::CfnTag.new(**jsii_v0.transform_keys(&:to_sym)) : jsii_v0 } : value Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJjb2xsZWN0aW9uIjp7ImVsZW1lbnR0eXBlIjp7ImZxbiI6ImF3cy1jZGstbGliLkNmblRhZyJ9LCJraW5kIjoiYXJyYXkifX0=")), "tagsRaw") unless value.nil? jsii_set_property("tagsRaw", value) end |
#template_url ⇒ String?
The URL of a file that contains the template body.
345 346 347 |
# File 'cloud_formation/cfn_stack.rb', line 345 def template_url() jsii_get_property("templateUrl") end |
#template_url=(value) ⇒ Object
349 350 351 352 |
# File 'cloud_formation/cfn_stack.rb', line 349 def template_url=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJzdHJpbmcifQ==")), "templateUrl") unless value.nil? jsii_set_property("templateUrl", value) end |
#timeout_in_minutes ⇒ Numeric?
The length of time, in minutes, that CloudFormation waits for the nested stack to reach the CREATE_COMPLETE state.
357 358 359 |
# File 'cloud_formation/cfn_stack.rb', line 357 def timeout_in_minutes() jsii_get_property("timeoutInMinutes") end |
#timeout_in_minutes=(value) ⇒ Object
361 362 363 364 |
# File 'cloud_formation/cfn_stack.rb', line 361 def timeout_in_minutes=(value) Jsii::Type.check_type(value, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJudW1iZXIifQ==")), "timeoutInMinutes") unless value.nil? jsii_set_property("timeoutInMinutes", value) end |
#to_string ⇒ String
Returns a string representation of this construct.
369 370 371 |
# File 'cloud_formation/cfn_stack.rb', line 369 def to_string() jsii_call_method("toString", []) end |
#updated_properites ⇒ Hash{String => Object}
use updatedProperties Return properties modified after initiation Resources that expose mutable properties should override this function to collect and return the properties object for this resource.
Deprecated.
210 211 212 |
# File 'cloud_formation/cfn_stack.rb', line 210 def updated_properites() jsii_get_property("updatedProperites") end |
#updated_properties ⇒ Hash{String => Object}
Return properties modified after initiation.
Resources that expose mutable properties should override this function to collect and return the properties object for this resource.
220 221 222 |
# File 'cloud_formation/cfn_stack.rb', line 220 def updated_properties() jsii_get_property("updatedProperties") end |
#validate_properties(_properties) ⇒ void
This method returns an undefined value.
643 644 645 646 |
# File 'cloud_formation/cfn_stack.rb', line 643 def validate_properties(_properties) Jsii::Type.check_type(_properties, JSON.parse(Base64.strict_decode64("eyJwcmltaXRpdmUiOiJhbnkifQ==")), "_properties") jsii_call_method("validateProperties", [_properties]) end |
#with(*mixins) ⇒ Constructs::IConstruct
Applies one or more mixins to this construct.
Mixins are applied in order. The list of constructs is captured at the
start of the call, so constructs added by a mixin will not be visited.
Use multiple with() calls if subsequent mixins should apply to added
constructs.
382 383 384 385 386 387 |
# File 'cloud_formation/cfn_stack.rb', line 382 def with(*mixins) mixins.each_with_index do |item, index| Jsii::Type.check_type(item, JSON.parse(Base64.strict_decode64("eyJmcW4iOiJjb25zdHJ1Y3RzLklNaXhpbiJ9")), "mixins[#{index}]") end jsii_call_method("with", [*mixins]) end |