Class AmazonCloudFormationClient

java.lang.Object
com.amazonaws.AmazonWebServiceClient
com.amazonaws.services.cloudformation.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 Details

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

    • 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:
    • 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:
    • 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 Details

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

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

      Specified by:
      createStack in interface AmazonCloudFormation
      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

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

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

      Specified by:
      describeAccountLimits in interface AmazonCloudFormation
      Parameters:
      describeAccountLimitsRequest - The input for the DescribeAccountLimits action.
      Returns:
      Result of the DescribeAccountLimits operation returned by the service.
    • describeChangeSet

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

      Specified by:
      describeChangeSet in interface AmazonCloudFormation
      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

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

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

      Specified by:
      describeStackResource in interface AmazonCloudFormation
      Parameters:
      describeStackResourceRequest - The input for DescribeStackResource action.
      Returns:
      Result of the DescribeStackResource 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.
    • describeStacks

      public DescribeStacksResult describeStacks()
      Description copied from interface: AmazonCloudFormation
      Simplified method form for invoking the DescribeStacks operation.
      Specified by:
      describeStacks in interface AmazonCloudFormation
      See Also:
    • estimateTemplateCost

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

      Specified by:
      estimateTemplateCost in interface AmazonCloudFormation
      Parameters:
      estimateTemplateCostRequest - The input for an EstimateTemplateCost action.
      Returns:
      Result of the EstimateTemplateCost operation returned by the service.
    • estimateTemplateCost

      public EstimateTemplateCostResult estimateTemplateCost()
      Description copied from interface: AmazonCloudFormation
      Simplified method form for invoking the EstimateTemplateCost operation.
      Specified by:
      estimateTemplateCost in interface AmazonCloudFormation
      See Also:
    • 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.
    • getStackPolicy

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

      Specified by:
      getStackPolicy in interface AmazonCloudFormation
      Parameters:
      getStackPolicyRequest - The input for the GetStackPolicy action.
      Returns:
      Result of the GetStackPolicy operation returned by the service.
    • 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.
    • getTemplateSummary

      public GetTemplateSummaryResult getTemplateSummary()
      Description copied from interface: AmazonCloudFormation
      Simplified method form for invoking the GetTemplateSummary operation.
      Specified by:
      getTemplateSummary in interface AmazonCloudFormation
      See Also:
    • 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.
    • listStacks

      public ListStacksResult listStacks()
      Description copied from interface: AmazonCloudFormation
      Simplified method form for invoking the ListStacks operation.
      Specified by:
      listStacks in interface AmazonCloudFormation
      See Also:
    • setStackPolicy

      public SetStackPolicyResult setStackPolicy(SetStackPolicyRequest setStackPolicyRequest)

      Sets a stack policy for a specified stack.

      Specified by:
      setStackPolicy in interface AmazonCloudFormation
      Parameters:
      setStackPolicyRequest - The input for the SetStackPolicy action.
      Returns:
      Result of the SetStackPolicy 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.
    • validateTemplate

      public ValidateTemplateResult validateTemplate(ValidateTemplateRequest validateTemplateRequest)

      Validates a specified template.

      Specified by:
      validateTemplate in interface AmazonCloudFormation
      Parameters:
      validateTemplateRequest - The input for ValidateTemplate action.
      Returns:
      Result of the ValidateTemplate operation returned by the service.
    • 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.