openapi: 3.0.0
info:
version: 2020-07-20
x-release: v4
title: 'AWS Proton #X Amz Target=AwsProton20200720.AcceptEnvironmentAccountConnection #X Amz Target=AwsProton20200720.AcceptEnvironmentAccountConnection #X Amz Target=AwsProton20200720.UpdateServiceInstance API'
description:
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:
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
x-logo:
url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
backgroundColor: '#FFFFFF'
termsOfService: https://aws.amazon.com/service-terms/
contact:
name: Mike Ralphson
email: mike.ralphson@gmail.com
url: https://github.com/mermade/aws2openapi
x-twitter: PermittedSoc
license:
name: Apache 2.0 License
url: http://www.apache.org/licenses/
x-providerName: amazonaws.com
x-serviceName: proton
x-aws-signingName: proton
x-origin:
- contentType: application/json
url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/proton-2020-07-20.normal.json
converter:
url: https://github.com/mermade/aws2openapi
version: 1.0.0
x-apisguru-driver: external
x-apiClientRegistration:
url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
x-apisguru-categories:
- cloud
x-preferred: true
servers:
- url: http://proton.{region}.amazonaws.com
variables:
region:
description: The AWS region
enum:
- us-east-1
- us-east-2
- us-west-1
- us-west-2
- us-gov-west-1
- us-gov-east-1
- ca-central-1
- eu-north-1
- eu-west-1
- eu-west-2
- eu-west-3
- eu-central-1
- eu-south-1
- af-south-1
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
- ap-southeast-1
- ap-southeast-2
- ap-east-1
- ap-south-1
- sa-east-1
- me-south-1
default: us-east-1
description: The AWS Proton multi-region endpoint
- url: https://proton.{region}.amazonaws.com
variables:
region:
description: The AWS region
enum:
- us-east-1
- us-east-2
- us-west-1
- us-west-2
- us-gov-west-1
- us-gov-east-1
- ca-central-1
- eu-north-1
- eu-west-1
- eu-west-2
- eu-west-3
- eu-central-1
- eu-south-1
- af-south-1
- ap-northeast-1
- ap-northeast-2
- ap-northeast-3
- ap-southeast-1
- ap-southeast-2
- ap-east-1
- ap-south-1
- sa-east-1
- me-south-1
default: us-east-1
description: The AWS Proton multi-region endpoint
- url: http://proton.{region}.amazonaws.com.cn
variables:
region:
description: The AWS region
enum:
- cn-north-1
- cn-northwest-1
default: cn-north-1
description: The AWS Proton endpoint for China (Beijing) and China (Ningxia)
- url: https://proton.{region}.amazonaws.com.cn
variables:
region:
description: The AWS region
enum:
- cn-north-1
- cn-northwest-1
default: cn-north-1
description: The AWS Proton endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
tags:
- name: '#X Amz Target=AwsProton20200720.UpdateServiceInstance'
paths:
/#X-Amz-Target=AwsProton20200720.UpdateServiceInstance:
parameters:
- $ref: '#/components/parameters/X-Amz-Content-Sha256'
- $ref: '#/components/parameters/X-Amz-Date'
- $ref: '#/components/parameters/X-Amz-Algorithm'
- $ref: '#/components/parameters/X-Amz-Credential'
- $ref: '#/components/parameters/X-Amz-Security-Token'
- $ref: '#/components/parameters/X-Amz-Signature'
- $ref: '#/components/parameters/X-Amz-SignedHeaders'
post:
operationId: UpdateServiceInstance
description: Update a service instance.
There are a few modes for updating a service instance. The deploymentType field defines the mode.
You can't update a service instance while its deployment status, or the deployment status of a component attached to it, is IN_PROGRESS.
For more information about components, see Proton components in the Proton User Guide.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateServiceInstanceOutput'
'480':
description: ValidationException
content:
application/json:
schema:
$ref: '#/components/schemas/ValidationException'
'481':
description: AccessDeniedException
content:
application/json:
schema:
$ref: '#/components/schemas/AccessDeniedException'
'482':
description: ThrottlingException
content:
application/json:
schema:
$ref: '#/components/schemas/ThrottlingException'
'483':
description: ConflictException
content:
application/json:
schema:
$ref: '#/components/schemas/ConflictException'
'484':
description: ResourceNotFoundException
content:
application/json:
schema:
$ref: '#/components/schemas/ResourceNotFoundException'
'485':
description: InternalServerException
content:
application/json:
schema:
$ref: '#/components/schemas/InternalServerException'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateServiceInstanceInput'
parameters:
- name: X-Amz-Target
in: header
required: true
schema:
type: string
enum:
- AwsProton20200720.UpdateServiceInstance
summary: Amazon Proton Update Service Instance
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
tags:
- '#X Amz Target=AwsProton20200720.UpdateServiceInstance'
components:
parameters:
X-Amz-Signature:
name: X-Amz-Signature
in: header
schema:
type: string
required: false
X-Amz-Content-Sha256:
name: X-Amz-Content-Sha256
in: header
schema:
type: string
required: false
X-Amz-Algorithm:
name: X-Amz-Algorithm
in: header
schema:
type: string
required: false
X-Amz-Security-Token:
name: X-Amz-Security-Token
in: header
schema:
type: string
required: false
X-Amz-SignedHeaders:
name: X-Amz-SignedHeaders
in: header
schema:
type: string
required: false
X-Amz-Credential:
name: X-Amz-Credential
in: header
schema:
type: string
required: false
X-Amz-Date:
name: X-Amz-Date
in: header
schema:
type: string
required: false
schemas:
StatusMessage:
type: string
format: password
ResourceName:
type: string
pattern: ^[0-9A-Za-z]+[0-9A-Za-z_\-]*$
minLength: 1
maxLength: 100
AccessDeniedException: {}
TemplateVersionPart:
type: string
pattern: ^(0|([1-9]{1}\d*))$
minLength: 1
maxLength: 20
ServiceInstanceArn:
type: string
ClientToken:
type: string
pattern: ^[!-~]*$
minLength: 0
maxLength: 64
ThrottlingException: {}
ConflictException: {}
UpdateServiceInstanceInput:
type: object
required:
- deploymentType
- name
- serviceName
title: UpdateServiceInstanceInput
properties:
clientToken:
allOf:
- $ref: '#/components/schemas/ClientToken'
- description: The client token of the service instance to update.
deploymentType:
allOf:
- $ref: '#/components/schemas/DeploymentUpdateType'
- description: The deployment type. It defines the mode for updating a service instance, as follows:
-
NONE
In this mode, a deployment doesn't occur. Only the requested metadata parameters are updated.
-
CURRENT_VERSION
In this mode, the service instance is deployed and updated with the new spec that you provide. Only requested parameters are updated. Don’t include major or minor version parameters when you use this deployment type.
-
MINOR_VERSION
In this mode, the service instance is deployed and updated with the published, recommended (latest) minor version of the current major version in use, by default. You can also specify a different minor version of the current major version in use.
-
MAJOR_VERSION
In this mode, the service instance is deployed and updated with the published, recommended (latest) major and minor version of the current template, by default. You can specify a different major version that's higher than the major version in use and a minor version.
name:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the service instance to update.
serviceName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the service that the service instance belongs to.
spec:
allOf:
- $ref: '#/components/schemas/SpecContents'
- description: The formatted specification that defines the service instance update.
templateMajorVersion:
allOf:
- $ref: '#/components/schemas/TemplateVersionPart'
- description: The major version of the service template to update.
templateMinorVersion:
allOf:
- $ref: '#/components/schemas/TemplateVersionPart'
- description: The minor version of the service template to update.
Timestamp:
type: string
format: date-time
UpdateServiceInstanceOutput:
type: object
required:
- serviceInstance
properties:
serviceInstance:
allOf:
- $ref: '#/components/schemas/ServiceInstance'
- description: The service instance summary data that's returned by Proton.
ServiceInstance:
type: object
required:
- arn
- createdAt
- deploymentStatus
- environmentName
- lastDeploymentAttemptedAt
- lastDeploymentSucceededAt
- name
- serviceName
- templateMajorVersion
- templateMinorVersion
- templateName
properties:
arn:
allOf:
- $ref: '#/components/schemas/ServiceInstanceArn'
- description: The Amazon Resource Name (ARN) of the service instance.
createdAt:
allOf:
- $ref: '#/components/schemas/Timestamp'
- description: The time when the service instance was created.
deploymentStatus:
allOf:
- $ref: '#/components/schemas/DeploymentStatus'
- description: The service instance deployment status.
deploymentStatusMessage:
allOf:
- $ref: '#/components/schemas/StatusMessage'
- description: The message associated with the service instance deployment status.
environmentName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the environment that the service instance was deployed into.
lastClientRequestToken:
allOf:
- $ref: '#/components/schemas/String'
- description: The last client request token received.
lastDeploymentAttemptedAt:
allOf:
- $ref: '#/components/schemas/Timestamp'
- description: The time when a deployment of the service instance was last attempted.
lastDeploymentSucceededAt:
allOf:
- $ref: '#/components/schemas/Timestamp'
- description: The time when the service instance was last deployed successfully.
name:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the service instance.
serviceName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the service that the service instance belongs to.
spec:
allOf:
- $ref: '#/components/schemas/SpecContents'
- description: The service spec that was used to create the service instance.
templateMajorVersion:
allOf:
- $ref: '#/components/schemas/TemplateVersionPart'
- description: The major version of the service template that was used to create the service instance.
templateMinorVersion:
allOf:
- $ref: '#/components/schemas/TemplateVersionPart'
- description: The minor version of the service template that was used to create the service instance.
templateName:
allOf:
- $ref: '#/components/schemas/ResourceName'
- description: The name of the service template that was used to create the service instance.
description: Detailed data of an Proton service instance resource.
String:
type: string
SpecContents:
type: string
minLength: 1
maxLength: 51200
format: password
InternalServerException: {}
DeploymentUpdateType:
type: string
enum:
- NONE
- CURRENT_VERSION
- MINOR_VERSION
- MAJOR_VERSION
DeploymentStatus:
type: string
enum:
- IN_PROGRESS
- FAILED
- SUCCEEDED
- DELETE_IN_PROGRESS
- DELETE_FAILED
- DELETE_COMPLETE
- CANCELLING
- CANCELLED
ResourceNotFoundException: {}
ValidationException: {}
securitySchemes:
hmac:
type: apiKey
name: Authorization
in: header
description: Amazon Signature authorization v4
x-amazon-apigateway-authtype: awsSigv4
externalDocs:
description: Amazon Web Services documentation
url: https://docs.aws.amazon.com/proton/
x-hasEquivalentPaths: true