Class AmazonCloudFormationClient

  • All Implemented Interfaces:
    AmazonCloudFormation
    Direct Known Subclasses:
    AmazonCloudFormationAsyncClient

    @ThreadSafe
    public class AmazonCloudFormationClient
    extends AmazonWebServiceClient
    implements AmazonCloudFormation
    Client for accessing AWS CloudFormation. All service calls made using this client are blocking, and will not return until the service call completes.

    AWS CloudFormation

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

    • Field Detail

      • configFactory

        protected static final ClientConfigurationFactory configFactory
        Client configuration factory providing ClientConfigurations tailored to this client
      • exceptionUnmarshallers

        protected final List<com.amazonaws.transform.Unmarshaller<AmazonServiceException,​Node>> exceptionUnmarshallers
        List of exception unmarshallers for all modeled exceptions
    • Constructor Detail

      • AmazonCloudFormationClient

        public AmazonCloudFormationClient()
        Constructs a new client to invoke service methods on AWS CloudFormation. A credentials provider chain will be used that searches for credentials in this order:
        • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
        • Java System Properties - aws.accessKeyId and aws.secretKey
        • Instance profile credentials delivered through the Amazon EC2 metadata service

        All service calls made using this new client object are blocking, and will not return until the service call completes.

        See Also:
        DefaultAWSCredentialsProviderChain
      • AmazonCloudFormationClient

        public AmazonCloudFormationClient​(ClientConfiguration clientConfiguration)
        Constructs a new client to invoke service methods on AWS CloudFormation. A credentials provider chain will be used that searches for credentials in this order:
        • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
        • Java System Properties - aws.accessKeyId and aws.secretKey
        • Instance profile credentials delivered through the Amazon EC2 metadata service

        All service calls made using this new client object are blocking, and will not return until the service call completes.

        Parameters:
        clientConfiguration - The client configuration options controlling how this client connects to AWS CloudFormation (ex: proxy settings, retry counts, etc.).
        See Also:
        DefaultAWSCredentialsProviderChain
      • AmazonCloudFormationClient

        public AmazonCloudFormationClient​(AWSCredentials awsCredentials)
        Constructs a new client to invoke service methods on AWS CloudFormation using the specified AWS account credentials.

        All service calls made using this new client object are blocking, and will not return until the service call completes.

        Parameters:
        awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
      • AmazonCloudFormationClient

        public AmazonCloudFormationClient​(AWSCredentials awsCredentials,
                                          ClientConfiguration clientConfiguration)
        Constructs a new client to invoke service methods on AWS CloudFormation using the specified AWS account credentials and client configuration options.

        All service calls made using this new client object are blocking, and will not return until the service call completes.

        Parameters:
        awsCredentials - The AWS credentials (access key ID and secret key) to use when authenticating with AWS services.
        clientConfiguration - The client configuration options controlling how this client connects to AWS CloudFormation (ex: proxy settings, retry counts, etc.).
      • AmazonCloudFormationClient

        public AmazonCloudFormationClient​(AWSCredentialsProvider awsCredentialsProvider)
        Constructs a new client to invoke service methods on AWS CloudFormation using the specified AWS account credentials provider.

        All service calls made using this new client object are blocking, and will not return until the service call completes.

        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
      • AmazonCloudFormationClient

        public AmazonCloudFormationClient​(AWSCredentialsProvider awsCredentialsProvider,
                                          ClientConfiguration clientConfiguration)
        Constructs a new client to invoke service methods on AWS CloudFormation using the specified AWS account credentials provider and client configuration options.

        All service calls made using this new client object are blocking, and will not return until the service call completes.

        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        clientConfiguration - The client configuration options controlling how this client connects to AWS CloudFormation (ex: proxy settings, retry counts, etc.).
      • AmazonCloudFormationClient

        public AmazonCloudFormationClient​(AWSCredentialsProvider awsCredentialsProvider,
                                          ClientConfiguration clientConfiguration,
                                          RequestMetricCollector requestMetricCollector)
        Constructs a new client to invoke service methods on AWS CloudFormation using the specified AWS account credentials provider, client configuration options, and request metric collector.

        All service calls made using this new client object are blocking, and will not return until the service call completes.

        Parameters:
        awsCredentialsProvider - The AWS credentials provider which will provide credentials to authenticate requests with AWS services.
        clientConfiguration - The client configuration options controlling how this client connects to AWS CloudFormation (ex: proxy settings, retry counts, etc.).
        requestMetricCollector - optional request metric collector
    • Method Detail

      • cancelUpdateStack

        public CancelUpdateStackResult cancelUpdateStack​(CancelUpdateStackRequest cancelUpdateStackRequest)

        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.

        Specified by:
        cancelUpdateStack in interface AmazonCloudFormation
        Parameters:
        cancelUpdateStackRequest - The input for the CancelUpdateStack action.
        Returns:
        Result of the CancelUpdateStack operation returned by the service.
      • continueUpdateRollback

        public ContinueUpdateRollbackResult continueUpdateRollback​(ContinueUpdateRollbackRequest continueUpdateRollbackRequest)

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

        Specified by:
        continueUpdateRollback in interface AmazonCloudFormation
        Parameters:
        continueUpdateRollbackRequest - The input for the ContinueUpdateRollback action.
        Returns:
        Result of the ContinueUpdateRollback operation returned by the service.
      • createChangeSet

        public CreateChangeSetResult createChangeSet​(CreateChangeSetRequest createChangeSetRequest)

        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.

        Specified by:
        createChangeSet in interface AmazonCloudFormation
        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.
      • deleteChangeSet

        public DeleteChangeSetResult deleteChangeSet​(DeleteChangeSetRequest deleteChangeSetRequest)

        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.

        Specified by:
        deleteChangeSet in interface AmazonCloudFormation
        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 be CREATE_IN_PROGRESS or the stack status might be UPDATE_IN_PROGRESS.
      • deleteStack

        public DeleteStackResult deleteStack​(DeleteStackRequest deleteStackRequest)

        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.

        Specified by:
        deleteStack in interface AmazonCloudFormation
        Parameters:
        deleteStackRequest - The input for DeleteStack action.
        Returns:
        Result of the DeleteStack operation returned by the service.
      • describeStackEvents

        public 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).

        Specified by:
        describeStackEvents in interface AmazonCloudFormation
        Parameters:
        describeStackEventsRequest - The input for DescribeStackEvents action.
        Returns:
        Result of the DescribeStackEvents operation returned by the service.
      • describeStackResources

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

        Specified by:
        describeStackResources in interface AmazonCloudFormation
        Parameters:
        describeStackResourcesRequest - The input for DescribeStackResources action.
        Returns:
        Result of the DescribeStackResources operation returned by the service.
      • describeStacks

        public DescribeStacksResult 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.

        Specified by:
        describeStacks in interface AmazonCloudFormation
        Parameters:
        describeStacksRequest - The input for DescribeStacks action.
        Returns:
        Result of the DescribeStacks operation returned by the service.
      • executeChangeSet

        public ExecuteChangeSetResult executeChangeSet​(ExecuteChangeSetRequest executeChangeSetRequest)

        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.

        Specified by:
        executeChangeSet in interface AmazonCloudFormation
        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 be CREATE_IN_PROGRESS or the stack status might be UPDATE_IN_PROGRESS.
        ChangeSetNotFoundException - The specified change set name or ID doesn't exit. To view valid change sets for a stack, use the ListChangeSets action.
      • getTemplate

        public GetTemplateResult getTemplate​(GetTemplateRequest getTemplateRequest)

        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.

        Specified by:
        getTemplate in interface AmazonCloudFormation
        Parameters:
        getTemplateRequest - The input for a GetTemplate action.
        Returns:
        Result of the GetTemplate operation returned by the service.
      • getTemplateSummary

        public GetTemplateSummaryResult getTemplateSummary​(GetTemplateSummaryRequest getTemplateSummaryRequest)

        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, a ValidationError is returned.

        Specified by:
        getTemplateSummary in interface AmazonCloudFormation
        Parameters:
        getTemplateSummaryRequest - The input for the GetTemplateSummary action.
        Returns:
        Result of the GetTemplateSummary operation returned by the service.
      • listChangeSets

        public ListChangeSetsResult listChangeSets​(ListChangeSetsRequest listChangeSetsRequest)

        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.

        Specified by:
        listChangeSets in interface AmazonCloudFormation
        Parameters:
        listChangeSetsRequest - The input for the ListChangeSets action.
        Returns:
        Result of the ListChangeSets operation returned by the service.
      • listStackResources

        public ListStackResourcesResult listStackResources​(ListStackResourcesRequest listStackResourcesRequest)

        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.

        Specified by:
        listStackResources in interface AmazonCloudFormation
        Parameters:
        listStackResourcesRequest - The input for the ListStackResource action.
        Returns:
        Result of the ListStackResources operation returned by the service.
      • listStacks

        public ListStacksResult listStacks​(ListStacksRequest listStacksRequest)

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

        Specified by:
        listStacks in interface AmazonCloudFormation
        Parameters:
        listStacksRequest - The input for ListStacks action.
        Returns:
        Result of the ListStacks operation returned by the service.
      • signalResource

        public SignalResourceResult signalResource​(SignalResourceRequest signalResourceRequest)

        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.

        Specified by:
        signalResource in interface AmazonCloudFormation
        Parameters:
        signalResourceRequest - The input for the SignalResource action.
        Returns:
        Result of the SignalResource operation returned by the service.
      • updateStack

        public UpdateStackResult updateStack​(UpdateStackRequest updateStackRequest)

        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.

        Specified by:
        updateStack in interface AmazonCloudFormation
        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.
      • getCachedResponseMetadata

        public ResponseMetadata getCachedResponseMetadata​(AmazonWebServiceRequest request)
        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 the request.

        Specified by:
        getCachedResponseMetadata in interface AmazonCloudFormation
        Parameters:
        request - The originally executed request
        Returns:
        The response metadata for the specified request, or null if none is available.