Interface AmazonCloudFormation

  • All Known Subinterfaces:
    AmazonCloudFormationAsync
    All Known Implementing Classes:
    AbstractAmazonCloudFormation, AbstractAmazonCloudFormationAsync, AmazonCloudFormationAsyncClient, AmazonCloudFormationClient

    public interface AmazonCloudFormation
    Interface for accessing AWS CloudFormation.

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

    • Method Detail

      • setEndpoint

        void setEndpoint​(String endpoint)
        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.
      • cancelUpdateStack

        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.

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

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

        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.

        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

        CreateStackResult createStack​(CreateStackRequest createStackRequest)

        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

        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.

        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

        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.

        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

        DescribeChangeSetResult 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. 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 the ListChangeSets 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. 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.

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

        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.

        Parameters:
        describeStacksRequest - The input for DescribeStacks action.
        Returns:
        Result of the DescribeStacks operation returned by the service.
      • 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.
      • executeChangeSet

        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.

        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.
      • getStackPolicy

        GetStackPolicyResult getStackPolicy​(GetStackPolicyRequest getStackPolicyRequest)

        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

        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.

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

        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.

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

        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.

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

        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.

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

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

        Parameters:
        listStacksRequest - The input for ListStacks action.
        Returns:
        Result of the ListStacks operation returned by the service.
      • setStackPolicy

        SetStackPolicyResult setStackPolicy​(SetStackPolicyRequest setStackPolicyRequest)

        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

        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.

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

        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.

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

        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 a request.

        Parameters:
        request - The originally executed request.
        Returns:
        The response metadata for the specified request, or null if none is available.