// Code generated by smithy-go-codegen DO NOT EDIT. // Package proton provides the API client, operations, and parameter types for AWS // Proton. // // This is the Proton Service API Reference. It provides descriptions, syntax and // usage examples for each of the actions (https://docs.aws.amazon.com/proton/latest/APIReference/API_Operations.html) // and data types (https://docs.aws.amazon.com/proton/latest/APIReference/API_Types.html) // 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 (https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html) // . 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 (https://docs.aws.amazon.com/proton/latest/userguide/Welcome.html) // . 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 package proton