Amazon Proton #X Amz Target=AwsProton20200720.CreateServiceTemplateVersion API

The #X Amz Target=AwsProton20200720.CreateServiceTemplateVersion API from Amazon Proton — 1 operation(s) for #x amz target=awsproton20200720.createservicetemplateversion.

OpenAPI Specification

amazon-proton-x-amz-target-awsproton20200720-createservicetemplateversion-api-openapi.yml Raw ↑
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.CreateServiceTemplateVersion API'
  description: <p>This is the Proton Service API Reference. It provides descriptions, syntax and usage examples for each of the <a href="https://docs.aws.amazon.com/proton/latest/APIReference/API_Operations.html">actions</a> and <a href="https://docs.aws.amazon.com/proton/latest/APIReference/API_Types.html">data types</a> for the Proton service.</p> <p>The documentation for each action shows the Query API request parameters and the XML response.</p> <p>Alternatively, you can use the Amazon Web Services CLI to access an API. For more information, see the <a href="https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-welcome.html">Amazon Web Services Command Line Interface User Guide</a>.</p> <p>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.</p> <p>Because administrators define the infrastructure and tooling that Proton deploys and manages, they need permissions to use all of the listed API operations.</p> <p>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 <i>create</i>, <i>list</i>, <i>update</i> and <i>delete</i> API operations and the service instance <i>list</i> and <i>update</i> API operations.</p> <p>To learn more about Proton, see the <a href="https://docs.aws.amazon.com/proton/latest/userguide/Welcome.html">Proton User Guide</a>.</p> <p> <b>Ensuring Idempotency</b> </p> <p>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.</p> <p> <i>Idempotency</i> 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.</p> <p>The following lists of APIs are grouped according to methods that ensure idempotency.</p> <p> <b>Idempotent create APIs with a client token</b> </p> <p>The API actions in this list support idempotency with the use of a <i>client token</i>. 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 <i>don't</i> 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.</p> <p>Given a request action that has succeeded:</p> <p>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.</p> <p>If you retry the request using the same client token, but one or more of the parameters are different, the retry throws a <code>ValidationException</code> with an <code>IdempotentParameterMismatch</code> error.</p> <p>Client tokens expire eight hours after a request is made. If you retry the request with the expired token, a new resource is created.</p> <p>If the original resource is deleted and you retry the request, a new resource is created.</p> <p>Idempotent create APIs with a client token:</p> <ul> <li> <p>CreateEnvironmentTemplateVersion</p> </li> <li> <p>CreateServiceTemplateVersion</p> </li> <li> <p>CreateEnvironmentAccountConnection</p> </li> </ul> <p> <b>Idempotent create APIs</b> </p> <p>Given a request action that has succeeded:</p> <p>If you retry the request with an API from this group, and the original resource <i>hasn't</i> been modified, the retry succeeds without performing any further actions other than returning the original resource detail data in the response.</p> <p>If the original resource has been modified, the retry throws a <code>ConflictException</code>.</p> <p>If you retry with different input parameters, the retry throws a <code>ValidationException</code> with an <code>IdempotentParameterMismatch</code> error.</p> <p>Idempotent create APIs:</p> <ul> <li> <p>CreateEnvironmentTemplate</p> </li> <li> <p>CreateServiceTemplate</p> </li> <li> <p>CreateEnvironment</p> </li> <li> <p>CreateService</p> </li> </ul> <p> <b>Idempotent delete APIs</b> </p> <p>Given a request action that has succeeded:</p> <p>When you retry the request with an API from this group and the resource was deleted, its metadata is returned in the response.</p> <p>If you retry and the resource doesn't exist, the response is empty.</p> <p>In both cases, the retry succeeds.</p> <p>Idempotent delete APIs:</p> <ul> <li> <p>DeleteEnvironmentTemplate</p> </li> <li> <p>DeleteEnvironmentTemplateVersion</p> </li> <li> <p>DeleteServiceTemplate</p> </li> <li> <p>DeleteServiceTemplateVersion</p> </li> <li> <p>DeleteEnvironmentAccountConnection</p> </li> </ul> <p> <b>Asynchronous idempotent delete APIs</b> </p> <p>Given a request action that has succeeded:</p> <p>If you retry the request with an API from this group, if the original request delete operation status is <code>DELETE_IN_PROGRESS</code>, the retry returns the resource detail data in the response without performing any further actions.</p> <p>If the original request delete operation is complete, a retry returns an empty response.</p> <p>Asynchronous idempotent delete APIs:</p> <ul> <li> <p>DeleteEnvironment</p> </li> <li> <p>DeleteService</p> </li> </ul>
  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.CreateServiceTemplateVersion'
