/** *
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:
*CreateEnvironmentTemplateVersion
*CreateServiceTemplateVersion
*CreateEnvironmentAccountConnection
** 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:
*CreateEnvironmentTemplate
*CreateServiceTemplate
*CreateEnvironment
*CreateService
** 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:
*DeleteEnvironmentTemplate
*DeleteEnvironmentTemplateVersion
*DeleteServiceTemplate
*DeleteServiceTemplateVersion
*DeleteEnvironmentAccountConnection
** 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:
*DeleteEnvironment
*DeleteService
*