All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.cloudformation.AmazonCloudFormation Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS CloudFormation module holds the client classes that are used for communicating with AWS CloudFormation Service

There is a newer version: 1.12.778
Show newest version
/*
 * Copyright 2010-2015 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 *
 *  http://aws.amazon.com/apache2.0
 *
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.cloudformation;

import com.amazonaws.*;
import com.amazonaws.regions.*;

import com.amazonaws.services.cloudformation.model.*;

/**
 * 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://aws.amazon.com/documentation/. *

*/ public interface AmazonCloudFormation { /** * 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 * {@link 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. * * @param 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. */ void setEndpoint(String endpoint); /** * An alternative to {@link AmazonCloudFormation#setEndpoint(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 {@link 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. * * @param region * The region this client will communicate with. See * {@link Region#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 Region#getRegion(com.amazonaws.regions.Regions) * @see Region#createClient(Class, * com.amazonaws.auth.AWSCredentialsProvider, ClientConfiguration) * @see Region#isServiceSupported(String) */ void setRegion(Region region); /** *

* 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. * * @param cancelUpdateStackRequest * The input for the CancelUpdateStack action. */ void cancelUpdateStack(CancelUpdateStackRequest cancelUpdateStackRequest); /** *

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

* * @param createStackRequest * The input for CreateStack action. * @return Result of the CreateStack operation returned by the service. * @throws LimitExceededException * Quota for the resource has already been reached. * @throws AlreadyExistsException * Resource with the name requested already exists. * @throws InsufficientCapabilitiesException * The template contains resources with capabilities that were not * specified in the Capabilities parameter. */ CreateStackResult createStack(CreateStackRequest createStackRequest); /** *

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

* * @param deleteStackRequest * The input for DeleteStack action. */ void deleteStack(DeleteStackRequest deleteStackRequest); /** *

* Retrieves your account's AWS CloudFormation limits, such as the maximum * number of stacks that you can create in your account. *

* * @param describeAccountLimitsRequest * The input for the DescribeAccountLimits action. * @return Result of the DescribeAccountLimits operation returned by the * service. */ DescribeAccountLimitsResult describeAccountLimits( DescribeAccountLimitsRequest describeAccountLimitsRequest); /** *

* Returns all stack related events for a specified stack. 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). * * @param describeStackEventsRequest * The input for DescribeStackEvents action. * @return Result of the DescribeStackEvents operation returned by the * service. */ DescribeStackEventsResult describeStackEvents( DescribeStackEventsRequest describeStackEventsRequest); /** *

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

* * @param describeStackResourceRequest * The input for DescribeStackResource action. * @return Result of the DescribeStackResource operation returned by the * service. */ DescribeStackResourceResult describeStackResource( DescribeStackResourceRequest describeStackResourceRequest); /** *

* 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. * * @param describeStackResourcesRequest * The input for DescribeStackResources action. * @return Result of the DescribeStackResources operation returned by the * service. */ DescribeStackResourcesResult describeStackResources( DescribeStackResourcesRequest describeStackResourcesRequest); /** *

* Returns the description for the specified stack; if no stack name was * specified, then it returns the description for all the stacks created. *

* * @param describeStacksRequest * The input for DescribeStacks action. * @return Result of the DescribeStacks operation returned by the service. */ DescribeStacksResult describeStacks( DescribeStacksRequest describeStacksRequest); /** * Simplified method form for invoking the DescribeStacks operation. * * @see #describeStacks(DescribeStacksRequest) */ DescribeStacksResult describeStacks(); /** *

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

* * @param estimateTemplateCostRequest * @return Result of the EstimateTemplateCost operation returned by the * service. */ EstimateTemplateCostResult estimateTemplateCost( EstimateTemplateCostRequest estimateTemplateCostRequest); /** * Simplified method form for invoking the EstimateTemplateCost operation. * * @see #estimateTemplateCost(EstimateTemplateCostRequest) */ EstimateTemplateCostResult estimateTemplateCost(); /** *

* Returns the stack policy for a specified stack. If a stack doesn't have a * policy, a null value is returned. *

* * @param getStackPolicyRequest * The input for the GetStackPolicy action. * @return Result of the GetStackPolicy operation returned by the service. */ GetStackPolicyResult getStackPolicy( GetStackPolicyRequest getStackPolicyRequest); /** *

* 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. * * @param getTemplateRequest * The input for a GetTemplate action. * @return Result of the GetTemplate operation returned by the service. */ GetTemplateResult getTemplate(GetTemplateRequest getTemplateRequest); /** *

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

* * @param getTemplateSummaryRequest * The input for the GetTemplateSummary action. * @return Result of the GetTemplateSummary operation returned by the * service. */ GetTemplateSummaryResult getTemplateSummary( GetTemplateSummaryRequest getTemplateSummaryRequest); /** * Simplified method form for invoking the GetTemplateSummary operation. * * @see #getTemplateSummary(GetTemplateSummaryRequest) */ GetTemplateSummaryResult getTemplateSummary(); /** *

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

* * @param listStackResourcesRequest * The input for the ListStackResource action. * @return Result of the ListStackResources operation returned by the * service. */ ListStackResourcesResult listStackResources( ListStackResourcesRequest listStackResourcesRequest); /** *

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

* * @param listStacksRequest * The input for ListStacks action. * @return Result of the ListStacks operation returned by the service. */ ListStacksResult listStacks(ListStacksRequest listStacksRequest); /** * Simplified method form for invoking the ListStacks operation. * * @see #listStacks(ListStacksRequest) */ ListStacksResult listStacks(); /** *

* Sets a stack policy for a specified stack. *

* * @param setStackPolicyRequest * The input for the SetStackPolicy action. */ void setStackPolicy(SetStackPolicyRequest setStackPolicyRequest); /** *

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

* * @param signalResourceRequest * The input for the SignalResource action. */ void signalResource(SignalResourceRequest signalResourceRequest); /** *

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

*

* Tags that were associated with this stack during creation time will still * be associated with the stack after an UpdateStack operation. *

*

* For more information about creating an update template, updating a stack, * and monitoring the progress of the update, see Updating a Stack. *

* * @param updateStackRequest * The input for UpdateStack action. * @return 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. */ UpdateStackResult updateStack(UpdateStackRequest updateStackRequest); /** *

* Validates a specified template. *

* * @param validateTemplateRequest * The input for ValidateTemplate action. * @return Result of the ValidateTemplate operation returned by the service. */ ValidateTemplateResult validateTemplate( ValidateTemplateRequest validateTemplateRequest); /** * 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. */ void shutdown(); /** * 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. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none * is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy