openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 360 kB
JSON
{"openapi":"3.0.0","info":{"version":"2019-12-02","x-release":"v4","title":"EC2 Image Builder","description":"EC2 Image Builder is a fully managed Amazon Web Services service that makes it easier to automate the creation, management, and deployment of customized, secure, and up-to-date \"golden\" server images that are pre-installed and pre-configured with software and settings to meet specific IT standards.","x-logo":{"url":"https://twitter.com/awscloud/profile_image?size=original","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":"imagebuilder","x-aws-signingName":"imagebuilder","x-origin":[{"contentType":"application/json","url":"https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/imagebuilder-2019-12-02.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},"externalDocs":{"description":"Amazon Web Services documentation","url":"https://docs.aws.amazon.com/imagebuilder/"},"servers":[{"url":"http://imagebuilder.{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 imagebuilder multi-region endpoint"},{"url":"https://imagebuilder.{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 imagebuilder multi-region endpoint"},{"url":"http://imagebuilder.{region}.amazonaws.com.cn","variables":{"region":{"description":"The AWS region","enum":["cn-north-1","cn-northwest-1"],"default":"cn-north-1"}},"description":"The imagebuilder endpoint for China (Beijing) and China (Ningxia)"},{"url":"https://imagebuilder.{region}.amazonaws.com.cn","variables":{"region":{"description":"The AWS region","enum":["cn-north-1","cn-northwest-1"],"default":"cn-north-1"}},"description":"The imagebuilder endpoint for China (Beijing) and China (Ningxia)"}],"x-hasEquivalentPaths":true,"paths":{"/CancelImageCreation":{"put":{"operationId":"CancelImageCreation","description":"CancelImageCreation cancels the creation of Image. This operation can only be used on images in a non-terminal state.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CancelImageCreationResponse"}}}},"480":{"description":"ServiceException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceException"}}}},"481":{"description":"ClientException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientException"}}}},"482":{"description":"ServiceUnavailableException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableException"}}}},"483":{"description":"InvalidRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidRequestException"}}}},"484":{"description":"IdempotentParameterMismatchException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdempotentParameterMismatchException"}}}},"485":{"description":"ForbiddenException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenException"}}}},"486":{"description":"CallRateLimitExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRateLimitExceededException"}}}},"487":{"description":"ResourceInUseException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInUseException"}}}}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["imageBuildVersionArn","clientToken"],"properties":{"imageBuildVersionArn":{"description":"The Amazon Resource Name (ARN) of the image that you want to cancel creation for.","type":"string","pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):image/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+/[0-9]+$"},"clientToken":{"description":"Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html\">Ensuring idempotency</a> in the <i>Amazon EC2 API Reference</i>.","type":"string","minLength":1,"maxLength":36}}}}}}},"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"}]},"/CreateComponent":{"put":{"operationId":"CreateComponent","description":"<p>Creates a new component that can be used to build, validate, test, and assess your image. The component is based on a YAML document that you specify using exactly one of the following methods:</p> <ul> <li> <p>Inline, using the <code>data</code> property in the request body.</p> </li> <li> <p>A URL that points to a YAML document file stored in Amazon S3, using the <code>uri</code> property in the request body.</p> </li> </ul>","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateComponentResponse"}}}},"480":{"description":"ServiceException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceException"}}}},"481":{"description":"ClientException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientException"}}}},"482":{"description":"ServiceUnavailableException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableException"}}}},"483":{"description":"InvalidRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidRequestException"}}}},"484":{"description":"IdempotentParameterMismatchException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdempotentParameterMismatchException"}}}},"485":{"description":"ForbiddenException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenException"}}}},"486":{"description":"CallRateLimitExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRateLimitExceededException"}}}},"487":{"description":"InvalidVersionNumberException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidVersionNumberException"}}}},"488":{"description":"ResourceInUseException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInUseException"}}}},"489":{"description":"InvalidParameterCombinationException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidParameterCombinationException"}}}},"490":{"description":"ServiceQuotaExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceQuotaExceededException"}}}}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","semanticVersion","platform","clientToken"],"properties":{"name":{"description":"The name of the component.","type":"string","pattern":"^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$"},"semanticVersion":{"description":"<p>The semantic version of the component. This version follows the semantic version syntax.</p> <note> <p>The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.</p> <p> <b>Assignment:</b> For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.</p> <p> <b>Patterns:</b> You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.</p> </note>","type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"},"description":{"description":"Describes the contents of the component.","type":"string","minLength":1,"maxLength":1024},"changeDescription":{"description":"The change description of the component. Describes what change has been made in this version, or what makes this version different from other versions of this component.","type":"string","minLength":1,"maxLength":1024},"platform":{"description":"The operating system platform of the component.","type":"string","enum":["Windows","Linux"]},"supportedOsVersions":{"description":"The operating system (OS) version supported by the component. If the OS information is available, a prefix match is performed against the base image OS version during image recipe creation.","type":"array","items":{"$ref":"#/components/schemas/OsVersion"},"minItems":1,"maxItems":25},"data":{"description":"Component <code>data</code> contains inline YAML document content for the component. Alternatively, you can specify the <code>uri</code> of a YAML document file stored in Amazon S3. However, you cannot specify both properties.","type":"string","pattern":"[^\\x00]+","minLength":1,"maxLength":16000},"uri":{"description":"<p>The <code>uri</code> of a YAML component document file. This must be an S3 URL (<code>s3://bucket/key</code>), and the requester must have permission to access the S3 bucket it points to. If you use Amazon S3, you can specify component content up to your service quota.</p> <p>Alternatively, you can specify the YAML document inline, using the component <code>data</code> property. You cannot specify both properties.</p>","type":"string"},"kmsKeyId":{"description":"The ID of the KMS key that is used to encrypt this component.","type":"string","minLength":1,"maxLength":1024},"tags":{"description":"The tags that apply to the component.","type":"object","minProperties":1,"maxProperties":50,"additionalProperties":{"$ref":"#/components/schemas/TagValue"}},"clientToken":{"description":"The idempotency token of the component.","type":"string","minLength":1,"maxLength":36}}}}}}},"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"}]},"/CreateContainerRecipe":{"put":{"operationId":"CreateContainerRecipe","description":"Creates a new container recipe. Container recipes define how images are configured, tested, and assessed.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateContainerRecipeResponse"}}}},"480":{"description":"ServiceException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceException"}}}},"481":{"description":"ClientException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientException"}}}},"482":{"description":"ServiceUnavailableException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableException"}}}},"483":{"description":"InvalidRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidRequestException"}}}},"484":{"description":"IdempotentParameterMismatchException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdempotentParameterMismatchException"}}}},"485":{"description":"ForbiddenException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenException"}}}},"486":{"description":"CallRateLimitExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRateLimitExceededException"}}}},"487":{"description":"InvalidVersionNumberException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidVersionNumberException"}}}},"488":{"description":"ResourceInUseException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInUseException"}}}},"489":{"description":"ResourceAlreadyExistsException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAlreadyExistsException"}}}},"490":{"description":"ServiceQuotaExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceQuotaExceededException"}}}}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["containerType","name","semanticVersion","components","parentImage","targetRepository","clientToken"],"properties":{"containerType":{"description":"The type of container to create.","type":"string","enum":["DOCKER"]},"name":{"description":"The name of the container recipe.","type":"string","pattern":"^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$"},"description":{"description":"The description of the container recipe.","type":"string","minLength":1,"maxLength":1024},"semanticVersion":{"description":"<p>The semantic version of the container recipe. This version follows the semantic version syntax.</p> <note> <p>The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.</p> <p> <b>Assignment:</b> For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.</p> <p> <b>Patterns:</b> You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.</p> </note>","type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"},"components":{"description":"Components for build and test that are included in the container recipe. Recipes require a minimum of one build component, and can have a maximum of 20 build and test components in any combination.","type":"array","items":{"$ref":"#/components/schemas/ComponentConfiguration"},"minItems":1},"instanceConfiguration":{"description":"Defines a custom base AMI and block device mapping configurations of an instance used for building and testing container images.","type":"object","properties":{"image":{"allOf":[{"$ref":"#/components/schemas/NonEmptyString"},{"description":"The AMI ID to use as the base image for a container build and test instance. If not specified, Image Builder will use the appropriate ECS-optimized AMI as a base image."}]},"blockDeviceMappings":{"allOf":[{"$ref":"#/components/schemas/InstanceBlockDeviceMappings"},{"description":"Defines the block devices to attach for building an instance from this Image Builder AMI."}]}}},"dockerfileTemplateData":{"description":"The Dockerfile template used to build your image as an inline data blob.","type":"string","pattern":"[^\\x00]+","minLength":1,"maxLength":16000},"dockerfileTemplateUri":{"description":"The Amazon S3 URI for the Dockerfile that will be used to build your container image.","type":"string"},"platformOverride":{"description":"Specifies the operating system platform when you use a custom base image.","type":"string","enum":["Windows","Linux"]},"imageOsVersionOverride":{"description":"Specifies the operating system version for the base image.","type":"string","minLength":1,"maxLength":1024},"parentImage":{"description":"The base image for the container recipe.","type":"string","minLength":1,"maxLength":1024},"tags":{"description":"Tags that are attached to the container recipe.","type":"object","minProperties":1,"maxProperties":50,"additionalProperties":{"$ref":"#/components/schemas/TagValue"}},"workingDirectory":{"description":"The working directory for use during build and test workflows.","type":"string","minLength":1,"maxLength":1024},"targetRepository":{"description":"The container repository where the output container image is stored.","type":"object","properties":{"service":{"allOf":[{"$ref":"#/components/schemas/ContainerRepositoryService"},{"description":"Specifies the service in which this image was registered."}]},"repositoryName":{"allOf":[{"$ref":"#/components/schemas/NonEmptyString"},{"description":"The name of the container repository where the output container image is stored. This name is prefixed by the repository location."}]}}},"kmsKeyId":{"description":"Identifies which KMS key is used to encrypt the container image.","type":"string","minLength":1,"maxLength":1024},"clientToken":{"description":"The client token used to make this request idempotent.","type":"string","minLength":1,"maxLength":36}}}}}}},"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"}]},"/CreateDistributionConfiguration":{"put":{"operationId":"CreateDistributionConfiguration","description":"Creates a new distribution configuration. Distribution configurations define and configure the outputs of your pipeline.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateDistributionConfigurationResponse"}}}},"480":{"description":"ServiceException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceException"}}}},"481":{"description":"ClientException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientException"}}}},"482":{"description":"ServiceUnavailableException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableException"}}}},"483":{"description":"InvalidRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidRequestException"}}}},"484":{"description":"IdempotentParameterMismatchException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdempotentParameterMismatchException"}}}},"485":{"description":"ForbiddenException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenException"}}}},"486":{"description":"CallRateLimitExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRateLimitExceededException"}}}},"487":{"description":"ResourceInUseException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInUseException"}}}},"488":{"description":"ResourceAlreadyExistsException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAlreadyExistsException"}}}},"489":{"description":"InvalidParameterCombinationException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidParameterCombinationException"}}}},"490":{"description":"ServiceQuotaExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceQuotaExceededException"}}}}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","distributions","clientToken"],"properties":{"name":{"description":"The name of the distribution configuration.","type":"string","pattern":"^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$"},"description":{"description":"The description of the distribution configuration.","type":"string","minLength":1,"maxLength":1024},"distributions":{"description":"The distributions of the distribution configuration.","type":"array","items":{"$ref":"#/components/schemas/Distribution"}},"tags":{"description":"The tags of the distribution configuration.","type":"object","minProperties":1,"maxProperties":50,"additionalProperties":{"$ref":"#/components/schemas/TagValue"}},"clientToken":{"description":"The idempotency token of the distribution configuration.","type":"string","minLength":1,"maxLength":36}}}}}}},"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"}]},"/CreateImage":{"put":{"operationId":"CreateImage","description":"Creates a new image. This request will create a new image along with all of the configured output resources defined in the distribution configuration. You must specify exactly one recipe for your image, using either a ContainerRecipeArn or an ImageRecipeArn.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateImageResponse"}}}},"480":{"description":"ServiceException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceException"}}}},"481":{"description":"ClientException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientException"}}}},"482":{"description":"ServiceUnavailableException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableException"}}}},"483":{"description":"InvalidRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidRequestException"}}}},"484":{"description":"IdempotentParameterMismatchException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdempotentParameterMismatchException"}}}},"485":{"description":"ForbiddenException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenException"}}}},"486":{"description":"CallRateLimitExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRateLimitExceededException"}}}},"487":{"description":"ResourceInUseException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInUseException"}}}},"488":{"description":"ServiceQuotaExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceQuotaExceededException"}}}}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["infrastructureConfigurationArn","clientToken"],"properties":{"imageRecipeArn":{"description":"The Amazon Resource Name (ARN) of the image recipe that defines how images are configured, tested, and assessed.","type":"string","pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):image-recipe/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+$"},"containerRecipeArn":{"description":"The Amazon Resource Name (ARN) of the container recipe that defines how images are configured and tested.","type":"string","pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):container-recipe/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+$"},"distributionConfigurationArn":{"description":"The Amazon Resource Name (ARN) of the distribution configuration that defines and configures the outputs of your pipeline.","type":"string","pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):distribution-configuration/[a-z0-9-_]+$"},"infrastructureConfigurationArn":{"description":"The Amazon Resource Name (ARN) of the infrastructure configuration that defines the environment in which your image will be built and tested.","type":"string","pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):infrastructure-configuration/[a-z0-9-_]+$"},"imageTestsConfiguration":{"description":"Configure image tests for your pipeline build. Tests run after building the image, to verify that the AMI or container image is valid before distributing it.","type":"object","properties":{"imageTestsEnabled":{"allOf":[{"$ref":"#/components/schemas/NullableBoolean"},{"description":"Determines if tests should run after building the image. Image Builder defaults to enable tests to run following the image build, before image distribution."}]},"timeoutMinutes":{"allOf":[{"$ref":"#/components/schemas/ImageTestsTimeoutMinutes"},{"description":"<p>The maximum time in minutes that tests are permitted to run.</p> <note> <p>The timeoutMinutes attribute is not currently active. This value is ignored.</p> </note>"}]}}},"enhancedImageMetadataEnabled":{"description":"Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.","type":"boolean"},"tags":{"description":"The tags of the image.","type":"object","minProperties":1,"maxProperties":50,"additionalProperties":{"$ref":"#/components/schemas/TagValue"}},"clientToken":{"description":"The idempotency token used to make this request idempotent.","type":"string","minLength":1,"maxLength":36},"imageScanningConfiguration":{"description":"Contains settings for Image Builder image resource and container image scans.","type":"object","properties":{"imageScanningEnabled":{"allOf":[{"$ref":"#/components/schemas/NullableBoolean"},{"description":"A setting that indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image."}]},"ecrConfiguration":{"allOf":[{"$ref":"#/components/schemas/EcrConfiguration"},{"description":"Contains Amazon ECR settings for vulnerability scans."}]}}}}}}}}},"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"}]},"/CreateImagePipeline":{"put":{"operationId":"CreateImagePipeline","description":"Creates a new image pipeline. Image pipelines enable you to automate the creation and distribution of images.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateImagePipelineResponse"}}}},"480":{"description":"ServiceException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceException"}}}},"481":{"description":"ClientException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientException"}}}},"482":{"description":"ServiceUnavailableException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableException"}}}},"483":{"description":"InvalidRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidRequestException"}}}},"484":{"description":"IdempotentParameterMismatchException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdempotentParameterMismatchException"}}}},"485":{"description":"ForbiddenException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenException"}}}},"486":{"description":"CallRateLimitExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRateLimitExceededException"}}}},"487":{"description":"ResourceInUseException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInUseException"}}}},"488":{"description":"ResourceAlreadyExistsException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAlreadyExistsException"}}}},"489":{"description":"ServiceQuotaExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceQuotaExceededException"}}}}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","infrastructureConfigurationArn","clientToken"],"properties":{"name":{"description":"The name of the image pipeline.","type":"string","pattern":"^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$"},"description":{"description":"The description of the image pipeline.","type":"string","minLength":1,"maxLength":1024},"imageRecipeArn":{"description":"The Amazon Resource Name (ARN) of the image recipe that will be used to configure images created by this image pipeline.","type":"string","pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):image-recipe/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+$"},"containerRecipeArn":{"description":"The Amazon Resource Name (ARN) of the container recipe that is used to configure images created by this container pipeline.","type":"string","pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):container-recipe/[a-z0-9-_]+/[0-9]+\\.[0-9]+\\.[0-9]+$"},"infrastructureConfigurationArn":{"description":"The Amazon Resource Name (ARN) of the infrastructure configuration that will be used to build images created by this image pipeline.","type":"string","pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):infrastructure-configuration/[a-z0-9-_]+$"},"distributionConfigurationArn":{"description":"The Amazon Resource Name (ARN) of the distribution configuration that will be used to configure and distribute images created by this image pipeline.","type":"string","pattern":"^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):distribution-configuration/[a-z0-9-_]+$"},"imageTestsConfiguration":{"description":"Configure image tests for your pipeline build. Tests run after building the image, to verify that the AMI or container image is valid before distributing it.","type":"object","properties":{"imageTestsEnabled":{"allOf":[{"$ref":"#/components/schemas/NullableBoolean"},{"description":"Determines if tests should run after building the image. Image Builder defaults to enable tests to run following the image build, before image distribution."}]},"timeoutMinutes":{"allOf":[{"$ref":"#/components/schemas/ImageTestsTimeoutMinutes"},{"description":"<p>The maximum time in minutes that tests are permitted to run.</p> <note> <p>The timeoutMinutes attribute is not currently active. This value is ignored.</p> </note>"}]}}},"enhancedImageMetadataEnabled":{"description":"Collects additional information about the image being created, including the operating system (OS) version and package list. This information is used to enhance the overall experience of using EC2 Image Builder. Enabled by default.","type":"boolean"},"schedule":{"description":"A schedule configures how often and when a pipeline will automatically create a new image.","type":"object","properties":{"scheduleExpression":{"allOf":[{"$ref":"#/components/schemas/NonEmptyString"},{"description":"<p>The cron expression determines how often EC2 Image Builder evaluates your <code>pipelineExecutionStartCondition</code>.</p> <p>For information on how to format a cron expression in Image Builder, see <a href=\"https://docs.aws.amazon.com/imagebuilder/latest/userguide/image-builder-cron.html\">Use cron expressions in EC2 Image Builder</a>.</p>"}]},"timezone":{"allOf":[{"$ref":"#/components/schemas/Timezone"},{"description":"The timezone that applies to the scheduling expression. For example, \"Etc/UTC\", \"America/Los_Angeles\" in the <a href=\"https://www.joda.org/joda-time/timezones.html\">IANA timezone format</a>. If not specified this defaults to UTC."}]},"pipelineExecutionStartCondition":{"allOf":[{"$ref":"#/components/schemas/PipelineExecutionStartCondition"},{"description":"The condition configures when the pipeline should trigger a new image build. When the <code>pipelineExecutionStartCondition</code> is set to <code>EXPRESSION_MATCH_AND_DEPENDENCY_UPDATES_AVAILABLE</code>, and you use semantic version filters on the base image or components in your image recipe, EC2 Image Builder will build a new image only when there are new versions of the image or components in your recipe that match the semantic version filter. When it is set to <code>EXPRESSION_MATCH_ONLY</code>, it will build a new image every time the CRON expression matches the current time. For semantic version syntax, see <a href=\"https://docs.aws.amazon.com/imagebuilder/latest/APIReference/API_CreateComponent.html\">CreateComponent</a> in the <i> EC2 Image Builder API Reference</i>."}]}}},"status":{"description":"The status of the image pipeline.","type":"string","enum":["DISABLED","ENABLED"]},"tags":{"description":"The tags of the image pipeline.","type":"object","minProperties":1,"maxProperties":50,"additionalProperties":{"$ref":"#/components/schemas/TagValue"}},"clientToken":{"description":"The idempotency token used to make this request idempotent.","type":"string","minLength":1,"maxLength":36},"imageScanningConfiguration":{"description":"Contains settings for Image Builder image resource and container image scans.","type":"object","properties":{"imageScanningEnabled":{"allOf":[{"$ref":"#/components/schemas/NullableBoolean"},{"description":"A setting that indicates whether Image Builder keeps a snapshot of the vulnerability scans that Amazon Inspector runs against the build instance when you create a new image."}]},"ecrConfiguration":{"allOf":[{"$ref":"#/components/schemas/EcrConfiguration"},{"description":"Contains Amazon ECR settings for vulnerability scans."}]}}}}}}}}},"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"}]},"/CreateImageRecipe":{"put":{"operationId":"CreateImageRecipe","description":"Creates a new image recipe. Image recipes define how images are configured, tested, and assessed.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateImageRecipeResponse"}}}},"480":{"description":"ServiceException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceException"}}}},"481":{"description":"ClientException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientException"}}}},"482":{"description":"ServiceUnavailableException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableException"}}}},"483":{"description":"InvalidRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidRequestException"}}}},"484":{"description":"IdempotentParameterMismatchException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdempotentParameterMismatchException"}}}},"485":{"description":"ForbiddenException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenException"}}}},"486":{"description":"CallRateLimitExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRateLimitExceededException"}}}},"487":{"description":"InvalidVersionNumberException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidVersionNumberException"}}}},"488":{"description":"ResourceInUseException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInUseException"}}}},"489":{"description":"ResourceAlreadyExistsException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAlreadyExistsException"}}}},"490":{"description":"ServiceQuotaExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceQuotaExceededException"}}}}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","semanticVersion","components","parentImage","clientToken"],"properties":{"name":{"description":"The name of the image recipe.","type":"string","pattern":"^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$"},"description":{"description":"The description of the image recipe.","type":"string","minLength":1,"maxLength":1024},"semanticVersion":{"description":"<p>The semantic version of the image recipe. This version follows the semantic version syntax.</p> <note> <p>The semantic version has four nodes: <major>.<minor>.<patch>/<build>. You can assign values for the first three, and can filter on all of them.</p> <p> <b>Assignment:</b> For the first three nodes you can assign any positive integer value, including zero, with an upper limit of 2^30-1, or 1073741823 for each node. Image Builder automatically assigns the build number to the fourth node.</p> <p> <b>Patterns:</b> You can use any numeric pattern that adheres to the assignment requirements for the nodes that you can assign. For example, you might choose a software version pattern, such as 1.0.0, or a date, such as 2021.01.01.</p> </note>","type":"string","pattern":"^[0-9]+\\.[0-9]+\\.[0-9]+$"},"components":{"description":"The components included in the image recipe.","type":"array","items":{"$ref":"#/components/schemas/ComponentConfiguration"},"minItems":1},"parentImage":{"description":"The base image of the image recipe. The value of the string can be the ARN of the base image or an AMI ID. The format for the ARN follows this example: <code>arn:aws:imagebuilder:us-west-2:aws:image/windows-server-2016-english-full-base-x86/x.x.x</code>. You can provide the specific version that you want to use, or you can use a wildcard in all of the fields. If you enter an AMI ID for the string value, you must have access to the AMI, and the AMI must be in the same Region in which you are using Image Builder.","type":"string","minLength":1,"maxLength":1024},"blockDeviceMappings":{"description":"The block device mappings of the image recipe.","type":"array","items":{"$ref":"#/components/schemas/InstanceBlockDeviceMapping"}},"tags":{"description":"The tags of the image recipe.","type":"object","minProperties":1,"maxProperties":50,"additionalProperties":{"$ref":"#/components/schemas/TagValue"}},"workingDirectory":{"description":"The working directory used during build and test workflows.","type":"string","minLength":1,"maxLength":1024},"additionalInstanceConfiguration":{"description":"<p>In addition to your infrastructure configuration, these settings provide an extra layer of control over your build instances. You can also specify commands to run on launch for all of your build instances.</p> <p>Image Builder does not automatically install the Systems Manager agent on Windows instances. If your base image includes the Systems Manager agent, then the AMI that you create will also include the agent. For Linux instances, if the base image does not already include the Systems Manager agent, Image Builder installs it. For Linux instances where Image Builder installs the Systems Manager agent, you can choose whether to keep it for the AMI that you create.</p>","type":"object","properties":{"systemsManagerAgent":{"allOf":[{"$ref":"#/components/schemas/SystemsManagerAgent"},{"description":"Contains settings for the Systems Manager agent on your build instance."}]},"userDataOverride":{"allOf":[{"$ref":"#/components/schemas/UserDataOverride"},{"description":"<p>Use this property to provide commands or a command script to run when you launch your build instance.</p> <p>The userDataOverride property replaces any commands that Image Builder might have added to ensure that Systems Manager is installed on your Linux build instance. If you override the user data, make sure that you add commands to install Systems Manager, if it is not pre-installed on your base image.</p> <note> <p>The user data is always base 64 encoded. For example, the following commands are encoded as <code>IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhci$</code>:</p> <p> <i>#!/bin/bash</i> </p> <p>mkdir -p /var/bb/</p> <p>touch /var</p> </note>"}]}}},"clientToken":{"description":"The idempotency token used to make this request idempotent.","type":"string","minLength":1,"maxLength":36}}}}}}},"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"}]},"/CreateInfrastructureConfiguration":{"put":{"operationId":"CreateInfrastructureConfiguration","description":"Creates a new infrastructure configuration. An infrastructure configuration defines the environment in which your image will be built and tested.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateInfrastructureConfigurationResponse"}}}},"480":{"description":"ServiceException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceException"}}}},"481":{"description":"ClientException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientException"}}}},"482":{"description":"ServiceUnavailableException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableException"}}}},"483":{"description":"InvalidRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidRequestException"}}}},"484":{"description":"IdempotentParameterMismatchException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/IdempotentParameterMismatchException"}}}},"485":{"description":"ForbiddenException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenException"}}}},"486":{"description":"CallRateLimitExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRateLimitExceededException"}}}},"487":{"description":"ResourceInUseException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceInUseException"}}}},"488":{"description":"ResourceAlreadyExistsException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResourceAlreadyExistsException"}}}},"489":{"description":"ServiceQuotaExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceQuotaExceededException"}}}}},"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","instanceProfileName","clientToken"],"properties":{"name":{"description":"The name of the infrastructure configuration.","type":"string","pattern":"^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$"},"description":{"description":"The description of the infrastructure configuration.","type":"string","minLength":1,"maxLength":1024},"instanceTypes":{"description":"The instance types of the infrastructure configuration. You can specify one or more instance types to use for this build. The service will pick one of these instance types based on availability.","type":"array","items":{"$ref":"#/components/schemas/InstanceType"}},"instanceProfileName":{"description":"The instance profile to associate with the instance used to customize your Amazon EC2 AMI.","type":"string","pattern":"^[\\w+=,.@-]+$","minLength":1,"maxLength":256},"securityGroupIds":{"description":"The security group IDs to associate with the instance used to customize your Amazon EC2 AMI.","type":"array","items":{"$ref":"#/components/schemas/NonEmptyString"}},"subnetId":{"description":"The subnet ID in which to place the instance used to customize your Amazon EC2 AMI.","type":"string","minLength":1,"maxLength":1024},"logging":{"description":"Logging configuration defines where Image Builder uploads your logs.","type":"object","properties":{"s3Logs":{"allOf":[{"$ref":"#/components/schemas/S3Logs"},{"description":"The Amazon S3 logging configuration."}]}}},"keyPair":{"description":"The key pair of the infrastructure configuration. You can use this to log on to and debug the instance used to create your image.","type":"string","minLength":1,"maxLength":1024},"terminateInstanceOnFailure":{"description":"The terminate instance on failure setting of the infrastructure configuration. Set to false if you want Image Builder to retain the instance used to configure your AMI if the build or test phase of your workflow fails.","type":"boolean"},"snsTopicArn":{"description":"<p>The Amazon Resource Name (ARN) for the SNS topic to which we send image build event notifications.</p> <note> <p>EC2 Image Builder is unable to send notifications to SNS topics that are encrypted using keys from other accounts. The key that is used to encrypt the SNS topic must reside in the account that the Image Builder service runs under.</p> </note>","type":"string","pattern":"^arn:aws[^:]*:sns:[^:]+:[0-9]{12}:[a-zA-Z0-9-_]{1,256}$"},"resourceTags":{"description":"The tags attached to the resource created by Image Builder.","type":"object","minProperties":1,"maxProperties":30,"additionalProperties":{"$ref":"#/components/schemas/TagValue"}},"instanceMetadataOptions":{"description":"The instance metadata options that apply to the HTTP requests that pipeline builds use to launch EC2 build and test instances. For more information about instance metadata options, see <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/configuring-instance-metadata-options.html\">Configure the instance metadata options</a> in the <i> <i>Amazon EC2 User Guide</i> </i> for Linux instances, or <a href=\"https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/configuring-instance-metadata-options.html\">Configure the instance metadata options</a> in the <i> <i>Amazon EC2 Windows Guide</i> </i> for Windows instances.","type":"object","properties":{"httpTokens":{"allOf":[{"$ref":"#/components/schemas/HttpTokens"},{"description":"<p>Indicates whether a signed token header is required for instance metadata retrieval requests. The values affect the response as follows:</p> <ul> <li> <p> <b>required</b> – When you retrieve the IAM role credentials, version 2.0 credentials are returned in all cases.</p> </li> <li> <p> <b>optional</b> – You can include a signed token header in your request to retrieve instance metadata, or you can leave it out. If you include it, version 2.0 credentials are returned for the IAM role. Otherwise, version 1.0 credentials are returned.</p> </li> </ul> <p>The default setting is <b>optional</b>.</p>"}]},"httpPutResponseHopLimit":{"allOf":[{"$ref":"#/components/schemas/HttpPutResponseHopLimit"},{"description":"Limit the number of hops that an instance metadata request can traverse to reach its destination. The default is one hop. However, if HTTP tokens are required, container image builds need a minimum of two hops."}]}}},"tags":{"description":"The tags of the infrastructure configuration.","type":"object","minProperties":1,"maxProperties":50,"additionalProperties":{"$ref":"#/components/schemas/TagValue"}},"clientToken":{"description":"The idempotency token used to make this request idempotent.","type":"string","minLength":1,"maxLength":36}}}}}}},"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"}]},"/DeleteComponent#componentBuildVersionArn":{"delete":{"operationId":"DeleteComponent","description":"Deletes a component build version.","responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DeleteComponentResponse"}}}},"480":{"description":"ServiceException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceException"}}}},"481":{"description":"ClientException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ClientException"}}}},"482":{"description":"ServiceUnavailableException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ServiceUnavailableException"}}}},"483":{"description":"InvalidRequestException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/InvalidRequestException"}}}},"484":{"description":"ForbiddenException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ForbiddenException"}}}},"485":{"description":"CallRateLimitExceededException","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallRateLimitExceededException"}}}},"486":{"description":"ResourceDependencyException","content":{"application/json":{"