CreateContainerRecipe
Creates a new container recipe. Container recipes define how images are configured, tested, and assessed.
Request Syntax
PUT /CreateContainerRecipe HTTP/1.1
Content-type: application/json
{
"clientToken": "string
",
"components": [
{
"componentArn": "string
",
"parameters": [
{
"name": "string
",
"value": [ "string
" ]
}
]
}
],
"containerType": "string
",
"description": "string
",
"dockerfileTemplateData": "string
",
"dockerfileTemplateUri": "string
",
"imageOsVersionOverride": "string
",
"instanceConfiguration": {
"blockDeviceMappings": [
{
"deviceName": "string
",
"ebs": {
"deleteOnTermination": boolean
,
"encrypted": boolean
,
"iops": number
,
"kmsKeyId": "string
",
"snapshotId": "string
",
"throughput": number
,
"volumeSize": number
,
"volumeType": "string
"
},
"noDevice": "string
",
"virtualName": "string
"
}
],
"image": "string
"
},
"kmsKeyId": "string
",
"name": "string
",
"parentImage": "string
",
"platformOverride": "string
",
"semanticVersion": "string
",
"tags": {
"string
" : "string
"
},
"targetRepository": {
"repositoryName": "string
",
"service": "string
"
},
"workingDirectory": "string
"
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- clientToken
-
Unique, case-sensitive identifier you provide to ensure idempotency of the request. For more information, see Ensuring idempotency in the Amazon EC2 API Reference.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 36.
Required: Yes
- components
-
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 of ComponentConfiguration objects
Array Members: Minimum number of 1 item.
Required: Yes
- containerType
-
The type of container to create.
Type: String
Valid Values:
DOCKER
Required: Yes
- description
-
The description of the container recipe.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Required: No
- dockerfileTemplateData
-
The Dockerfile template used to build your image as an inline data blob.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 16000.
Pattern:
[^\x00]+
Required: No
- dockerfileTemplateUri
-
The Amazon S3 URI for the Dockerfile that will be used to build your container image.
Type: String
Required: No
- imageOsVersionOverride
-
Specifies the operating system version for the base image.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Required: No
- instanceConfiguration
-
A group of options that can be used to configure an instance for building and testing container images.
Type: InstanceConfiguration object
Required: No
- kmsKeyId
-
Identifies which KMS key is used to encrypt the Dockerfile template.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Required: No
- name
-
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]$
Required: Yes
- parentImage
-
The base image for the container recipe.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Required: Yes
- platformOverride
-
Specifies the operating system platform when you use a custom base image.
Type: String
Valid Values:
Windows | Linux | macOS
Required: No
- semanticVersion
-
The semantic version of the container recipe. This version follows the semantic version syntax.
Note
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.
Assignment: 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.
Patterns: 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.
Type: String
Pattern:
^[0-9]+\.[0-9]+\.[0-9]+$
Required: Yes
-
Tags that are attached to the container recipe.
Type: String to string map
Map Entries: Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern:
^(?!aws:)[a-zA-Z+-=._:/]+$
Value Length Constraints: Maximum length of 256.
Required: No
- targetRepository
-
The destination repository for the container image.
Type: TargetContainerRepository object
Required: Yes
- workingDirectory
-
The working directory for use during build and test workflows.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Required: No
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"clientToken": "string",
"containerRecipeArn": "string",
"requestId": "string"
}
Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- clientToken
-
The client token that uniquely identifies the request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 36.
- containerRecipeArn
-
Returns the Amazon Resource Name (ARN) of the container recipe that the request created.
Type: String
Pattern:
^arn:aws[^:]*:imagebuilder:[^:]+:(?:[0-9]{12}|aws):container-recipe/[a-z0-9-_]+/[0-9]+\.[0-9]+\.[0-9]+$
- requestId
-
The request ID that uniquely identifies this request.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 1024.
Errors
For information about the errors that are common to all actions, see Common Errors.
- CallRateLimitExceededException
-
You have exceeded the permitted request rate for the specific operation.
HTTP Status Code: 429
- ClientException
-
These errors are usually caused by a client action, such as using an action or resource on behalf of a user that doesn't have permissions to use the action or resource, or specifying an invalid resource identifier.
HTTP Status Code: 400
- ForbiddenException
-
You are not authorized to perform the requested operation.
HTTP Status Code: 403
- IdempotentParameterMismatchException
-
You have specified a client token for an operation using parameter values that differ from a previous request that used the same client token.
HTTP Status Code: 400
- InvalidRequestException
-
You have requested an action that that the service doesn't support.
HTTP Status Code: 400
- InvalidVersionNumberException
-
Your version number is out of bounds or does not follow the required syntax.
HTTP Status Code: 400
- ResourceAlreadyExistsException
-
The resource that you are trying to create already exists.
HTTP Status Code: 400
- ResourceInUseException
-
The resource that you are trying to operate on is currently in use. Review the message details and retry later.
HTTP Status Code: 400
- ServiceException
-
This exception is thrown when the service encounters an unrecoverable exception.
HTTP Status Code: 500
- ServiceQuotaExceededException
-
You have exceeded the number of permitted resources or operations for this service. For service quotas, see EC2 Image Builder endpoints and quotas.
HTTP Status Code: 402
- ServiceUnavailableException
-
The service is unable to process your request at this time.
HTTP Status Code: 503
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: