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

software.amazon.awssdk.services.cloudformation.DefaultCloudFormationClient 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: 2.30.1
Show newest version
/*
 * Copyright 2014-2019 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 software.amazon.awssdk.services.cloudformation;

import java.util.function.Consumer;
import software.amazon.awssdk.annotations.Generated;
import software.amazon.awssdk.annotations.SdkInternalApi;
import software.amazon.awssdk.awscore.AwsRequestOverrideConfiguration;
import software.amazon.awssdk.awscore.client.handler.AwsSyncClientHandler;
import software.amazon.awssdk.awscore.exception.AwsServiceException;
import software.amazon.awssdk.core.ApiName;
import software.amazon.awssdk.core.client.config.SdkClientConfiguration;
import software.amazon.awssdk.core.client.handler.ClientExecutionParams;
import software.amazon.awssdk.core.client.handler.SyncClientHandler;
import software.amazon.awssdk.core.exception.SdkClientException;
import software.amazon.awssdk.core.http.HttpResponseHandler;
import software.amazon.awssdk.core.util.VersionInfo;
import software.amazon.awssdk.protocols.core.ExceptionMetadata;
import software.amazon.awssdk.protocols.query.AwsQueryProtocolFactory;
import software.amazon.awssdk.services.cloudformation.model.AlreadyExistsException;
import software.amazon.awssdk.services.cloudformation.model.CancelUpdateStackRequest;
import software.amazon.awssdk.services.cloudformation.model.CancelUpdateStackResponse;
import software.amazon.awssdk.services.cloudformation.model.ChangeSetNotFoundException;
import software.amazon.awssdk.services.cloudformation.model.CloudFormationException;
import software.amazon.awssdk.services.cloudformation.model.CloudFormationRequest;
import software.amazon.awssdk.services.cloudformation.model.ContinueUpdateRollbackRequest;
import software.amazon.awssdk.services.cloudformation.model.ContinueUpdateRollbackResponse;
import software.amazon.awssdk.services.cloudformation.model.CreateChangeSetRequest;
import software.amazon.awssdk.services.cloudformation.model.CreateChangeSetResponse;
import software.amazon.awssdk.services.cloudformation.model.CreateStackInstancesRequest;
import software.amazon.awssdk.services.cloudformation.model.CreateStackInstancesResponse;
import software.amazon.awssdk.services.cloudformation.model.CreateStackRequest;
import software.amazon.awssdk.services.cloudformation.model.CreateStackResponse;
import software.amazon.awssdk.services.cloudformation.model.CreateStackSetRequest;
import software.amazon.awssdk.services.cloudformation.model.CreateStackSetResponse;
import software.amazon.awssdk.services.cloudformation.model.CreatedButModifiedException;
import software.amazon.awssdk.services.cloudformation.model.DeleteChangeSetRequest;
import software.amazon.awssdk.services.cloudformation.model.DeleteChangeSetResponse;
import software.amazon.awssdk.services.cloudformation.model.DeleteStackInstancesRequest;
import software.amazon.awssdk.services.cloudformation.model.DeleteStackInstancesResponse;
import software.amazon.awssdk.services.cloudformation.model.DeleteStackRequest;
import software.amazon.awssdk.services.cloudformation.model.DeleteStackResponse;
import software.amazon.awssdk.services.cloudformation.model.DeleteStackSetRequest;
import software.amazon.awssdk.services.cloudformation.model.DeleteStackSetResponse;
import software.amazon.awssdk.services.cloudformation.model.DescribeAccountLimitsRequest;
import software.amazon.awssdk.services.cloudformation.model.DescribeAccountLimitsResponse;
import software.amazon.awssdk.services.cloudformation.model.DescribeChangeSetRequest;
import software.amazon.awssdk.services.cloudformation.model.DescribeChangeSetResponse;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackDriftDetectionStatusRequest;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackDriftDetectionStatusResponse;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackEventsRequest;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackEventsResponse;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackInstanceRequest;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackInstanceResponse;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackResourceDriftsRequest;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackResourceDriftsResponse;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackResourceRequest;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackResourceResponse;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackResourcesRequest;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackResourcesResponse;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackSetOperationRequest;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackSetOperationResponse;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackSetRequest;
import software.amazon.awssdk.services.cloudformation.model.DescribeStackSetResponse;
import software.amazon.awssdk.services.cloudformation.model.DescribeStacksRequest;
import software.amazon.awssdk.services.cloudformation.model.DescribeStacksResponse;
import software.amazon.awssdk.services.cloudformation.model.DetectStackDriftRequest;
import software.amazon.awssdk.services.cloudformation.model.DetectStackDriftResponse;
import software.amazon.awssdk.services.cloudformation.model.DetectStackResourceDriftRequest;
import software.amazon.awssdk.services.cloudformation.model.DetectStackResourceDriftResponse;
import software.amazon.awssdk.services.cloudformation.model.EstimateTemplateCostRequest;
import software.amazon.awssdk.services.cloudformation.model.EstimateTemplateCostResponse;
import software.amazon.awssdk.services.cloudformation.model.ExecuteChangeSetRequest;
import software.amazon.awssdk.services.cloudformation.model.ExecuteChangeSetResponse;
import software.amazon.awssdk.services.cloudformation.model.GetStackPolicyRequest;
import software.amazon.awssdk.services.cloudformation.model.GetStackPolicyResponse;
import software.amazon.awssdk.services.cloudformation.model.GetTemplateRequest;
import software.amazon.awssdk.services.cloudformation.model.GetTemplateResponse;
import software.amazon.awssdk.services.cloudformation.model.GetTemplateSummaryRequest;
import software.amazon.awssdk.services.cloudformation.model.GetTemplateSummaryResponse;
import software.amazon.awssdk.services.cloudformation.model.InsufficientCapabilitiesException;
import software.amazon.awssdk.services.cloudformation.model.InvalidChangeSetStatusException;
import software.amazon.awssdk.services.cloudformation.model.InvalidOperationException;
import software.amazon.awssdk.services.cloudformation.model.LimitExceededException;
import software.amazon.awssdk.services.cloudformation.model.ListChangeSetsRequest;
import software.amazon.awssdk.services.cloudformation.model.ListChangeSetsResponse;
import software.amazon.awssdk.services.cloudformation.model.ListExportsRequest;
import software.amazon.awssdk.services.cloudformation.model.ListExportsResponse;
import software.amazon.awssdk.services.cloudformation.model.ListImportsRequest;
import software.amazon.awssdk.services.cloudformation.model.ListImportsResponse;
import software.amazon.awssdk.services.cloudformation.model.ListStackInstancesRequest;
import software.amazon.awssdk.services.cloudformation.model.ListStackInstancesResponse;
import software.amazon.awssdk.services.cloudformation.model.ListStackResourcesRequest;
import software.amazon.awssdk.services.cloudformation.model.ListStackResourcesResponse;
import software.amazon.awssdk.services.cloudformation.model.ListStackSetOperationResultsRequest;
import software.amazon.awssdk.services.cloudformation.model.ListStackSetOperationResultsResponse;
import software.amazon.awssdk.services.cloudformation.model.ListStackSetOperationsRequest;
import software.amazon.awssdk.services.cloudformation.model.ListStackSetOperationsResponse;
import software.amazon.awssdk.services.cloudformation.model.ListStackSetsRequest;
import software.amazon.awssdk.services.cloudformation.model.ListStackSetsResponse;
import software.amazon.awssdk.services.cloudformation.model.ListStacksRequest;
import software.amazon.awssdk.services.cloudformation.model.ListStacksResponse;
import software.amazon.awssdk.services.cloudformation.model.NameAlreadyExistsException;
import software.amazon.awssdk.services.cloudformation.model.OperationIdAlreadyExistsException;
import software.amazon.awssdk.services.cloudformation.model.OperationInProgressException;
import software.amazon.awssdk.services.cloudformation.model.OperationNotFoundException;
import software.amazon.awssdk.services.cloudformation.model.SetStackPolicyRequest;
import software.amazon.awssdk.services.cloudformation.model.SetStackPolicyResponse;
import software.amazon.awssdk.services.cloudformation.model.SignalResourceRequest;
import software.amazon.awssdk.services.cloudformation.model.SignalResourceResponse;
import software.amazon.awssdk.services.cloudformation.model.StackInstanceNotFoundException;
import software.amazon.awssdk.services.cloudformation.model.StackSetNotEmptyException;
import software.amazon.awssdk.services.cloudformation.model.StackSetNotFoundException;
import software.amazon.awssdk.services.cloudformation.model.StaleRequestException;
import software.amazon.awssdk.services.cloudformation.model.StopStackSetOperationRequest;
import software.amazon.awssdk.services.cloudformation.model.StopStackSetOperationResponse;
import software.amazon.awssdk.services.cloudformation.model.TokenAlreadyExistsException;
import software.amazon.awssdk.services.cloudformation.model.UpdateStackInstancesRequest;
import software.amazon.awssdk.services.cloudformation.model.UpdateStackInstancesResponse;
import software.amazon.awssdk.services.cloudformation.model.UpdateStackRequest;
import software.amazon.awssdk.services.cloudformation.model.UpdateStackResponse;
import software.amazon.awssdk.services.cloudformation.model.UpdateStackSetRequest;
import software.amazon.awssdk.services.cloudformation.model.UpdateStackSetResponse;
import software.amazon.awssdk.services.cloudformation.model.UpdateTerminationProtectionRequest;
import software.amazon.awssdk.services.cloudformation.model.UpdateTerminationProtectionResponse;
import software.amazon.awssdk.services.cloudformation.model.ValidateTemplateRequest;
import software.amazon.awssdk.services.cloudformation.model.ValidateTemplateResponse;
import software.amazon.awssdk.services.cloudformation.paginators.DescribeStackEventsIterable;
import software.amazon.awssdk.services.cloudformation.paginators.DescribeStackResourceDriftsIterable;
import software.amazon.awssdk.services.cloudformation.paginators.DescribeStacksIterable;
import software.amazon.awssdk.services.cloudformation.paginators.ListExportsIterable;
import software.amazon.awssdk.services.cloudformation.paginators.ListImportsIterable;
import software.amazon.awssdk.services.cloudformation.paginators.ListStackResourcesIterable;
import software.amazon.awssdk.services.cloudformation.paginators.ListStacksIterable;
import software.amazon.awssdk.services.cloudformation.transform.CancelUpdateStackRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.ContinueUpdateRollbackRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.CreateChangeSetRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.CreateStackInstancesRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.CreateStackRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.CreateStackSetRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DeleteChangeSetRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DeleteStackInstancesRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DeleteStackRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DeleteStackSetRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DescribeAccountLimitsRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DescribeChangeSetRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DescribeStackDriftDetectionStatusRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DescribeStackEventsRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DescribeStackInstanceRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DescribeStackResourceDriftsRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DescribeStackResourceRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DescribeStackResourcesRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DescribeStackSetOperationRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DescribeStackSetRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DescribeStacksRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DetectStackDriftRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.DetectStackResourceDriftRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.EstimateTemplateCostRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.ExecuteChangeSetRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.GetStackPolicyRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.GetTemplateRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.GetTemplateSummaryRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.ListChangeSetsRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.ListExportsRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.ListImportsRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.ListStackInstancesRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.ListStackResourcesRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.ListStackSetOperationResultsRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.ListStackSetOperationsRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.ListStackSetsRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.ListStacksRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.SetStackPolicyRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.SignalResourceRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.StopStackSetOperationRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.UpdateStackInstancesRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.UpdateStackRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.UpdateStackSetRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.UpdateTerminationProtectionRequestMarshaller;
import software.amazon.awssdk.services.cloudformation.transform.ValidateTemplateRequestMarshaller;

/**
 * Internal implementation of {@link CloudFormationClient}.
 *
 * @see CloudFormationClient#builder()
 */
