You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::CloudFormation::Client OverviewAn API client for AWS CloudFormation. To construct a client, you need to configure a :region
and :credentials
.
cloudformation = Aws::CloudFormation::Client.new(
region: region_name,
credentials: credentials,
)
See #initialize for a full list of supported configuration options.
RegionYou can configure a default region in the following locations:
ENV['AWS_REGION']
Aws.config[:region]
Go here for a list of supported regions.
CredentialsDefault credentials are loaded automatically from the following locations:
ENV['AWS_ACCESS_KEY_ID']
and ENV['AWS_SECRET_ACCESS_KEY']
Aws.config[:credentials]
~/.aws/credentials
(more information)You can also construct a credentials object from one of the following classes:
Alternatively, you configure credentials with :access_key_id
and :secret_access_key
:
creds = YAML.load(File.read('/path/to/secrets'))
Aws::CloudFormation::Client.new(
access_key_id: creds['access_key_id'],
secret_access_key: creds['secret_access_key']
)
Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.
Attribute Summary collapseConstructs an API client.
Cancels an update on the specified stack.
For a specified stack that is in the UPDATE_ROLLBACK_FAILED
state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE
state.
Creates a list of changes that will be applied to a stack so that you can review the changes before executing them.
Creates a stack as specified in the template.
Creates stack instances for the specified accounts, within the specified Regions.
Deletes the specified change set.
Deletes a specified stack.
Deletes stack instances for the specified accounts, in the specified Regions.
Removes a type or type version from active use in the CloudFormation registry.
Retrieves your account's AWS CloudFormation limits, such as the maximum number of stacks that you can create in your account.
Returns the inputs for the change set and a list of changes that AWS CloudFormation will make if you execute the change set.
Returns information about a stack drift detection operation.
Returns all stack related events for a specified stack in reverse chronological order.
Returns the stack instance that's associated with the specified stack set, AWS account, and Region.
For a list of stack instances that are associated with a specific stack set, use ListStackInstances.
.
Returns a description of the specified resource in the specified stack.
For deleted stacks, DescribeStackResource returns resource information for up to 90 days after the stack has been deleted.
.
Returns drift information for the resources that have been checked for drift in the specified stack.
Returns AWS resource descriptions for running and deleted stacks.
Returns the description of the specified stack set.
Returns the description of the specified stack set operation.
Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created.
If the stack does not exist, an AmazonCloudFormationException
is returned.
.
Returns detailed information about a type that has been registered.
If you specify a VersionId
, DescribeType
returns information about that specific type version.
Returns information about a type's registration, including its current status and type and version identifiers.
When you initiate a registration request using RegisterType
, you can then use DescribeTypeRegistration
to monitor the progress of that registration request.
Once the registration request has completed, use DescribeType
to return detailed informaiton about a type.
.
Detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters.
Returns information about whether a resource's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters.
Detect drift on a stack set.
Returns the estimated monthly cost of a template.
Updates a stack using the input information that was provided when the specified change set was created.
Returns the stack policy for a specified stack.
Returns the template body for a specified stack.
Returns information about a new or existing template.
Returns the ID and status of each active change set for a stack.
Lists all exported output values in the account and Region in which you call this action.
Lists all stacks that are importing an exported output value.
Returns summary information about stack instances that are associated with the specified stack set.
Returns descriptions of all resources of the specified stack.
For deleted stacks, ListStackResources returns resource information for up to 90 days after the stack has been deleted.
.
Returns summary information about the results of a stack set operation.
Returns summary information about operations performed on a stack set.
Returns summary information about stack sets that are associated with the user.
.
Returns the summary information for stacks whose status matches the specified StackStatusFilter.
Returns a list of registration tokens for the specified type(s).
.
Returns summary information about the versions of a type.
.
Returns summary information about types that have been registered with CloudFormation.
.
Reports progress of a resource handler to CloudFormation.
Reserved for use by the CloudFormation CLI.
Registers a type with the CloudFormation service.
Sets a stack policy for a specified stack.
.
Specify the default version of a type.
Sends a signal to the specified resource with a success or failure status.
Stops an in-progress operation on a stack set and its associated stack instances.
Updates a stack as specified in the template.
Updates the parameter values for stack instances for the specified accounts, within the specified Regions.
Updates the stack set, and associated stack instances in the specified accounts and Regions.
Even if the stack set operation created by updating the stack set fails (completely or partially, below or above a specified failure tolerance), the stack set is updated with your changes.
Updates termination protection for the specified stack.
Validates a specified template.
Waiters polls an API operation until a resource enters a desired state.
Returns the list of supported waiters.
add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins
Methods included from Seahorse::Client::HandlerBuilder#handle, #handle_request, #handle_response
Instance Method Details #cancel_update_stack(options = {}) ⇒ StructCancels an update on the specified stack. If the call completes successfully, the stack rolls back the update and reverts to the previous stack configuration.
You can cancel only stacks that are in the UPDATE_IN_PROGRESS state.
#continue_update_rollback(options = {}) ⇒ StructFor a specified stack that is in the UPDATE_ROLLBACK_FAILED
state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE
state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE
state), and then try to update the stack again.
A stack goes into the UPDATE_ROLLBACK_FAILED
state when AWS CloudFormation cannot roll back all changes after a failed stack update. For example, you might have a stack that is rolling back to an old database instance that was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't know the database was deleted, it assumes that the database instance still exists and attempts to roll back to it, causing the update rollback to fail.
Creates a list of changes that will be applied to a stack so that you can review the changes before executing them. You can create a change set for a stack that doesn't exist or an existing stack. If you create a change set for a stack that doesn't exist, the change set shows all of the resources that AWS CloudFormation will create. If you create a change set for an existing stack, AWS CloudFormation compares the stack's information with the information that you submit in the change set and lists the differences. Use change sets to understand which resources AWS CloudFormation will create or change, and how it will change resources in an existing stack, before you create or update a stack.
To create a change set for a stack that doesn't exist, for the ChangeSetType
parameter, specify CREATE
. To create a change set for an existing stack, specify UPDATE
for the ChangeSetType
parameter. To create a change set for an import operation, specify IMPORT
for the ChangeSetType
parameter. After the CreateChangeSet
call successfully completes, AWS CloudFormation starts creating the change set. To check the status of the change set or to review it, use the DescribeChangeSet action.
When you are satisfied with the changes the change set will make, execute the change set by using the ExecuteChangeSet action. AWS CloudFormation doesn't make changes until you execute the change set.
To create a change set for the entire stack hierachy, set IncludeNestedStacks
to True
.
Creates a stack as specified in the template. After the call completes successfully, the stack creation starts. You can check the status of the stack via the DescribeStacks API.
#create_stack_instances(options = {}) ⇒ Types::CreateStackInstancesOutputCreates stack instances for the specified accounts, within the specified Regions. A stack instance refers to a stack in a specific account and Region. You must specify at least one value for either Accounts
or DeploymentTargets
, and you must specify at least one value for Regions
.
Deletes the specified change set. Deleting change sets ensures that no one executes the wrong change set.
If the call successfully completes, AWS CloudFormation successfully deleted the change set.
If IncludeNestedStacks
specifies True
during the creation of the nested change set, then DeleteChangeSet
will delete all change sets that belong to the stacks hierarchy and will also delete all change sets for nested stacks with the status of REVIEW_IN_PROGRESS
.
Deletes a specified stack. Once the call completes successfully, stack deletion starts. Deleted stacks do not show up in the DescribeStacks API if the deletion has been completed successfully.
#delete_stack_set(options = {}) ⇒ StructDeletes a stack set. Before you can delete a stack set, all of its member stack instances must be deleted. For more information about how to do this, see DeleteStackInstances.
#deregister_type(options = {}) ⇒ StructRemoves a type or type version from active use in the CloudFormation registry. If a type or type version is deregistered, it cannot be used in CloudFormation operations.
To deregister a type, you must individually deregister all registered versions of that type. If a type has only a single registered version, deregistering that version results in the type itself being deregistered.
You cannot deregister the default version of a type, unless it is the only registered version of that type, in which case the type itself is deregistered as well.
#describe_account_limits(options = {}) ⇒ Types::DescribeAccountLimitsOutputRetrieves your account's AWS CloudFormation limits, such as the maximum number of stacks that you can create in your account. For more information about account limits, see AWS CloudFormation Limits in the AWS CloudFormation User Guide.
#describe_stack_drift_detection_status(options = {}) ⇒ Types::DescribeStackDriftDetectionStatusOutputReturns information about a stack drift detection operation. A stack drift detection operation detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. A stack is considered to have drifted if one or more of its resources have drifted. For more information on stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.
Use DetectStackDrift to initiate a stack drift detection operation. DetectStackDrift
returns a StackDriftDetectionId
you can use to monitor the progress of the operation using DescribeStackDriftDetectionStatus
. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.
Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the AWS CloudFormation User Guide.
You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID).
#describe_stack_instance(options = {}) ⇒ Types::DescribeStackInstanceOutputReturns the stack instance that's associated with the specified stack set, AWS account, and Region.
For a list of stack instances that are associated with a specific stack set, use ListStackInstances.
#describe_stack_resource(options = {}) ⇒ Types::DescribeStackResourceOutputReturns a description of the specified resource in the specified stack.
For deleted stacks, DescribeStackResource returns resource information for up to 90 days after the stack has been deleted.
#describe_stack_resource_drifts(options = {}) ⇒ Types::DescribeStackResourceDriftsOutputReturns drift information for the resources that have been checked for drift in the specified stack. This includes actual and expected configuration values for resources where AWS CloudFormation detects configuration drift.
For a given stack, there will be one StackResourceDrift
for each stack resource that has been checked for drift. Resources that have not yet been checked for drift are not included. Resources that do not currently support drift detection are not checked, and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.
Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all supported resources for a given stack.
#describe_stack_resources(options = {}) ⇒ Types::DescribeStackResourcesOutputReturns AWS resource descriptions for running and deleted stacks. If StackName
is specified, all the associated resources that are part of the stack are returned. If PhysicalResourceId
is specified, the associated resources of the stack that the resource belongs to are returned.
Only the first 100 resources will be returned. If your stack has more resources than this, you should use ListStackResources
instead.
For deleted stacks, DescribeStackResources
returns resource information for up to 90 days after the stack has been deleted.
You must specify either StackName
or PhysicalResourceId
, but not both. In addition, you can specify LogicalResourceId
to filter the returned result. For more information about resources, the LogicalResourceId
and PhysicalResourceId
, go to the AWS CloudFormation User Guide.
A ValidationError
is returned if you specify both StackName
and PhysicalResourceId
in the same request.
Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created.
If the stack does not exist, an AmazonCloudFormationException
is returned.
Returns detailed information about a type that has been registered.
If you specify a VersionId
, DescribeType
returns information about that specific type version. Otherwise, it returns information about the default type version.
Returns information about a type's registration, including its current status and type and version identifiers.
When you initiate a registration request using RegisterType
, you can then use DescribeTypeRegistration
to monitor the progress of that registration request.
Once the registration request has completed, use DescribeType
to return detailed informaiton about a type.
Detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. For each resource in the stack that supports drift detection, AWS CloudFormation compares the actual configuration of the resource with its expected template configuration. Only resource properties explicitly defined in the stack template are checked for drift. A stack is considered to have drifted if one or more of its resources differ from their expected template configurations. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.
Use DetectStackDrift
to detect drift on all supported resources for a given stack, or DetectStackResourceDrift to detect drift on individual resources.
For a list of stack resources that currently support drift detection, see Resources that Support Drift Detection.
DetectStackDrift
can take up to several minutes, depending on the number of resources contained within the stack. Use DescribeStackDriftDetectionStatus to monitor the progress of a detect stack drift operation. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return drift information about the stack and its resources.
When detecting drift on a stack, AWS CloudFormation does not detect drift on any nested stacks belonging to that stack. Perform DetectStackDrift
directly on the nested stack itself.
Returns information about whether a resource's actual configuration differs, or has drifted, from it's expected configuration, as defined in the stack template and any values specified as template parameters. This information includes actual and expected property values for resources in which AWS CloudFormation detects drift. Only resource properties explicitly defined in the stack template are checked for drift. For more information about stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.
Use DetectStackResourceDrift
to detect drift on individual resources, or DetectStackDrift to detect drift on all resources in a given stack that support drift detection.
Resources that do not currently support drift detection cannot be checked. For a list of resources that support drift detection, see Resources that Support Drift Detection.
#detect_stack_set_drift(options = {}) ⇒ Types::DetectStackSetDriftOutputDetect drift on a stack set. When CloudFormation performs drift detection on a stack set, it performs drift detection on the stack associated with each stack instance in the stack set. For more information, see How CloudFormation Performs Drift Detection on a Stack Set.
DetectStackSetDrift
returns the OperationId
of the stack set drift detection operation. Use this operation id with DescribeStackSetOperation
to monitor the progress of the drift detection operation. The drift detection operation may take some time, depending on the number of stack instances included in the stack set, as well as the number of resources included in each stack.
Once the operation has completed, use the following actions to return drift information:
Use DescribeStackSet
to return detailed informaiton about the stack set, including detailed information about the last completed drift operation performed on the stack set. (Information about drift operations that are in progress is not included.)
Use ListStackInstances
to return a list of stack instances belonging to the stack set, including the drift status and last drift time checked of each instance.
Use DescribeStackInstance
to return detailed information about a specific stack instance, including its drift status and last drift time checked.
For more information on performing a drift detection operation on a stack set, see Detecting Unmanaged Changes in Stack Sets.
You can only run a single drift detection operation on a given stack set at one time.
To stop a drift detection stack set operation, use StopStackSetOperation
.
Returns the estimated monthly cost of a template. The return value is an AWS Simple Monthly Calculator URL with a query string that describes the resources required to run the template.
#execute_change_set(options = {}) ⇒ StructUpdates a stack using the input information that was provided when the specified change set was created. After the call successfully completes, AWS CloudFormation starts updating the stack. Use the DescribeStacks action to view the status of the update.
When you execute a change set, AWS CloudFormation deletes all other change sets associated with the stack because they aren't valid for the updated stack.
If a stack policy is associated with the stack, AWS CloudFormation enforces the policy during the update. You can't specify a temporary stack policy that overrides the current policy.
To create a change set for the entire stack hierachy, IncludeNestedStacks
must have been set to True
.
Returns the stack policy for a specified stack. If a stack doesn't have a policy, a null value is returned.
#get_template(options = {}) ⇒ Types::GetTemplateOutputReturns the template body for a specified stack. You can get the template for running or deleted stacks.
For deleted stacks, GetTemplate returns the template for up to 90 days after the stack has been deleted.
If the template does not exist, a ValidationError
is returned.
Returns information about a new or existing template. The GetTemplateSummary
action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack or stack set.
You can use the GetTemplateSummary
action when you submit a template, or you can get template information for a stack set, or a running or deleted stack.
For deleted stacks, GetTemplateSummary
returns the template information for up to 90 days after the stack has been deleted. If the template does not exist, a ValidationError
is returned.
Returns the ID and status of each active change set for a stack. For example, AWS CloudFormation lists change sets that are in the CREATE_IN_PROGRESS
or CREATE_PENDING
state.
Lists all stacks that are importing an exported output value. To modify or remove an exported output value, first use this action to see which stacks are using it. To see the exported output values in your account, see ListExports.
For more information about importing an exported output value, see the Fn::ImportValue
function.
Returns summary information about stack instances that are associated with the specified stack set. You can filter for stack instances that are associated with a specific AWS account name or Region, or that have a specific status.
#list_stack_resources(options = {}) ⇒ Types::ListStackResourcesOutputReturns descriptions of all resources of the specified stack.
For deleted stacks, ListStackResources returns resource information for up to 90 days after the stack has been deleted.
#list_stack_sets(options = {}) ⇒ Types::ListStackSetsOutputReturns summary information about stack sets that are associated with the user.
#list_stacks(options = {}) ⇒ Types::ListStacksOutputReturns the summary information for stacks whose status matches the specified StackStatusFilter. Summary information for stacks that have been deleted is kept for 90 days after the stack is deleted. If no StackStatusFilter is specified, summary information for all stacks is returned (including existing stacks and stacks that have been deleted).
#list_types(options = {}) ⇒ Types::ListTypesOutputReturns summary information about types that have been registered with CloudFormation.
#record_handler_progress(options = {}) ⇒ StructReports progress of a resource handler to CloudFormation.
Reserved for use by the CloudFormation CLI. Do not use this API in your code.
#register_type(options = {}) ⇒ Types::RegisterTypeOutputRegisters a type with the CloudFormation service. Registering a type makes it available for use in CloudFormation templates in your AWS account, and includes:
Validating the resource schema
Determining which handlers have been specified for the resource
Making the resource type available for use in your account
For more information on how to develop types and ready them for registeration, see Creating Resource Providers in the CloudFormation CLI User Guide.
You can have a maximum of 50 resource type versions registered at a time. This maximum is per account and per region. Use DeregisterType to deregister specific resource type versions if necessary.
Once you have initiated a registration request using RegisterType
, you can use DescribeTypeRegistration
to monitor the progress of the registration request.
Sets a stack policy for a specified stack.
#set_type_default_version(options = {}) ⇒ StructSpecify the default version of a type. The default version of a type will be used in CloudFormation operations.
#signal_resource(options = {}) ⇒ StructSends a signal to the specified resource with a success or failure status. You can use the SignalResource API in conjunction with a creation policy or update policy. AWS CloudFormation doesn't proceed with a stack creation or update until resources receive the required number of signals or the timeout period is exceeded. The SignalResource API is useful in cases where you want to send signals from anywhere other than an Amazon EC2 instance.
#stop_stack_set_operation(options = {}) ⇒ StructStops an in-progress operation on a stack set and its associated stack instances.
#update_stack(options = {}) ⇒ Types::UpdateStackOutputUpdates a stack as specified in the template. After the call completes successfully, the stack update starts. You can check the status of the stack via the DescribeStacks action.
To get a copy of the template for an existing stack, you can use the GetTemplate action.
For more information about creating an update template, updating a stack, and monitoring the progress of the update, see Updating a Stack.
#update_stack_instances(options = {}) ⇒ Types::UpdateStackInstancesOutputUpdates the parameter values for stack instances for the specified accounts, within the specified Regions. A stack instance refers to a stack in a specific account and Region.
You can only update stack instances in Regions and accounts where they already exist; to create additional stack instances, use CreateStackInstances.
During stack set updates, any parameters overridden for a stack instance are not updated, but retain their overridden value.
You can only update the parameter values that are specified in the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a template, before you can override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter value using UpdateStackInstances
.
Updates the stack set, and associated stack instances in the specified accounts and Regions.
Even if the stack set operation created by updating the stack set fails (completely or partially, below or above a specified failure tolerance), the stack set is updated with your changes. Subsequent CreateStackInstances calls on the specified stack set use the updated stack set.
#update_termination_protection(options = {}) ⇒ Types::UpdateTerminationProtectionOutputUpdates termination protection for the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide.
For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack.
#validate_template(options = {}) ⇒ Types::ValidateTemplateOutputValidates a specified template. AWS CloudFormation first checks if the template is valid JSON. If it isn't, AWS CloudFormation checks if the template is valid YAML. If both these checks fail, AWS CloudFormation returns a template validation error.
#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ BooleanWaiters polls an API operation until a resource enters a desired state.
Basic UsageWaiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.
# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)
ConfigurationYou can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:
# poll for ~25 seconds
client.wait_until(...) do |w|
w.max_attempts = 5
w.delay = 5
end
Callbacks
You can be notified before each polling attempt and before each delay. If you throw :success
or :failure
from these callbacks, it will terminate the waiter.
started_at = Time.now
client.wait_until(...) do |w|
# disable max attempts
w.max_attempts = nil
# poll for 1 hour, instead of a number of attempts
w.before_wait do |attempts, response|
throw :failure if Time.now - started_at > 3600
end
end
Handling Errors
When a waiter is successful, it returns true
. When a waiter fails, it raises an error. All errors raised extend from Waiters::Errors::WaiterFailed.
begin
client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
#waiter_names ⇒ Array<Symbol>
Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4