Interface AmazonCloudFormation
- All Known Subinterfaces:
AmazonCloudFormationAsync
- All Known Implementing Classes:
AbstractAmazonCloudFormation
,AbstractAmazonCloudFormationAsync
,AmazonCloudFormationAsyncClient
,AmazonCloudFormationClient
AWS CloudFormation enables you to create and manage AWS infrastructure deployments predictably and repeatedly. AWS CloudFormation helps you leverage AWS products such as Amazon EC2, EBS, Amazon SNS, ELB, and Auto Scaling to build highly-reliable, highly scalable, cost effective applications without worrying about creating and configuring the underlying AWS infrastructure.
With AWS CloudFormation, you declare all of your resources and dependencies in a template file. The template defines a collection of resources as a single unit called a stack. AWS CloudFormation creates and deletes all member resources of the stack together and manages all dependencies between the resources for you.
For more information about this product, go to the CloudFormation Product Page.
Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can find the product's technical documentation at http://docs.aws.amazon.com/.
-
Method Summary
Modifier and TypeMethodDescriptioncancelUpdateStack
(CancelUpdateStackRequest cancelUpdateStackRequest) Cancels an update on the specified stack.continueUpdateRollback
(ContinueUpdateRollbackRequest continueUpdateRollbackRequest) For a specified stack that is in theUPDATE_ROLLBACK_FAILED
state, continues rolling it back to theUPDATE_ROLLBACK_COMPLETE
state.createChangeSet
(CreateChangeSetRequest createChangeSetRequest) Creates a list of changes for a stack.createStack
(CreateStackRequest createStackRequest) Creates a stack as specified in the template.deleteChangeSet
(DeleteChangeSetRequest deleteChangeSetRequest) Deletes the specified change set.deleteStack
(DeleteStackRequest deleteStackRequest) Deletes a specified stack.describeAccountLimits
(DescribeAccountLimitsRequest describeAccountLimitsRequest) Retrieves your account's AWS CloudFormation limits, such as the maximum number of stacks that you can create in your account.describeChangeSet
(DescribeChangeSetRequest describeChangeSetRequest) Returns the inputs for the change set and a list of changes that AWS CloudFormation will make if you execute the change set.describeStackEvents
(DescribeStackEventsRequest describeStackEventsRequest) Returns all stack related events for a specified stack in reverse chronological order.describeStackResource
(DescribeStackResourceRequest describeStackResourceRequest) Returns a description of the specified resource in the specified stack.describeStackResources
(DescribeStackResourcesRequest describeStackResourcesRequest) Returns AWS resource descriptions for running and deleted stacks.Simplified method form for invoking the DescribeStacks operation.describeStacks
(DescribeStacksRequest describeStacksRequest) Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created.Simplified method form for invoking the EstimateTemplateCost operation.estimateTemplateCost
(EstimateTemplateCostRequest estimateTemplateCostRequest) Returns the estimated monthly cost of a template.executeChangeSet
(ExecuteChangeSetRequest executeChangeSetRequest) Updates a stack using the input information that was provided when the specified change set was created.Returns additional metadata for a previously executed successful request, typically used for debugging issues where a service isn't acting as expected.getStackPolicy
(GetStackPolicyRequest getStackPolicyRequest) Returns the stack policy for a specified stack.getTemplate
(GetTemplateRequest getTemplateRequest) Returns the template body for a specified stack.Simplified method form for invoking the GetTemplateSummary operation.getTemplateSummary
(GetTemplateSummaryRequest getTemplateSummaryRequest) Returns information about a new or existing template.listChangeSets
(ListChangeSetsRequest listChangeSetsRequest) Returns the ID and status of each active change set for a stack.listStackResources
(ListStackResourcesRequest listStackResourcesRequest) Returns descriptions of all resources of the specified stack.Simplified method form for invoking the ListStacks operation.listStacks
(ListStacksRequest listStacksRequest) Returns the summary information for stacks whose status matches the specified StackStatusFilter.void
setEndpoint
(String endpoint) Overrides the default endpoint for this client ("https://cloudformation.us-east-1.amazonaws.com").void
An alternative tosetEndpoint(String)
, sets the regional endpoint for this client's service calls.setStackPolicy
(SetStackPolicyRequest setStackPolicyRequest) Sets a stack policy for a specified stack.void
shutdown()
Shuts down this client object, releasing any resources that might be held open.signalResource
(SignalResourceRequest signalResourceRequest) Sends a signal to the specified resource with a success or failure status.updateStack
(UpdateStackRequest updateStackRequest) Updates a stack as specified in the template.validateTemplate
(ValidateTemplateRequest validateTemplateRequest) Validates a specified template.
-
Method Details
-
setEndpoint
Overrides the default endpoint for this client ("https://cloudformation.us-east-1.amazonaws.com"). Callers can use this method to control which AWS region they want to work with.Callers can pass in just the endpoint (ex: "cloudformation.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: "https://cloudformation.us-east-1.amazonaws.com"). If the protocol is not specified here, the default protocol from this client's
ClientConfiguration
will be used, which by default is HTTPS.For more information on using AWS regions with the AWS SDK for Java, and a complete list of all available endpoints for all AWS services, see: http://developer.amazonwebservices.com/connect/entry.jspa?externalID= 3912
This method is not threadsafe. An endpoint should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
- Parameters:
endpoint
- The endpoint (ex: "cloudformation.us-east-1.amazonaws.com") or a full URL, including the protocol (ex: "https://cloudformation.us-east-1.amazonaws.com") of the region specific AWS endpoint this client will communicate with.
-
setRegion
An alternative tosetEndpoint(String)
, sets the regional endpoint for this client's service calls. Callers can use this method to control which AWS region they want to work with.By default, all service endpoints in all regions use the https protocol. To use http instead, specify it in the
ClientConfiguration
supplied at construction.This method is not threadsafe. A region should be configured when the client is created and before any service requests are made. Changing it afterwards creates inevitable race conditions for any service requests in transit or retrying.
- Parameters:
region
- The region this client will communicate with. SeeRegion.getRegion(com.amazonaws.regions.Regions)
for accessing a given region. Must not be null and must be a region where the service is available.- See Also:
-
cancelUpdateStack
Cancels 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.
- Parameters:
cancelUpdateStackRequest
- The input for the CancelUpdateStack action.- Returns:
- Result of the CancelUpdateStack operation returned by the service.
-
continueUpdateRollback
ContinueUpdateRollbackResult continueUpdateRollback(ContinueUpdateRollbackRequest continueUpdateRollbackRequest) For a specified stack that is in the
UPDATE_ROLLBACK_FAILED
state, continues rolling it back to theUPDATE_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 (theUPDATE_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.- Parameters:
continueUpdateRollbackRequest
- The input for the ContinueUpdateRollback action.- Returns:
- Result of the ContinueUpdateRollback operation returned by the service.
-
createChangeSet
Creates a list of changes for a stack. AWS CloudFormation generates the change set by comparing the stack's information with the information that you submit. A change set can help you understand which resources AWS CloudFormation will change and how it will change them before you update your stack. Change sets allow you to check before you make a change so that you don't delete or replace critical resources.
AWS CloudFormation doesn't make any changes to the stack when you create a change set. To make the specified changes, you must execute the change set by using the ExecuteChangeSet action.
After the call successfully completes, AWS CloudFormation starts creating the change set. To check the status of the change set, use the DescribeChangeSet action.
- Parameters:
createChangeSetRequest
- The input for the CreateChangeSet action.- Returns:
- Result of the CreateChangeSet operation returned by the service.
- Throws:
AlreadyExistsException
- Resource with the name requested already exists.InsufficientCapabilitiesException
- The template contains resources with capabilities that were not specified in the Capabilities parameter.LimitExceededException
- Quota for the resource has already been reached.
-
createStack
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.
- Parameters:
createStackRequest
- The input for CreateStack action.- Returns:
- Result of the CreateStack operation returned by the service.
- Throws:
LimitExceededException
- Quota for the resource has already been reached.AlreadyExistsException
- Resource with the name requested already exists.InsufficientCapabilitiesException
- The template contains resources with capabilities that were not specified in the Capabilities parameter.
-
deleteChangeSet
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.
- Parameters:
deleteChangeSetRequest
- The input for the DeleteChangeSet action.- Returns:
- Result of the DeleteChangeSet operation returned by the service.
- Throws:
InvalidChangeSetStatusException
- The specified change set cannot be used to update the stack. For example, the change set status might beCREATE_IN_PROGRESS
or the stack status might beUPDATE_IN_PROGRESS
.
-
deleteStack
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.
- Parameters:
deleteStackRequest
- The input for DeleteStack action.- Returns:
- Result of the DeleteStack operation returned by the service.
-
describeAccountLimits
DescribeAccountLimitsResult describeAccountLimits(DescribeAccountLimitsRequest describeAccountLimitsRequest) Retrieves your account's AWS CloudFormation limits, such as the maximum number of stacks that you can create in your account.
- Parameters:
describeAccountLimitsRequest
- The input for the DescribeAccountLimits action.- Returns:
- Result of the DescribeAccountLimits operation returned by the service.
-
describeChangeSet
Returns the inputs for the change set and a list of changes that AWS CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the AWS CloudFormation User Guide.
- Parameters:
describeChangeSetRequest
- The input for the DescribeChangeSet action.- Returns:
- Result of the DescribeChangeSet operation returned by the service.
- Throws:
ChangeSetNotFoundException
- The specified change set name or ID doesn't exit. To view valid change sets for a stack, use theListChangeSets
action.
-
describeStackEvents
DescribeStackEventsResult describeStackEvents(DescribeStackEventsRequest describeStackEventsRequest) 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).
- Parameters:
describeStackEventsRequest
- The input for DescribeStackEvents action.- Returns:
- Result of the DescribeStackEvents operation returned by the service.
-
describeStackResource
DescribeStackResourceResult describeStackResource(DescribeStackResourceRequest describeStackResourceRequest) 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.
- Parameters:
describeStackResourceRequest
- The input for DescribeStackResource action.- Returns:
- Result of the DescribeStackResource operation returned by the service.
-
describeStackResources
DescribeStackResourcesResult describeStackResources(DescribeStackResourcesRequest describeStackResourcesRequest) Returns AWS resource descriptions for running and deleted stacks. If
StackName
is specified, all the associated resources that are part of the stack are returned. IfPhysicalResourceId
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
orPhysicalResourceId
, but not both. In addition, you can specifyLogicalResourceId
to filter the returned result. For more information about resources, theLogicalResourceId
andPhysicalResourceId
, go to the AWS CloudFormation User Guide.A
ValidationError
is returned if you specify bothStackName
andPhysicalResourceId
in the same request.- Parameters:
describeStackResourcesRequest
- The input for DescribeStackResources action.- Returns:
- Result of the DescribeStackResources operation returned by the service.
-
describeStacks
Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created.
- Parameters:
describeStacksRequest
- The input for DescribeStacks action.- Returns:
- Result of the DescribeStacks operation returned by the service.
-
describeStacks
DescribeStacksResult describeStacks()Simplified method form for invoking the DescribeStacks operation.- See Also:
-
estimateTemplateCost
EstimateTemplateCostResult estimateTemplateCost(EstimateTemplateCostRequest estimateTemplateCostRequest) 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.
- Parameters:
estimateTemplateCostRequest
- The input for an EstimateTemplateCost action.- Returns:
- Result of the EstimateTemplateCost operation returned by the service.
-
estimateTemplateCost
EstimateTemplateCostResult estimateTemplateCost()Simplified method form for invoking the EstimateTemplateCost operation. -
executeChangeSet
Updates 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.
- Parameters:
executeChangeSetRequest
- The input for the ExecuteChangeSet action.- Returns:
- Result of the ExecuteChangeSet operation returned by the service.
- Throws:
InvalidChangeSetStatusException
- The specified change set cannot be used to update the stack. For example, the change set status might beCREATE_IN_PROGRESS
or the stack status might beUPDATE_IN_PROGRESS
.ChangeSetNotFoundException
- The specified change set name or ID doesn't exit. To view valid change sets for a stack, use theListChangeSets
action.
-
getStackPolicy
Returns the stack policy for a specified stack. If a stack doesn't have a policy, a null value is returned.
- Parameters:
getStackPolicyRequest
- The input for the GetStackPolicy action.- Returns:
- Result of the GetStackPolicy operation returned by the service.
-
getTemplate
Returns 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.- Parameters:
getTemplateRequest
- The input for a GetTemplate action.- Returns:
- Result of the GetTemplate operation returned by the service.
-
getTemplateSummary
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.You can use the
GetTemplateSummary
action when you submit a template, or you can get template information for 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, aValidationError
is returned.- Parameters:
getTemplateSummaryRequest
- The input for the GetTemplateSummary action.- Returns:
- Result of the GetTemplateSummary operation returned by the service.
-
getTemplateSummary
GetTemplateSummaryResult getTemplateSummary()Simplified method form for invoking the GetTemplateSummary operation. -
listChangeSets
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
orCREATE_PENDING
state.- Parameters:
listChangeSetsRequest
- The input for the ListChangeSets action.- Returns:
- Result of the ListChangeSets operation returned by the service.
-
listStackResources
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.
- Parameters:
listStackResourcesRequest
- The input for the ListStackResource action.- Returns:
- Result of the ListStackResources operation returned by the service.
-
listStacks
Returns 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).
- Parameters:
listStacksRequest
- The input for ListStacks action.- Returns:
- Result of the ListStacks operation returned by the service.
-
listStacks
ListStacksResult listStacks()Simplified method form for invoking the ListStacks operation.- See Also:
-
setStackPolicy
Sets a stack policy for a specified stack.
- Parameters:
setStackPolicyRequest
- The input for the SetStackPolicy action.- Returns:
- Result of the SetStackPolicy operation returned by the service.
-
signalResource
Sends 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.
- Parameters:
signalResourceRequest
- The input for the SignalResource action.- Returns:
- Result of the SignalResource operation returned by the service.
-
updateStack
Updates 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.
- Parameters:
updateStackRequest
- The input for an UpdateStack action.- Returns:
- Result of the UpdateStack operation returned by the service.
- Throws:
InsufficientCapabilitiesException
- The template contains resources with capabilities that were not specified in the Capabilities parameter.
-
validateTemplate
Validates a specified template.
- Parameters:
validateTemplateRequest
- The input for ValidateTemplate action.- Returns:
- Result of the ValidateTemplate operation returned by the service.
-
shutdown
void shutdown()Shuts down this client object, releasing any resources that might be held open. This is an optional method, and callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client has been shutdown, it should not be used to make any more requests. -
getCachedResponseMetadata
Returns additional metadata for a previously executed successful request, typically used for debugging issues where a service isn't acting as expected. This data isn't considered part of the result data returned by an operation, so it's available through this separate, diagnostic interface.Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic information for an executed request, you should use this method to retrieve it as soon as possible after executing a request.
- Parameters:
request
- The originally executed request.- Returns:
- The response metadata for the specified request, or null if none is available.
-