@Generated("software.amazon.awssdk:codegen")
@SdkInternalApi
final class DefaultCloudFormationClient implements CloudFormationClient {
    private final SyncClientHandler clientHandler;

    private final AwsQueryProtocolFactory protocolFactory;

    private final SdkClientConfiguration clientConfiguration;

    protected DefaultCloudFormationClient(SdkClientConfiguration clientConfiguration) {
        this.clientHandler = new AwsSyncClientHandler(clientConfiguration);
        this.clientConfiguration = clientConfiguration;
        this.protocolFactory = init();
    }

    @Override
    public final String serviceName() {
        return SERVICE_NAME;
    }

    /**
     * 

* 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. * @return Result of the CancelUpdateStack operation returned by the service. * @throws TokenAlreadyExistsException * A client request token already exists. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.CancelUpdateStack * @see AWS API Documentation */ @Override public CancelUpdateStackResponse cancelUpdateStack(CancelUpdateStackRequest cancelUpdateStackRequest) throws TokenAlreadyExistsException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CancelUpdateStackResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CancelUpdateStack").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(cancelUpdateStackRequest) .withMarshaller(new CancelUpdateStackRequestMarshaller(protocolFactory))); } /** *

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

* * @param continueUpdateRollbackRequest * The input for the ContinueUpdateRollback action. * @return Result of the ContinueUpdateRollback operation returned by the service. * @throws TokenAlreadyExistsException * A client request token already exists. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ContinueUpdateRollback * @see AWS API Documentation */ @Override public ContinueUpdateRollbackResponse continueUpdateRollback(ContinueUpdateRollbackRequest continueUpdateRollbackRequest) throws TokenAlreadyExistsException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ContinueUpdateRollbackResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ContinueUpdateRollback").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(continueUpdateRollbackRequest) .withMarshaller(new ContinueUpdateRollbackRequestMarshaller(protocolFactory))); } /** *

* Creates a list of changes that will be applied to a stack so that you can review the changes before executing * them. You can create a change set for a stack that doesn't exist or an existing stack. If you create a change set * for a stack that doesn't exist, the change set shows all of the resources that AWS CloudFormation will create. If * you create a change set for an existing stack, AWS CloudFormation compares the stack's information with the * information that you submit in the change set and lists the differences. Use change sets to understand which * resources AWS CloudFormation will create or change, and how it will change resources in an existing stack, before * you create or update a stack. *

*

* To create a change set for a stack that doesn't exist, for the ChangeSetType parameter, specify * CREATE. To create a change set for an existing stack, specify UPDATE for the * ChangeSetType parameter. After the CreateChangeSet call successfully completes, AWS * CloudFormation starts creating the change set. To check the status of the change set or to review it, use the * DescribeChangeSet action. *

*

* When you are satisfied with the changes the change set will make, execute the change set by using the * ExecuteChangeSet action. AWS CloudFormation doesn't make changes until you execute the change set. *

* * @param createChangeSetRequest * The input for the CreateChangeSet action. * @return Result of the CreateChangeSet operation returned by the service. * @throws AlreadyExistsException * The resource with the name requested already exists. * @throws InsufficientCapabilitiesException * The template contains resources with capabilities that weren't specified in the Capabilities parameter. * @throws LimitExceededException * The quota for the resource has already been reached.

*

* For information on stack set limitations, see Limitations of StackSets. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.CreateChangeSet * @see AWS * API Documentation */ @Override public CreateChangeSetResponse createChangeSet(CreateChangeSetRequest createChangeSetRequest) throws AlreadyExistsException, InsufficientCapabilitiesException, LimitExceededException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateChangeSetResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateChangeSet").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createChangeSetRequest) .withMarshaller(new CreateChangeSetRequestMarshaller(protocolFactory))); } /** *

* 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 * The quota for the resource has already been reached.

*

* For information on stack set limitations, see Limitations of StackSets. * @throws AlreadyExistsException * The resource with the name requested already exists. * @throws TokenAlreadyExistsException * A client request token already exists. * @throws InsufficientCapabilitiesException * The template contains resources with capabilities that weren't specified in the Capabilities parameter. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.CreateStack * @see AWS API * Documentation */ @Override public CreateStackResponse createStack(CreateStackRequest createStackRequest) throws LimitExceededException, AlreadyExistsException, TokenAlreadyExistsException, InsufficientCapabilitiesException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateStackResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateStack").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createStackRequest) .withMarshaller(new CreateStackRequestMarshaller(protocolFactory))); } /** *

* Creates stack instances for the specified accounts, within the specified regions. A stack instance refers to a * stack in a specific account and region. Accounts and Regions are required * parameters—you must specify at least one account and one region. *

* * @param createStackInstancesRequest * @return Result of the CreateStackInstances operation returned by the service. * @throws StackSetNotFoundException * The specified stack set doesn't exist. * @throws OperationInProgressException * Another operation is currently in progress for this stack set. Only one operation can be performed for a * stack set at a given time. * @throws OperationIdAlreadyExistsException * The specified operation ID already exists. * @throws StaleRequestException * Another operation has been performed on this stack set since the specified operation was performed. * @throws InvalidOperationException * The specified operation isn't valid. * @throws LimitExceededException * The quota for the resource has already been reached.

*

* For information on stack set limitations, see Limitations of StackSets. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.CreateStackInstances * @see AWS API Documentation */ @Override public CreateStackInstancesResponse createStackInstances(CreateStackInstancesRequest createStackInstancesRequest) throws StackSetNotFoundException, OperationInProgressException, OperationIdAlreadyExistsException, StaleRequestException, InvalidOperationException, LimitExceededException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateStackInstancesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateStackInstances").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createStackInstancesRequest) .withMarshaller(new CreateStackInstancesRequestMarshaller(protocolFactory))); } /** *

* Creates a stack set. *

* * @param createStackSetRequest * @return Result of the CreateStackSet operation returned by the service. * @throws NameAlreadyExistsException * The specified name is already in use. * @throws CreatedButModifiedException * The specified resource exists, but has been changed. * @throws LimitExceededException * The quota for the resource has already been reached.

*

* For information on stack set limitations, see Limitations of StackSets. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.CreateStackSet * @see AWS * API Documentation */ @Override public CreateStackSetResponse createStackSet(CreateStackSetRequest createStackSetRequest) throws NameAlreadyExistsException, CreatedButModifiedException, LimitExceededException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(CreateStackSetResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("CreateStackSet").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(createStackSetRequest) .withMarshaller(new CreateStackSetRequestMarshaller(protocolFactory))); } /** *

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

* * @param deleteChangeSetRequest * The input for the DeleteChangeSet action. * @return Result of the DeleteChangeSet operation returned by the service. * @throws InvalidChangeSetStatusException * The specified change set can't 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DeleteChangeSet * @see AWS * API Documentation */ @Override public DeleteChangeSetResponse deleteChangeSet(DeleteChangeSetRequest deleteChangeSetRequest) throws InvalidChangeSetStatusException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteChangeSetResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteChangeSet").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteChangeSetRequest) .withMarshaller(new DeleteChangeSetRequestMarshaller(protocolFactory))); } /** *

