/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.cloudcontrolapi; import javax.annotation.Generated; import com.amazonaws.*; import com.amazonaws.regions.*; import com.amazonaws.services.cloudcontrolapi.model.*; import com.amazonaws.services.cloudcontrolapi.waiters.AWSCloudControlApiWaiters; /** * Interface for accessing CloudControlApi. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.cloudcontrolapi.AbstractAWSCloudControlApi} instead. *
**
* For more information about Amazon Web Services Cloud Control API, see the Amazon Web Services * Cloud Control API User Guide. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSCloudControlApi { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "cloudcontrolapi"; /** ** Cancels the specified resource operation request. For more information, see Canceling resource operation requests in the Amazon Web Services Cloud Control API User Guide. *
*
* Only resource operations requests with a status of PENDING
or IN_PROGRESS
can be
* canceled.
*
* Creates the specified resource. For more information, see Creating a * resource in the Amazon Web Services Cloud Control API User Guide. *
*
* After you have initiated a resource creation request, you can monitor the progress of your request by calling
* GetResourceRequestStatus using the RequestToken
of the ProgressEvent
type returned
* by CreateResource
.
*
5XX HTTP
status code.
* @throws HandlerFailureException
* The resource handler has failed without a returning a more specific error code. This can include
* timeouts.
* @throws ServiceLimitExceededException
* The resource handler has returned that a non-transient resource limit was reached on the service side.
* @throws InvalidCredentialsException
* The resource handler has returned that the credentials provided by the user are invalid.
* @throws ResourceConflictException
* The resource is temporarily unavailable to be acted upon. For example, if the resource is currently
* undergoing an operation and can't be acted upon until that operation is finished.
* @throws ClientTokenConflictException
* The specified client token has already been used in another resource request.
* * It's best practice for client tokens to be unique for each resource operation request. However, client * token expire after 36 hours. * @throws ThrottlingException * The request was denied due to request throttling. * @sample AWSCloudControlApi.CreateResource * @see AWS * API Documentation */ CreateResourceResult createResource(CreateResourceRequest createResourceRequest); /** *
* Deletes the specified resource. For details, see Deleting a * resource in the Amazon Web Services Cloud Control API User Guide. *
*
* After you have initiated a resource deletion request, you can monitor the progress of your request by calling
* GetResourceRequestStatus using the RequestToken
of the ProgressEvent
returned by
* DeleteResource
.
*
5XX HTTP
status code.
* @throws HandlerFailureException
* The resource handler has failed without a returning a more specific error code. This can include
* timeouts.
* @throws ServiceLimitExceededException
* The resource handler has returned that a non-transient resource limit was reached on the service side.
* @throws InvalidCredentialsException
* The resource handler has returned that the credentials provided by the user are invalid.
* @throws ResourceConflictException
* The resource is temporarily unavailable to be acted upon. For example, if the resource is currently
* undergoing an operation and can't be acted upon until that operation is finished.
* @throws ClientTokenConflictException
* The specified client token has already been used in another resource request.
* * It's best practice for client tokens to be unique for each resource operation request. However, client * token expire after 36 hours. * @throws ThrottlingException * The request was denied due to request throttling. * @sample AWSCloudControlApi.DeleteResource * @see AWS * API Documentation */ DeleteResourceResult deleteResource(DeleteResourceRequest deleteResourceRequest); /** *
* Returns information about the current state of the specified resource. For details, see Reading a * resource's current state. *
** You can use this action to return information about an existing resource in your account and Amazon Web Services * Region, whether those resources were provisioned using Cloud Control API. *
* * @param getResourceRequest * @return Result of the GetResource operation returned by the service. * @throws AlreadyExistsException * The resource with the name requested already exists. * @throws HandlerInternalFailureException * The resource handler has returned that an unexpected error occurred within the resource handler. * @throws GeneralServiceException * The resource handler has returned that the downstream service generated an error that doesn't map to any * other handler error code. * @throws NotUpdatableException * One or more properties included in this resource operation are defined as create-only, and therefore * can't be updated. * @throws TypeNotFoundException * The specified extension doesn't exist in the CloudFormation registry. * @throws InvalidRequestException * The resource handler has returned that invalid input from the user has generated a generic exception. * @throws PrivateTypeException * Cloud Control API hasn't received a valid response from the resource handler, due to a configuration * error. This includes issues such as the resource handler returning an invalid response, or timing out. * @throws ResourceNotFoundException * A resource with the specified identifier can't be found. * @throws NetworkFailureException * The resource handler has returned that the request couldn't be completed due to networking issues, such * as a failure to receive a response from the server. * @throws UnsupportedActionException * The specified resource doesn't support this resource operation. * @throws NotStabilizedException * The resource handler has returned that the downstream resource failed to complete all of its ready-state * checks. * @throws ServiceInternalErrorException * The resource handler has returned that the downstream service returned an internal error, typically with * a5XX HTTP
status code.
* @throws HandlerFailureException
* The resource handler has failed without a returning a more specific error code. This can include
* timeouts.
* @throws ServiceLimitExceededException
* The resource handler has returned that a non-transient resource limit was reached on the service side.
* @throws InvalidCredentialsException
* The resource handler has returned that the credentials provided by the user are invalid.
* @throws ResourceConflictException
* The resource is temporarily unavailable to be acted upon. For example, if the resource is currently
* undergoing an operation and can't be acted upon until that operation is finished.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCloudControlApi.GetResource
* @see AWS API
* Documentation
*/
GetResourceResult getResource(GetResourceRequest getResourceRequest);
/**
* * Returns the current status of a resource operation request. For more information, see Tracking the progress of resource operation requests in the Amazon Web Services Cloud Control API User * Guide. *
* * @param getResourceRequestStatusRequest * @return Result of the GetResourceRequestStatus operation returned by the service. * @throws RequestTokenNotFoundException * A resource operation with the specified request token can't be found. * @sample AWSCloudControlApi.GetResourceRequestStatus * @see AWS API Documentation */ GetResourceRequestStatusResult getResourceRequestStatus(GetResourceRequestStatusRequest getResourceRequestStatusRequest); /** ** Returns existing resource operation requests. This includes requests of all status types. For more information, * see Listing active resource operation requests in the Amazon Web Services Cloud Control API User Guide. *
** Resource operation requests expire after 7 days. *
** Returns information about the specified resources. For more information, see Discovering * resources in the Amazon Web Services Cloud Control API User Guide. *
** You can use this action to return information about existing resources in your account and Amazon Web Services * Region, whether those resources were provisioned using Cloud Control API. *
* * @param listResourcesRequest * @return Result of the ListResources operation returned by the service. * @throws AlreadyExistsException * The resource with the name requested already exists. * @throws HandlerInternalFailureException * The resource handler has returned that an unexpected error occurred within the resource handler. * @throws GeneralServiceException * The resource handler has returned that the downstream service generated an error that doesn't map to any * other handler error code. * @throws NotUpdatableException * One or more properties included in this resource operation are defined as create-only, and therefore * can't be updated. * @throws TypeNotFoundException * The specified extension doesn't exist in the CloudFormation registry. * @throws InvalidRequestException * The resource handler has returned that invalid input from the user has generated a generic exception. * @throws PrivateTypeException * Cloud Control API hasn't received a valid response from the resource handler, due to a configuration * error. This includes issues such as the resource handler returning an invalid response, or timing out. * @throws ResourceNotFoundException * A resource with the specified identifier can't be found. * @throws NetworkFailureException * The resource handler has returned that the request couldn't be completed due to networking issues, such * as a failure to receive a response from the server. * @throws UnsupportedActionException * The specified resource doesn't support this resource operation. * @throws NotStabilizedException * The resource handler has returned that the downstream resource failed to complete all of its ready-state * checks. * @throws ServiceInternalErrorException * The resource handler has returned that the downstream service returned an internal error, typically with * a5XX HTTP
status code.
* @throws HandlerFailureException
* The resource handler has failed without a returning a more specific error code. This can include
* timeouts.
* @throws ServiceLimitExceededException
* The resource handler has returned that a non-transient resource limit was reached on the service side.
* @throws InvalidCredentialsException
* The resource handler has returned that the credentials provided by the user are invalid.
* @throws ResourceConflictException
* The resource is temporarily unavailable to be acted upon. For example, if the resource is currently
* undergoing an operation and can't be acted upon until that operation is finished.
* @throws ThrottlingException
* The request was denied due to request throttling.
* @sample AWSCloudControlApi.ListResources
* @see AWS API
* Documentation
*/
ListResourcesResult listResources(ListResourcesRequest listResourcesRequest);
/**
* * Updates the specified property values in the resource. *
** You specify your resource property updates as a list of patch operations contained in a JSON patch document that * adheres to the RFC 6902 - JavaScript Object Notation * (JSON) Patch standard. *
** For details on how Cloud Control API performs resource update operations, see Updating a * resource in the Amazon Web Services Cloud Control API User Guide. *
*
* After you have initiated a resource update request, you can monitor the progress of your request by calling
* GetResourceRequestStatus using the RequestToken
of the ProgressEvent
returned by
* UpdateResource
.
*
* For more information about the properties of a specific resource, refer to the related topic for the resource in * the * Resource and property types reference in the CloudFormation Users Guide. *
* * @param updateResourceRequest * @return Result of the UpdateResource operation returned by the service. * @throws AlreadyExistsException * The resource with the name requested already exists. * @throws HandlerInternalFailureException * The resource handler has returned that an unexpected error occurred within the resource handler. * @throws GeneralServiceException * The resource handler has returned that the downstream service generated an error that doesn't map to any * other handler error code. * @throws NotUpdatableException * One or more properties included in this resource operation are defined as create-only, and therefore * can't be updated. * @throws TypeNotFoundException * The specified extension doesn't exist in the CloudFormation registry. * @throws ConcurrentOperationException * Another resource operation is currently being performed on this resource. * @throws InvalidRequestException * The resource handler has returned that invalid input from the user has generated a generic exception. * @throws PrivateTypeException * Cloud Control API hasn't received a valid response from the resource handler, due to a configuration * error. This includes issues such as the resource handler returning an invalid response, or timing out. * @throws ResourceNotFoundException * A resource with the specified identifier can't be found. * @throws NetworkFailureException * The resource handler has returned that the request couldn't be completed due to networking issues, such * as a failure to receive a response from the server. * @throws UnsupportedActionException * The specified resource doesn't support this resource operation. * @throws NotStabilizedException * The resource handler has returned that the downstream resource failed to complete all of its ready-state * checks. * @throws ServiceInternalErrorException * The resource handler has returned that the downstream service returned an internal error, typically with * a5XX HTTP
status code.
* @throws HandlerFailureException
* The resource handler has failed without a returning a more specific error code. This can include
* timeouts.
* @throws ServiceLimitExceededException
* The resource handler has returned that a non-transient resource limit was reached on the service side.
* @throws InvalidCredentialsException
* The resource handler has returned that the credentials provided by the user are invalid.
* @throws ResourceConflictException
* The resource is temporarily unavailable to be acted upon. For example, if the resource is currently
* undergoing an operation and can't be acted upon until that operation is finished.
* @throws ClientTokenConflictException
* The specified client token has already been used in another resource request.
* * It's best practice for client tokens to be unique for each resource operation request. However, client * token expire after 36 hours. * @throws ThrottlingException * The request was denied due to request throttling. * @sample AWSCloudControlApi.UpdateResource * @see AWS * API Documentation */ UpdateResourceResult updateResource(UpdateResourceRequest updateResourceRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); AWSCloudControlApiWaiters waiters(); }