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

* This is the Proton Service API Reference. It provides descriptions, syntax and usage examples for each of the actions and data types for the Proton service. *

*

* The documentation for each action shows the Query API request parameters and the XML response. *

*

* Alternatively, you can use the Amazon Web Services CLI to access an API. For more information, see the Amazon Web Services Command Line * Interface User Guide. *

*

* The Proton service is a two-pronged automation framework. Administrators create service templates to provide * standardized infrastructure and deployment tooling for serverless and container based applications. Developers, in * turn, select from the available service templates to automate their application or service deployments. *

*

* Because administrators define the infrastructure and tooling that Proton deploys and manages, they need permissions * to use all of the listed API operations. *

*

* When developers select a specific infrastructure and tooling set, Proton deploys their applications. To monitor their * applications that are running on Proton, developers need permissions to the service create, list, * update and delete API operations and the service instance list and update API operations. *

*

* To learn more about Proton, see the Proton * User Guide. *

*

* Ensuring Idempotency *

*

* When you make a mutating API request, the request typically returns a result before the asynchronous workflows of the * operation are complete. Operations might also time out or encounter other server issues before they're complete, even * if the request already returned a result. This might make it difficult to determine whether the request succeeded. * Moreover, you might need to retry the request multiple times to ensure that the operation completes successfully. * However, if the original request and the subsequent retries are successful, the operation occurs multiple times. This * means that you might create more resources than you intended. *

*

* Idempotency ensures that an API request action completes no more than one time. With an idempotent request, if * the original request action completes successfully, any subsequent retries complete successfully without performing * any further actions. However, the result might contain updated information, such as the current creation status. *

*

* The following lists of APIs are grouped according to methods that ensure idempotency. *

*

* Idempotent create APIs with a client token *

*

* The API actions in this list support idempotency with the use of a client token. The corresponding Amazon Web * Services CLI commands also support idempotency using a client token. A client token is a unique, case-sensitive * string of up to 64 ASCII characters. To make an idempotent API request using one of these actions, specify a client * token in the request. We recommend that you don't reuse the same client token for other API requests. If you * don’t provide a client token for these APIs, a default client token is automatically provided by SDKs. *

*

* Given a request action that has succeeded: *

*

* If you retry the request using the same client token and the same parameters, the retry succeeds without performing * any further actions other than returning the original resource detail data in the response. *

*

* If you retry the request using the same client token, but one or more of the parameters are different, the retry * throws a ValidationException with an IdempotentParameterMismatch error. *

*

* Client tokens expire eight hours after a request is made. If you retry the request with the expired token, a new * resource is created. *

*

* If the original resource is deleted and you retry the request, a new resource is created. *

*

* Idempotent create APIs with a client token: *

* *

* Idempotent create APIs *

*

* Given a request action that has succeeded: *

*

* If you retry the request with an API from this group, and the original resource hasn't been modified, the * retry succeeds without performing any further actions other than returning the original resource detail data in the * response. *

*

* If the original resource has been modified, the retry throws a ConflictException. *

*

* If you retry with different input parameters, the retry throws a ValidationException with an * IdempotentParameterMismatch error. *

*

* Idempotent create APIs: *

* *

* Idempotent delete APIs *

*

* Given a request action that has succeeded: *

*

* When you retry the request with an API from this group and the resource was deleted, its metadata is returned in the * response. *

*

* If you retry and the resource doesn't exist, the response is empty. *

*

* In both cases, the retry succeeds. *

*

* Idempotent delete APIs: *

* *

* Asynchronous idempotent delete APIs *

*

* Given a request action that has succeeded: *

*

* If you retry the request with an API from this group, if the original request delete operation status is * DELETE_IN_PROGRESS, the retry returns the resource detail data in the response without performing any * further actions. *

*

* If the original request delete operation is complete, a retry returns an empty response. *

*

* Asynchronous idempotent delete APIs: *

* */ package com.amazonaws.services.proton;