* 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. * @return Result of the DeleteStack operation returned by the service. * @throws TokenAlreadyExistsException * A client request token already exists. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DeleteStack * @see AWS API * Documentation */ @Override public DeleteStackResponse deleteStack(DeleteStackRequest deleteStackRequest) throws TokenAlreadyExistsException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteStackResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteStack").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteStackRequest) .withMarshaller(new DeleteStackRequestMarshaller(protocolFactory))); } /** *

* Deletes stack instances for the specified accounts, in the specified regions. *

* * @param deleteStackInstancesRequest * @return Result of the DeleteStackInstances operation returned by the service. * @throws StackSetNotFoundException * The specified stack set doesn't exist. * @throws OperationInProgressException * Another operation is currently in progress for this stack set. Only one operation can be performed for a * stack set at a given time. * @throws OperationIdAlreadyExistsException * The specified operation ID already exists. * @throws StaleRequestException * Another operation has been performed on this stack set since the specified operation was performed. * @throws InvalidOperationException * The specified operation isn't valid. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DeleteStackInstances * @see AWS API Documentation */ @Override public DeleteStackInstancesResponse deleteStackInstances(DeleteStackInstancesRequest deleteStackInstancesRequest) throws StackSetNotFoundException, OperationInProgressException, OperationIdAlreadyExistsException, StaleRequestException, InvalidOperationException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteStackInstancesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteStackInstances").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteStackInstancesRequest) .withMarshaller(new DeleteStackInstancesRequestMarshaller(protocolFactory))); } /** *

* Deletes a stack set. Before you can delete a stack set, all of its member stack instances must be deleted. For * more information about how to do this, see DeleteStackInstances. *

* * @param deleteStackSetRequest * @return Result of the DeleteStackSet operation returned by the service. * @throws StackSetNotEmptyException * You can't yet delete this stack set, because it still contains one or more stack instances. Delete all * stack instances from the stack set before deleting the stack set. * @throws OperationInProgressException * Another operation is currently in progress for this stack set. Only one operation can be performed for a * stack set at a given time. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DeleteStackSet * @see AWS * API Documentation */ @Override public DeleteStackSetResponse deleteStackSet(DeleteStackSetRequest deleteStackSetRequest) throws StackSetNotEmptyException, OperationInProgressException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DeleteStackSetResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DeleteStackSet").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(deleteStackSetRequest) .withMarshaller(new DeleteStackSetRequestMarshaller(protocolFactory))); } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeAccountLimits * @see AWS API Documentation */ @Override public DescribeAccountLimitsResponse describeAccountLimits(DescribeAccountLimitsRequest describeAccountLimitsRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeAccountLimitsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeAccountLimits").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeAccountLimitsRequest) .withMarshaller(new DescribeAccountLimitsRequestMarshaller(protocolFactory))); } /** *

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