paths:
  /#X-Amz-Target=AwsProton20200720.CreateServiceTemplateVersion:
    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: CreateServiceTemplateVersion
      description: Create a new major or minor version of a service template. A major version of a service template is a version that <i>isn't</i> backward compatible. A minor version of a service template is a version that's backward compatible within its major version.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateServiceTemplateVersionOutput'
        '480':
          description: ServiceQuotaExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceQuotaExceededException'
        '481':
          description: ValidationException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ValidationException'
        '482':
          description: AccessDeniedException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccessDeniedException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: ConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictException'
        '485':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '486':
          description: InternalServerException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalServerException'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateServiceTemplateVersionInput'
      parameters:
      - name: X-Amz-Target
        in: header
        required: true
        schema:
          type: string
          enum:
          - AwsProton20200720.CreateServiceTemplateVersion
      summary: Amazon Proton Create Service Template Version
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - '#X Amz Target=AwsProton20200720.CreateServiceTemplateVersion'
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
    ServiceTemplateVersion:
      type: object
      required:
      - arn
      - compatibleEnvironmentTemplates
      - createdAt
      - lastModifiedAt
      - majorVersion
      - minorVersion
      - status
      - templateName
      properties:
        arn:
          allOf:
          - $ref: '#/components/schemas/ServiceTemplateVersionArn'
          - description: The Amazon Resource Name (ARN) of the version of a service template.
        compatibleEnvironmentTemplates:
          allOf:
          - $ref: '#/components/schemas/CompatibleEnvironmentTemplateList'
          - description: An array of compatible environment template names for the major version of a service template.
        createdAt:
          allOf:
          - $ref: '#/components/schemas/Timestamp'
          - description: The time when the version of a service template was created.
        description:
          allOf:
          - $ref: '#/components/schemas/Description'
          - description: A description of the version of a service template.
        lastModifiedAt:
          allOf:
          - $ref: '#/components/schemas/Timestamp'
          - description: The time when the version of a service template was last modified.
        majorVersion:
          allOf:
          - $ref: '#/components/schemas/TemplateVersionPart'
          - description: The latest major version that's associated with the version of a service template.
        minorVersion:
          allOf:
          - $ref: '#/components/schemas/TemplateVersionPart'
          - description: The minor version of a service template.
        recommendedMinorVersion:
          allOf:
          - $ref: '#/components/schemas/TemplateVersionPart'
          - description: The recommended minor version of the service template.
        schema:
          allOf:
          - $ref: '#/components/schemas/TemplateSchema'
          - description: The schema of the version of a service template.
        status:
          allOf:
          - $ref: '#/components/schemas/TemplateVersionStatus'
          - description: The service template version status.
        statusMessage:
          allOf:
          - $ref: '#/components/schemas/StatusMessage'
          - description: A service template version status message.
        supportedComponentSources:
          allOf:
          - $ref: '#/components/schemas/ServiceTemplateSupportedComponentSourceInputList'
          - description: <p>An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version.</p> <p>For more information about components, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html">Proton components</a> in the <i>Proton User Guide</i>.</p>
        templateName:
          allOf:
          - $ref: '#/components/schemas/ResourceName'
          - description: The name of the version of a service template.
      description: Detailed data of an Proton service template version resource.
    ResourceName:
      type: string
      pattern: ^[0-9A-Za-z]+[0-9A-Za-z_\-]*$
      minLength: 1
      maxLength: 100
    Tag:
      type: object
      required:
      - key
      - value
      properties:
        key:
          allOf:
          - $ref: '#/components/schemas/TagKey'
          - description: The key of the resource tag.
        value:
          allOf:
          - $ref: '#/components/schemas/TagValue'
          - description: The value of the resource tag.
      description: A description of a resource tag.
    TemplateVersionPart:
      type: string
      pattern: ^(0|([1-9]{1}\d*))$
      minLength: 1
      maxLength: 20
    AccessDeniedException: {}
    CompatibleEnvironmentTemplateInput:
      type: object
      required:
      - majorVersion
      - templateName
      properties:
        majorVersion:
          allOf:
          - $ref: '#/components/schemas/TemplateVersionPart'
          - description: The major version of the compatible environment template.
        templateName:
          allOf:
          - $ref: '#/components/schemas/ResourceName'
          - description: The compatible environment template name.
      description: Compatible environment template data.
    TemplateVersionSourceInput:
      type: object
      properties:
        s3:
          allOf:
          - $ref: '#/components/schemas/S3ObjectSource'
          - description: An S3 source object that includes the template bundle S3 path and name for a template minor version.
      description: Template version source data.
    ServiceTemplateVersionArn:
      type: string
    ClientToken:
      type: string
      pattern: ^[!-~]*$
      minLength: 0
      maxLength: 64
    ThrottlingException: {}
    ConflictException: {}
    TagKey:
      type: string
      minLength: 1
      maxLength: 128
    Timestamp:
      type: string
      format: date-time
    CompatibleEnvironmentTemplateInputList:
      type: array
      items:
        $ref: '#/components/schemas/CompatibleEnvironmentTemplateInput'
      minItems: 1
      maxItems: 10
    TagList:
      type: array
      items:
        $ref: '#/components/schemas/Tag'
      minItems: 0
      maxItems: 50
    TemplateVersionStatus:
      type: string
      enum:
      - REGISTRATION_IN_PROGRESS
      - REGISTRATION_FAILED
      - DRAFT
      - PUBLISHED
    S3Key:
      type: string
      minLength: 1
      maxLength: 1024
    CreateServiceTemplateVersionOutput:
      type: object
      required:
      - serviceTemplateVersion
      properties:
        serviceTemplateVersion:
          allOf:
          - $ref: '#/components/schemas/ServiceTemplateVersion'
          - description: The service template version summary of detail data that's returned by Proton.
    TemplateSchema:
      type: string
      minLength: 1
      maxLength: 51200
      format: password
    ServiceQuotaExceededException: {}
    S3Bucket:
      type: string
      pattern: ^[a-z0-9]+[a-z0-9-\.]+[a-z0-9]+$
      minLength: 3
      maxLength: 63
    ServiceTemplateSupportedComponentSourceType:
      type: string
      enum:
      - DIRECTLY_DEFINED
    S3ObjectSource:
      type: object
      required:
      - bucket
      - key
      properties:
        bucket:
          allOf:
          - $ref: '#/components/schemas/S3Bucket'
          - description: The name of the S3 bucket that contains a template bundle.
        key:
          allOf:
          - $ref: '#/components/schemas/S3Key'
          - description: The path to the S3 bucket that contains a template bundle.
      description: Template bundle S3 bucket data.
    ServiceTemplateSupportedComponentSourceInputList:
      type: array
      items:
        $ref: '#/components/schemas/ServiceTemplateSupportedComponentSourceType'
    InternalServerException: {}
    CompatibleEnvironmentTemplateList:
      type: array
      items:
        $ref: '#/components/schemas/CompatibleEnvironmentTemplate'
    CompatibleEnvironmentTemplate:
      type: object
      required:
      - majorVersion
      - templateName
      properties:
        majorVersion:
          allOf:
          - $ref: '#/components/schemas/TemplateVersionPart'
          - description: The major version of the compatible environment template.
        templateName:
          allOf:
          - $ref: '#/components/schemas/ResourceName'
          - description: The compatible environment template name.
      description: Compatible environment template data.
    Description:
      type: string
      minLength: 0
      maxLength: 500
      format: password
    ResourceNotFoundException: {}
    CreateServiceTemplateVersionInput:
      type: object
      required:
      - compatibleEnvironmentTemplates
      - source
      - templateName
      title: CreateServiceTemplateVersionInput
      properties:
        clientToken:
          allOf:
          - $ref: '#/components/schemas/ClientToken'
          - description: When included, if two identical requests are made with the same client token, Proton returns the service template version that the first request created.
        compatibleEnvironmentTemplates:
          allOf:
          - $ref: '#/components/schemas/CompatibleEnvironmentTemplateInputList'
          - description: An array of environment template objects that are compatible with the new service template version. A service instance based on this service template version can run in environments based on compatible templates.
        description:
          allOf:
          - $ref: '#/components/schemas/Description'
          - description: A description of the new version of a service template.
        majorVersion:
          allOf:
          - $ref: '#/components/schemas/TemplateVersionPart'
          - description: <p>To create a new minor version of the service template, include a <code>major Version</code>.</p> <p>To create a new major and minor version of the service template, <i>exclude</i> <code>major Version</code>.</p>
        source:
          allOf:
          - $ref: '#/components/schemas/TemplateVersionSourceInput'
          - description: An object that includes the template bundle S3 bucket path and name for the new version of a service template.
        supportedComponentSources:
          allOf:
          - $ref: '#/components/schemas/ServiceTemplateSupportedComponentSourceInputList'
          - description: <p>An array of supported component sources. Components with supported sources can be attached to service instances based on this service template version.</p> <p>For more information about components, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/ag-components.html">Proton components</a> in the <i>Proton User Guide</i>.</p>
        tags:
          allOf:
          - $ref: '#/components/schemas/TagList'
          - description: <p>An optional list of metadata items that you can associate with the Proton service template version. A tag is a key-value pair.</p> <p>For more information, see <a href="https://docs.aws.amazon.com/proton/latest/userguide/resources.html">Proton resources and tagging</a> in the <i>Proton User Guide</i>.</p>
        templateName:
          allOf:
          - $ref: '#/components/schemas/ResourceName'
          - description: The name of the service template.
    ValidationException: {}
    TagValue:
      type: string
      minLength: 0
      maxLength: 256
  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