CreateComponentRequest schema from EC2 Image Builder
Type: objectProperties: 11Required: 4
Amazon Web ServicesAutomationContainer ImagesEC2Image BuildingVirtual Machine Images
CreateComponentRequest is a JSON Structure definition published by Amazon EC2 Image Builder, describing 11 properties, of which 4 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/amazon-ec2-image-builder/refs/heads/main/json-structure/ec2-image-builder-create-component-request-structure.json",
"name": "CreateComponentRequest",
"description": "CreateComponentRequest schema from EC2 Image Builder",
"type": "object",
"properties": {
"name": {
"allOf": [
{
"$ref": "#/components/schemas/ResourceName"
},
{
"description": "The name of the component."
}
]
},
"semanticVersion": {
"allOf": [
{
"$ref": "#/components/schemas/VersionNumber"
},
{
"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>"
}
]
},
"description": {
"allOf": [
{
"$ref": "#/components/schemas/NonEmptyString"
},
{
"description": "Describes the contents of the component."
}
]
},
"changeDescription": {
"allOf": [
{
"$ref": "#/components/schemas/NonEmptyString"
},
{
"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."
}
]
},
"platform": {
"allOf": [
{
"$ref": "#/components/schemas/Platform"
},
{
"description": "The operating system platform of the component."
}
]
},
"supportedOsVersions": {
"allOf": [
{
"$ref": "#/components/schemas/OsVersionList"
},
{
"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."
}
]
},
"data": {
"allOf": [
{
"$ref": "#/components/schemas/InlineComponentData"
},
{
"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."
}
]
},
"uri": {
"allOf": [
{
"$ref": "#/components/schemas/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>"
}
]
},
"kmsKeyId": {
"allOf": [
{
"$ref": "#/components/schemas/NonEmptyString"
},
{
"description": "The ID of the KMS key that is used to encrypt this component."
}
]
},
"tags": {
"allOf": [
{
"$ref": "#/components/schemas/TagMap"
},
{
"description": "The tags that apply to the component."
}
]
},
"clientToken": {
"allOf": [
{
"$ref": "#/components/schemas/ClientToken"
},
{
"description": "The idempotency token of the component."
}
]
}
},
"required": [
"name",
"semanticVersion",
"platform",
"clientToken"
]
}