* * @param describeChangeSetRequest * The input for the DescribeChangeSet action. * @return 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeChangeSet * @see AWS API Documentation */ @Override public DescribeChangeSetResponse describeChangeSet(DescribeChangeSetRequest describeChangeSetRequest) throws ChangeSetNotFoundException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeChangeSetResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeChangeSet").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeChangeSetRequest) .withMarshaller(new DescribeChangeSetRequestMarshaller(protocolFactory))); } /** *

* Returns information about a stack drift detection operation. A stack drift detection operation detects whether a * stack's actual configuration differs, or has drifted, from it's expected configuration, as defined in the * stack template and any values specified as template parameters. A stack is considered to have drifted if one or * more of its resources have drifted. For more information on stack and resource drift, see Detecting * Unregulated Configuration Changes to Stacks and Resources. *

*

* Use DetectStackDrift to initiate a stack drift detection operation. DetectStackDrift returns * a StackDriftDetectionId you can use to monitor the progress of the operation using * DescribeStackDriftDetectionStatus. Once the drift detection operation has completed, use * DescribeStackResourceDrifts to return drift information about the stack and its resources. *

* * @param describeStackDriftDetectionStatusRequest * @return Result of the DescribeStackDriftDetectionStatus operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeStackDriftDetectionStatus * @see AWS API Documentation */ @Override public DescribeStackDriftDetectionStatusResponse describeStackDriftDetectionStatus( DescribeStackDriftDetectionStatusRequest describeStackDriftDetectionStatusRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeStackDriftDetectionStatusResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeStackDriftDetectionStatus").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeStackDriftDetectionStatusRequest) .withMarshaller(new DescribeStackDriftDetectionStatusRequestMarshaller(protocolFactory))); } /** *

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

*
* * @param describeStackEventsRequest * The input for DescribeStackEvents action. * @return Result of the DescribeStackEvents operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeStackEvents * @see AWS API Documentation */ @Override public DescribeStackEventsResponse describeStackEvents(DescribeStackEventsRequest describeStackEventsRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeStackEventsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeStackEvents").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeStackEventsRequest) .withMarshaller(new DescribeStackEventsRequestMarshaller(protocolFactory))); } /** *

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

*

*

* This is a variant of * {@link #describeStackEvents(software.amazon.awssdk.services.cloudformation.model.DescribeStackEventsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.DescribeStackEventsIterable responses = client.describeStackEventsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudformation.paginators.DescribeStackEventsIterable responses = client
     *             .describeStackEventsPaginator(request);
     *     for (software.amazon.awssdk.services.cloudformation.model.DescribeStackEventsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.DescribeStackEventsIterable responses = client.describeStackEventsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #describeStackEvents(software.amazon.awssdk.services.cloudformation.model.DescribeStackEventsRequest)} * operation. *

* * @param describeStackEventsRequest * The input for DescribeStackEvents action. * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeStackEvents * @see AWS API Documentation */ @Override public DescribeStackEventsIterable describeStackEventsPaginator(DescribeStackEventsRequest describeStackEventsRequest) throws AwsServiceException, SdkClientException, CloudFormationException { return new DescribeStackEventsIterable(this, applyPaginatorUserAgent(describeStackEventsRequest)); } /** *

* Returns the stack instance that's associated with the specified stack set, AWS account, and region. *

*

* For a list of stack instances that are associated with a specific stack set, use ListStackInstances. *

* * @param describeStackInstanceRequest * @return Result of the DescribeStackInstance operation returned by the service. * @throws StackSetNotFoundException * The specified stack set doesn't exist. * @throws StackInstanceNotFoundException * The specified stack instance doesn't exist. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeStackInstance * @see AWS API Documentation */ @Override public DescribeStackInstanceResponse describeStackInstance(DescribeStackInstanceRequest describeStackInstanceRequest) throws StackSetNotFoundException, StackInstanceNotFoundException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeStackInstanceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeStackInstance").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeStackInstanceRequest) .withMarshaller(new DescribeStackInstanceRequestMarshaller(protocolFactory))); } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeStackResource * @see AWS API Documentation */ @Override public DescribeStackResourceResponse describeStackResource(DescribeStackResourceRequest describeStackResourceRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeStackResourceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeStackResource").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeStackResourceRequest) .withMarshaller(new DescribeStackResourceRequestMarshaller(protocolFactory))); } /** *

* Returns drift information for the resources that have been checked for drift in the specified stack. This * includes actual and expected configuration values for resources where AWS CloudFormation detects configuration * drift. *

*

* For a given stack, there will be one StackResourceDrift for each stack resource that has been * checked for drift. Resources that have not yet been checked for drift are not included. Resources that do not * currently support drift detection are not checked, and so not included. For a list of resources that support * drift detection, see Resources that Support Drift Detection. *

*

* Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect * drift on all supported resources for a given stack. *

* * @param describeStackResourceDriftsRequest * @return Result of the DescribeStackResourceDrifts operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeStackResourceDrifts * @see AWS API Documentation */ @Override public DescribeStackResourceDriftsResponse describeStackResourceDrifts( DescribeStackResourceDriftsRequest describeStackResourceDriftsRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeStackResourceDriftsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeStackResourceDrifts").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeStackResourceDriftsRequest) .withMarshaller(new DescribeStackResourceDriftsRequestMarshaller(protocolFactory))); } /** *

* Returns drift information for the resources that have been checked for drift in the specified stack. This * includes actual and expected configuration values for resources where AWS CloudFormation detects configuration * drift. *

*

* For a given stack, there will be one StackResourceDrift for each stack resource that has been * checked for drift. Resources that have not yet been checked for drift are not included. Resources that do not * currently support drift detection are not checked, and so not included. For a list of resources that support * drift detection, see Resources that Support Drift Detection. *

*

* Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect * drift on all supported resources for a given stack. *

*
*

* This is a variant of * {@link #describeStackResourceDrifts(software.amazon.awssdk.services.cloudformation.model.DescribeStackResourceDriftsRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.DescribeStackResourceDriftsIterable responses = client.describeStackResourceDriftsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudformation.paginators.DescribeStackResourceDriftsIterable responses = client
     *             .describeStackResourceDriftsPaginator(request);
     *     for (software.amazon.awssdk.services.cloudformation.model.DescribeStackResourceDriftsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.DescribeStackResourceDriftsIterable responses = client.describeStackResourceDriftsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #describeStackResourceDrifts(software.amazon.awssdk.services.cloudformation.model.DescribeStackResourceDriftsRequest)} * operation. *

* * @param describeStackResourceDriftsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeStackResourceDrifts * @see AWS API Documentation */ @Override public DescribeStackResourceDriftsIterable describeStackResourceDriftsPaginator( DescribeStackResourceDriftsRequest describeStackResourceDriftsRequest) throws AwsServiceException, SdkClientException, CloudFormationException { return new DescribeStackResourceDriftsIterable(this, applyPaginatorUserAgent(describeStackResourceDriftsRequest)); } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeStackResources * @see AWS API Documentation */ @Override public DescribeStackResourcesResponse describeStackResources(DescribeStackResourcesRequest describeStackResourcesRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeStackResourcesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeStackResources").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeStackResourcesRequest) .withMarshaller(new DescribeStackResourcesRequestMarshaller(protocolFactory))); } /** *

* Returns the description of the specified stack set. *

* * @param describeStackSetRequest * @return Result of the DescribeStackSet operation returned by the service. * @throws StackSetNotFoundException * The specified stack set doesn't exist. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeStackSet * @see AWS API Documentation */ @Override public DescribeStackSetResponse describeStackSet(DescribeStackSetRequest describeStackSetRequest) throws StackSetNotFoundException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeStackSetResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeStackSet").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeStackSetRequest) .withMarshaller(new DescribeStackSetRequestMarshaller(protocolFactory))); } /** *

* Returns the description of the specified stack set operation. *

* * @param describeStackSetOperationRequest * @return Result of the DescribeStackSetOperation operation returned by the service. * @throws StackSetNotFoundException * The specified stack set doesn't exist. * @throws OperationNotFoundException * The specified ID refers to an operation that doesn't exist. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeStackSetOperation * @see AWS API Documentation */ @Override public DescribeStackSetOperationResponse describeStackSetOperation( DescribeStackSetOperationRequest describeStackSetOperationRequest) throws StackSetNotFoundException, OperationNotFoundException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeStackSetOperationResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DescribeStackSetOperation").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeStackSetOperationRequest) .withMarshaller(new DescribeStackSetOperationRequestMarshaller(protocolFactory))); } /** *

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

* *

* If the stack does not exist, an AmazonCloudFormationException is returned. *

*
* * @param describeStacksRequest * The input for DescribeStacks action. * @return Result of the DescribeStacks operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeStacks * @see AWS * API Documentation */ @Override public DescribeStacksResponse describeStacks(DescribeStacksRequest describeStacksRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DescribeStacksResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DescribeStacks").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(describeStacksRequest) .withMarshaller(new DescribeStacksRequestMarshaller(protocolFactory))); } /** *

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

* *

* If the stack does not exist, an AmazonCloudFormationException is returned. *

*

*

* This is a variant of * {@link #describeStacks(software.amazon.awssdk.services.cloudformation.model.DescribeStacksRequest)} operation. * The return type is a custom iterable that can be used to iterate through all the pages. SDK will internally * handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.DescribeStacksIterable responses = client.describeStacksPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudformation.paginators.DescribeStacksIterable responses = client
     *             .describeStacksPaginator(request);
     *     for (software.amazon.awssdk.services.cloudformation.model.DescribeStacksResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.DescribeStacksIterable responses = client.describeStacksPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #describeStacks(software.amazon.awssdk.services.cloudformation.model.DescribeStacksRequest)} * operation. *

* * @param describeStacksRequest * The input for DescribeStacks action. * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DescribeStacks * @see AWS * API Documentation */ @Override public DescribeStacksIterable describeStacksPaginator(DescribeStacksRequest describeStacksRequest) throws AwsServiceException, SdkClientException, CloudFormationException { return new DescribeStacksIterable(this, applyPaginatorUserAgent(describeStacksRequest)); } /** *

* Detects whether a stack's actual configuration differs, or has drifted, from it's expected configuration, * as defined in the stack template and any values specified as template parameters. For each resource in the stack * that supports drift detection, AWS CloudFormation compares the actual configuration of the resource with its * expected template configuration. Only resource properties explicitly defined in the stack template are checked * for drift. A stack is considered to have drifted if one or more of its resources differ from their expected * template configurations. For more information, see Detecting * Unregulated Configuration Changes to Stacks and Resources. *

*

* Use DetectStackDrift to detect drift on all supported resources for a given stack, or * DetectStackResourceDrift to detect drift on individual resources. *

*

* For a list of stack resources that currently support drift detection, see Resources that Support Drift Detection. *

*

* DetectStackDrift can take up to several minutes, depending on the number of resources contained * within the stack. Use DescribeStackDriftDetectionStatus to monitor the progress of a detect stack drift * operation. Once the drift detection operation has completed, use DescribeStackResourceDrifts to return * drift information about the stack and its resources. *

*

* When detecting drift on a stack, AWS CloudFormation does not detect drift on any nested stacks belonging to that * stack. Perform DetectStackDrift directly on the nested stack itself. *

* * @param detectStackDriftRequest * @return Result of the DetectStackDrift operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DetectStackDrift * @see AWS API Documentation */ @Override public DetectStackDriftResponse detectStackDrift(DetectStackDriftRequest detectStackDriftRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DetectStackDriftResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("DetectStackDrift").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(detectStackDriftRequest) .withMarshaller(new DetectStackDriftRequestMarshaller(protocolFactory))); } /** *

* Returns information about whether a resource's actual configuration differs, or has drifted, from it's * expected configuration, as defined in the stack template and any values specified as template parameters. This * information includes actual and expected property values for resources in which AWS CloudFormation detects drift. * Only resource properties explicitly defined in the stack template are checked for drift. For more information * about stack and resource drift, see Detecting * Unregulated Configuration Changes to Stacks and Resources. *

*

* Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to * detect drift on all resources in a given stack that support drift detection. *

*

* Resources that do not currently support drift detection cannot be checked. For a list of resources that support * drift detection, see Resources that Support Drift Detection. *

* * @param detectStackResourceDriftRequest * @return Result of the DetectStackResourceDrift operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.DetectStackResourceDrift * @see AWS API Documentation */ @Override public DetectStackResourceDriftResponse detectStackResourceDrift( DetectStackResourceDriftRequest detectStackResourceDriftRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(DetectStackResourceDriftResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler .execute(new ClientExecutionParams() .withOperationName("DetectStackResourceDrift").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(detectStackResourceDriftRequest) .withMarshaller(new DetectStackResourceDriftRequestMarshaller(protocolFactory))); } /** *

* 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 * The input for an EstimateTemplateCost action. * @return Result of the EstimateTemplateCost operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.EstimateTemplateCost * @see AWS API Documentation */ @Override public EstimateTemplateCostResponse estimateTemplateCost(EstimateTemplateCostRequest estimateTemplateCostRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(EstimateTemplateCostResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("EstimateTemplateCost").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(estimateTemplateCostRequest) .withMarshaller(new EstimateTemplateCostRequestMarshaller(protocolFactory))); } /** *

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

* * @param executeChangeSetRequest * The input for the ExecuteChangeSet action. * @return Result of the ExecuteChangeSet operation returned by the service. * @throws InvalidChangeSetStatusException * The specified change set can't 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. * @throws ChangeSetNotFoundException * The specified change set name or ID doesn't exit. To view valid change sets for a stack, use the * ListChangeSets action. * @throws InsufficientCapabilitiesException * The template contains resources with capabilities that weren't specified in the Capabilities parameter. * @throws TokenAlreadyExistsException * A client request token already exists. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ExecuteChangeSet * @see AWS API Documentation */ @Override public ExecuteChangeSetResponse executeChangeSet(ExecuteChangeSetRequest executeChangeSetRequest) throws InvalidChangeSetStatusException, ChangeSetNotFoundException, InsufficientCapabilitiesException, TokenAlreadyExistsException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ExecuteChangeSetResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ExecuteChangeSet").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(executeChangeSetRequest) .withMarshaller(new ExecuteChangeSetRequestMarshaller(protocolFactory))); } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.GetStackPolicy * @see AWS * API Documentation */ @Override public GetStackPolicyResponse getStackPolicy(GetStackPolicyRequest getStackPolicyRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetStackPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetStackPolicy").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getStackPolicyRequest) .withMarshaller(new GetStackPolicyRequestMarshaller(protocolFactory))); } /** *

* 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. * @throws ChangeSetNotFoundException * The specified change set name or ID doesn't exit. To view valid change sets for a stack, use the * ListChangeSets action. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.GetTemplate * @see AWS API * Documentation */ @Override public GetTemplateResponse getTemplate(GetTemplateRequest getTemplateRequest) throws ChangeSetNotFoundException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetTemplateResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetTemplate").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getTemplateRequest) .withMarshaller(new GetTemplateRequestMarshaller(protocolFactory))); } /** *

* 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 or stack set. *

*

* You can use the GetTemplateSummary action when you submit a template, or you can get template * information for a stack set, or 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. * @throws StackSetNotFoundException * The specified stack set doesn't exist. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.GetTemplateSummary * @see AWS API Documentation */ @Override public GetTemplateSummaryResponse getTemplateSummary(GetTemplateSummaryRequest getTemplateSummaryRequest) throws StackSetNotFoundException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(GetTemplateSummaryResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("GetTemplateSummary").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(getTemplateSummaryRequest) .withMarshaller(new GetTemplateSummaryRequestMarshaller(protocolFactory))); } /** *

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

* * @param listChangeSetsRequest * The input for the ListChangeSets action. * @return Result of the ListChangeSets operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListChangeSets * @see AWS * API Documentation */ @Override public ListChangeSetsResponse listChangeSets(ListChangeSetsRequest listChangeSetsRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListChangeSetsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListChangeSets").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listChangeSetsRequest) .withMarshaller(new ListChangeSetsRequestMarshaller(protocolFactory))); } /** *

* Lists all exported output values in the account and region in which you call this action. Use this action to see * the exported output values that you can import into other stacks. To import values, use the * Fn::ImportValue function. *

*

* For more information, see AWS * CloudFormation Export Stack Output Values. *

* * @param listExportsRequest * @return Result of the ListExports operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListExports * @see AWS API * Documentation */ @Override public ListExportsResponse listExports(ListExportsRequest listExportsRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListExportsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListExports").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listExportsRequest) .withMarshaller(new ListExportsRequestMarshaller(protocolFactory))); } /** *

* Lists all exported output values in the account and region in which you call this action. Use this action to see * the exported output values that you can import into other stacks. To import values, use the * Fn::ImportValue function. *

*

* For more information, see AWS * CloudFormation Export Stack Output Values. *

*
*

* This is a variant of * {@link #listExports(software.amazon.awssdk.services.cloudformation.model.ListExportsRequest)} operation. The * return type is a custom iterable that can be used to iterate through all the pages. SDK will internally handle * making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.ListExportsIterable responses = client.listExportsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudformation.paginators.ListExportsIterable responses = client
     *             .listExportsPaginator(request);
     *     for (software.amazon.awssdk.services.cloudformation.model.ListExportsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.ListExportsIterable responses = client.listExportsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #listExports(software.amazon.awssdk.services.cloudformation.model.ListExportsRequest)} operation. *

* * @param listExportsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListExports * @see AWS API * Documentation */ @Override public ListExportsIterable listExportsPaginator(ListExportsRequest listExportsRequest) throws AwsServiceException, SdkClientException, CloudFormationException { return new ListExportsIterable(this, applyPaginatorUserAgent(listExportsRequest)); } /** *

* Lists all stacks that are importing an exported output value. To modify or remove an exported output value, first * use this action to see which stacks are using it. To see the exported output values in your account, see * ListExports. *

*

* For more information about importing an exported output value, see the * Fn::ImportValue function. *

* * @param listImportsRequest * @return Result of the ListImports operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListImports * @see AWS API * Documentation */ @Override public ListImportsResponse listImports(ListImportsRequest listImportsRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListImportsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListImports").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listImportsRequest) .withMarshaller(new ListImportsRequestMarshaller(protocolFactory))); } /** *

* Lists all stacks that are importing an exported output value. To modify or remove an exported output value, first * use this action to see which stacks are using it. To see the exported output values in your account, see * ListExports. *

*

* For more information about importing an exported output value, see the * Fn::ImportValue function. *

*
*

* This is a variant of * {@link #listImports(software.amazon.awssdk.services.cloudformation.model.ListImportsRequest)} operation. The * return type is a custom iterable that can be used to iterate through all the pages. SDK will internally handle * making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.ListImportsIterable responses = client.listImportsPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudformation.paginators.ListImportsIterable responses = client
     *             .listImportsPaginator(request);
     *     for (software.amazon.awssdk.services.cloudformation.model.ListImportsResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.ListImportsIterable responses = client.listImportsPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #listImports(software.amazon.awssdk.services.cloudformation.model.ListImportsRequest)} operation. *

* * @param listImportsRequest * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListImports * @see AWS API * Documentation */ @Override public ListImportsIterable listImportsPaginator(ListImportsRequest listImportsRequest) throws AwsServiceException, SdkClientException, CloudFormationException { return new ListImportsIterable(this, applyPaginatorUserAgent(listImportsRequest)); } /** *

* Returns summary information about stack instances that are associated with the specified stack set. You can * filter for stack instances that are associated with a specific AWS account name or region. *

* * @param listStackInstancesRequest * @return Result of the ListStackInstances operation returned by the service. * @throws StackSetNotFoundException * The specified stack set doesn't exist. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListStackInstances * @see AWS API Documentation */ @Override public ListStackInstancesResponse listStackInstances(ListStackInstancesRequest listStackInstancesRequest) throws StackSetNotFoundException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListStackInstancesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListStackInstances").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listStackInstancesRequest) .withMarshaller(new ListStackInstancesRequestMarshaller(protocolFactory))); } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListStackResources * @see AWS API Documentation */ @Override public ListStackResourcesResponse listStackResources(ListStackResourcesRequest listStackResourcesRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListStackResourcesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListStackResources").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listStackResourcesRequest) .withMarshaller(new ListStackResourcesRequestMarshaller(protocolFactory))); } /** *

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

*
*

* This is a variant of * {@link #listStackResources(software.amazon.awssdk.services.cloudformation.model.ListStackResourcesRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.ListStackResourcesIterable responses = client.listStackResourcesPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudformation.paginators.ListStackResourcesIterable responses = client
     *             .listStackResourcesPaginator(request);
     *     for (software.amazon.awssdk.services.cloudformation.model.ListStackResourcesResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.ListStackResourcesIterable responses = client.listStackResourcesPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #listStackResources(software.amazon.awssdk.services.cloudformation.model.ListStackResourcesRequest)} * operation. *

* * @param listStackResourcesRequest * The input for the ListStackResource action. * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListStackResources * @see AWS API Documentation */ @Override public ListStackResourcesIterable listStackResourcesPaginator(ListStackResourcesRequest listStackResourcesRequest) throws AwsServiceException, SdkClientException, CloudFormationException { return new ListStackResourcesIterable(this, applyPaginatorUserAgent(listStackResourcesRequest)); } /** *

* Returns summary information about the results of a stack set operation. *

* * @param listStackSetOperationResultsRequest * @return Result of the ListStackSetOperationResults operation returned by the service. * @throws StackSetNotFoundException * The specified stack set doesn't exist. * @throws OperationNotFoundException * The specified ID refers to an operation that doesn't exist. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListStackSetOperationResults * @see AWS API Documentation */ @Override public ListStackSetOperationResultsResponse listStackSetOperationResults( ListStackSetOperationResultsRequest listStackSetOperationResultsRequest) throws StackSetNotFoundException, OperationNotFoundException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListStackSetOperationResultsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler .execute(new ClientExecutionParams() .withOperationName("ListStackSetOperationResults").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listStackSetOperationResultsRequest) .withMarshaller(new ListStackSetOperationResultsRequestMarshaller(protocolFactory))); } /** *

* Returns summary information about operations performed on a stack set. *

* * @param listStackSetOperationsRequest * @return Result of the ListStackSetOperations operation returned by the service. * @throws StackSetNotFoundException * The specified stack set doesn't exist. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListStackSetOperations * @see AWS API Documentation */ @Override public ListStackSetOperationsResponse listStackSetOperations(ListStackSetOperationsRequest listStackSetOperationsRequest) throws StackSetNotFoundException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListStackSetOperationsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListStackSetOperations").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listStackSetOperationsRequest) .withMarshaller(new ListStackSetOperationsRequestMarshaller(protocolFactory))); } /** *

* Returns summary information about stack sets that are associated with the user. *

* * @param listStackSetsRequest * @return Result of the ListStackSets operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListStackSets * @see AWS * API Documentation */ @Override public ListStackSetsResponse listStackSets(ListStackSetsRequest listStackSetsRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListStackSetsResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListStackSets").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listStackSetsRequest) .withMarshaller(new ListStackSetsRequestMarshaller(protocolFactory))); } /** *

* 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. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListStacks * @see AWS API * Documentation */ @Override public ListStacksResponse listStacks(ListStacksRequest listStacksRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ListStacksResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ListStacks").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(listStacksRequest) .withMarshaller(new ListStacksRequestMarshaller(protocolFactory))); } /** *

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

*
*

* This is a variant of {@link #listStacks(software.amazon.awssdk.services.cloudformation.model.ListStacksRequest)} * operation. The return type is a custom iterable that can be used to iterate through all the pages. SDK will * internally handle making service calls for you. *

*

* When this operation is called, a custom iterable is returned but no service calls are made yet. So there is no * guarantee that the request is valid. As you iterate through the iterable, SDK will start lazily loading response * pages by making service calls until there are no pages left or your iteration stops. If there are errors in your * request, you will see the failures only after you start iterating through the iterable. *

* *

* The following are few ways to iterate through the response pages: *

* 1) Using a Stream * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.ListStacksIterable responses = client.listStacksPaginator(request);
     * responses.stream().forEach(....);
     * }
     * 
* * 2) Using For loop * *
     * {
     *     @code
     *     software.amazon.awssdk.services.cloudformation.paginators.ListStacksIterable responses = client.listStacksPaginator(request);
     *     for (software.amazon.awssdk.services.cloudformation.model.ListStacksResponse response : responses) {
     *         // do something;
     *     }
     * }
     * 
* * 3) Use iterator directly * *
     * {@code
     * software.amazon.awssdk.services.cloudformation.paginators.ListStacksIterable responses = client.listStacksPaginator(request);
     * responses.iterator().forEachRemaining(....);
     * }
     * 
*

* Note: If you prefer to have control on service calls, use the * {@link #listStacks(software.amazon.awssdk.services.cloudformation.model.ListStacksRequest)} operation. *

* * @param listStacksRequest * The input for ListStacks action. * @return A custom iterable that can be used to iterate through all the response pages. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ListStacks * @see AWS API * Documentation */ @Override public ListStacksIterable listStacksPaginator(ListStacksRequest listStacksRequest) throws AwsServiceException, SdkClientException, CloudFormationException { return new ListStacksIterable(this, applyPaginatorUserAgent(listStacksRequest)); } /** *

* Sets a stack policy for a specified stack. *

* * @param setStackPolicyRequest * The input for the SetStackPolicy action. * @return Result of the SetStackPolicy operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.SetStackPolicy * @see AWS * API Documentation */ @Override public SetStackPolicyResponse setStackPolicy(SetStackPolicyRequest setStackPolicyRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(SetStackPolicyResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SetStackPolicy").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(setStackPolicyRequest) .withMarshaller(new SetStackPolicyRequestMarshaller(protocolFactory))); } /** *

* 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. * @return Result of the SignalResource operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.SignalResource * @see AWS * API Documentation */ @Override public SignalResourceResponse signalResource(SignalResourceRequest signalResourceRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(SignalResourceResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("SignalResource").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(signalResourceRequest) .withMarshaller(new SignalResourceRequestMarshaller(protocolFactory))); } /** *

* Stops an in-progress operation on a stack set and its associated stack instances. *

* * @param stopStackSetOperationRequest * @return Result of the StopStackSetOperation operation returned by the service. * @throws StackSetNotFoundException * The specified stack set doesn't exist. * @throws OperationNotFoundException * The specified ID refers to an operation that doesn't exist. * @throws InvalidOperationException * The specified operation isn't valid. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.StopStackSetOperation * @see AWS API Documentation */ @Override public StopStackSetOperationResponse stopStackSetOperation(StopStackSetOperationRequest stopStackSetOperationRequest) throws StackSetNotFoundException, OperationNotFoundException, InvalidOperationException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(StopStackSetOperationResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("StopStackSetOperation").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(stopStackSetOperationRequest) .withMarshaller(new StopStackSetOperationRequestMarshaller(protocolFactory))); } /** *

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

* * @param updateStackRequest * The input for an UpdateStack action. * @return Result of the UpdateStack operation returned by the service. * @throws InsufficientCapabilitiesException * The template contains resources with capabilities that weren't specified in the Capabilities parameter. * @throws TokenAlreadyExistsException * A client request token already exists. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.UpdateStack * @see AWS API * Documentation */ @Override public UpdateStackResponse updateStack(UpdateStackRequest updateStackRequest) throws InsufficientCapabilitiesException, TokenAlreadyExistsException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateStackResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateStack").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateStackRequest) .withMarshaller(new UpdateStackRequestMarshaller(protocolFactory))); } /** *

* Updates the parameter values for stack instances for the specified accounts, within the specified regions. A * stack instance refers to a stack in a specific account and region. *

*

* You can only update stack instances in regions and accounts where they already exist; to create additional stack * instances, use CreateStackInstances. *

*

* During stack set updates, any parameters overridden for a stack instance are not updated, but retain their * overridden value. *

*

* You can only update the parameter values that are specified in the stack set; to add or delete a parameter * itself, use UpdateStackSet * to update the stack set template. If you add a parameter to a template, before you can override the * parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and parameter value specified in the * stack set. Once a stack instance has been updated with the new parameter, you can then override the parameter * value using UpdateStackInstances. *

* * @param updateStackInstancesRequest * @return Result of the UpdateStackInstances operation returned by the service. * @throws StackSetNotFoundException * The specified stack set doesn't exist. * @throws StackInstanceNotFoundException * The specified stack instance doesn't exist. * @throws OperationInProgressException * Another operation is currently in progress for this stack set. Only one operation can be performed for a * stack set at a given time. * @throws OperationIdAlreadyExistsException * The specified operation ID already exists. * @throws StaleRequestException * Another operation has been performed on this stack set since the specified operation was performed. * @throws InvalidOperationException * The specified operation isn't valid. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.UpdateStackInstances * @see AWS API Documentation */ @Override public UpdateStackInstancesResponse updateStackInstances(UpdateStackInstancesRequest updateStackInstancesRequest) throws StackSetNotFoundException, StackInstanceNotFoundException, OperationInProgressException, OperationIdAlreadyExistsException, StaleRequestException, InvalidOperationException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateStackInstancesResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateStackInstances").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateStackInstancesRequest) .withMarshaller(new UpdateStackInstancesRequestMarshaller(protocolFactory))); } /** *

* Updates the stack set, and associated stack instances in the specified accounts and regions. *

*

* Even if the stack set operation created by updating the stack set fails (completely or partially, below or above * a specified failure tolerance), the stack set is updated with your changes. Subsequent * CreateStackInstances calls on the specified stack set use the updated stack set. *

* * @param updateStackSetRequest * @return Result of the UpdateStackSet operation returned by the service. * @throws StackSetNotFoundException * The specified stack set doesn't exist. * @throws OperationInProgressException * Another operation is currently in progress for this stack set. Only one operation can be performed for a * stack set at a given time. * @throws OperationIdAlreadyExistsException * The specified operation ID already exists. * @throws StaleRequestException * Another operation has been performed on this stack set since the specified operation was performed. * @throws InvalidOperationException * The specified operation isn't valid. * @throws StackInstanceNotFoundException * The specified stack instance doesn't exist. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.UpdateStackSet * @see AWS * API Documentation */ @Override public UpdateStackSetResponse updateStackSet(UpdateStackSetRequest updateStackSetRequest) throws StackSetNotFoundException, OperationInProgressException, OperationIdAlreadyExistsException, StaleRequestException, InvalidOperationException, StackInstanceNotFoundException, AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateStackSetResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("UpdateStackSet").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateStackSetRequest) .withMarshaller(new UpdateStackSetRequestMarshaller(protocolFactory))); } /** *

* Updates termination protection for the specified stack. If a user attempts to delete a stack with termination * protection enabled, the operation fails and the stack remains unchanged. For more information, see Protecting a Stack From Being Deleted * in the AWS CloudFormation User Guide. *

*

* For nested stacks, termination * protection is set on the root stack and cannot be changed directly on the nested stack. *

* * @param updateTerminationProtectionRequest * @return Result of the UpdateTerminationProtection operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.UpdateTerminationProtection * @see AWS API Documentation */ @Override public UpdateTerminationProtectionResponse updateTerminationProtection( UpdateTerminationProtectionRequest updateTerminationProtectionRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(UpdateTerminationProtectionResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler .execute(new ClientExecutionParams() .withOperationName("UpdateTerminationProtection").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(updateTerminationProtectionRequest) .withMarshaller(new UpdateTerminationProtectionRequestMarshaller(protocolFactory))); } /** *

* Validates a specified template. AWS CloudFormation first checks if the template is valid JSON. If it isn't, AWS * CloudFormation checks if the template is valid YAML. If both these checks fail, AWS CloudFormation returns a * template validation error. *

* * @param validateTemplateRequest * The input for ValidateTemplate action. * @return Result of the ValidateTemplate operation returned by the service. * @throws SdkException * Base class for all exceptions that can be thrown by the SDK (both service and client). Can be used for * catch all scenarios. * @throws SdkClientException * If any client side error occurs such as an IO related failure, failure to get credentials, etc. * @throws CloudFormationException * Base class for all service exceptions. Unknown exceptions will be thrown as an instance of this type. * @sample CloudFormationClient.ValidateTemplate * @see AWS API Documentation */ @Override public ValidateTemplateResponse validateTemplate(ValidateTemplateRequest validateTemplateRequest) throws AwsServiceException, SdkClientException, CloudFormationException { HttpResponseHandler responseHandler = protocolFactory .createResponseHandler(ValidateTemplateResponse::builder); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(); return clientHandler.execute(new ClientExecutionParams() .withOperationName("ValidateTemplate").withResponseHandler(responseHandler) .withErrorResponseHandler(errorResponseHandler).withInput(validateTemplateRequest) .withMarshaller(new ValidateTemplateRequestMarshaller(protocolFactory))); } private AwsQueryProtocolFactory init() { return AwsQueryProtocolFactory .builder() .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidChangeSetStatus") .exceptionBuilderSupplier(InvalidChangeSetStatusException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("StackSetNotEmptyException") .exceptionBuilderSupplier(StackSetNotEmptyException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InvalidOperationException") .exceptionBuilderSupplier(InvalidOperationException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("TokenAlreadyExistsException") .exceptionBuilderSupplier(TokenAlreadyExistsException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("ChangeSetNotFound") .exceptionBuilderSupplier(ChangeSetNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("NameAlreadyExistsException") .exceptionBuilderSupplier(NameAlreadyExistsException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("LimitExceededException") .exceptionBuilderSupplier(LimitExceededException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OperationNotFoundException") .exceptionBuilderSupplier(OperationNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("StackSetNotFoundException") .exceptionBuilderSupplier(StackSetNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("InsufficientCapabilitiesException") .exceptionBuilderSupplier(InsufficientCapabilitiesException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("StackInstanceNotFoundException") .exceptionBuilderSupplier(StackInstanceNotFoundException::builder).httpStatusCode(404).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("AlreadyExistsException") .exceptionBuilderSupplier(AlreadyExistsException::builder).httpStatusCode(400).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OperationInProgressException") .exceptionBuilderSupplier(OperationInProgressException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("StaleRequestException") .exceptionBuilderSupplier(StaleRequestException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("OperationIdAlreadyExistsException") .exceptionBuilderSupplier(OperationIdAlreadyExistsException::builder).httpStatusCode(409).build()) .registerModeledException( ExceptionMetadata.builder().errorCode("CreatedButModifiedException") .exceptionBuilderSupplier(CreatedButModifiedException::builder).httpStatusCode(409).build()) .clientConfiguration(clientConfiguration).defaultServiceExceptionSupplier(CloudFormationException::builder) .build(); } @Override public void close() { clientHandler.close(); } private T applyPaginatorUserAgent(T request) { Consumer userAgentApplier = b -> b.addApiName(ApiName.builder() .version(VersionInfo.SDK_VERSION).name("PAGINATED").build()); AwsRequestOverrideConfiguration overrideConfiguration = request.overrideConfiguration() .map(c -> c.toBuilder().applyMutation(userAgentApplier).build()) .orElse((AwsRequestOverrideConfiguration.builder().applyMutation(userAgentApplier).build())); return (T) request.toBuilder().overrideConfiguration(overrideConfiguration).build(); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy