AWS::ImageBuilder::ImageRecipe - AWS CloudFormation
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS::ImageBuilder::ImageRecipe

映像生成器映像配方是一个文档,用于定义源映像和要应用于源映像以生成输出映像所需配置的组件。您可以使用映像配方复制构建。可以使用控制台向导、AWS CLI 或 API 共享、分支和编辑映像生成器映像配方。您可以将映像配方与版本控制软件一起使用,以维护可共享的版本化映像配方。

语法

要在 AWS CloudFormation 模板中声明此实体,请使用以下语法:

JSON

{ "Type" : "AWS::ImageBuilder::ImageRecipe", "Properties" : { "BlockDeviceMappings" : [ InstanceBlockDeviceMapping, ... ], "Components" : [ ComponentConfiguration, ... ], "Description" : String, "Name" : String, "ParentImage" : String, "Tags" : {Key : Value, ...}, "Version" : String, "WorkingDirectory" : String } }

YAML

Type: AWS::ImageBuilder::ImageRecipe Properties: BlockDeviceMappings: - InstanceBlockDeviceMapping Components: - ComponentConfiguration Description: String Name: String ParentImage: String Tags: Key : Value Version: String WorkingDirectory: String

属性

BlockDeviceMappings

从此配方创建映像时要应用的块储存设备映射。

必需:否

类型InstanceBlockDeviceMapping 的列表

Update requires: Replacement

Components

映像配方的组件。组件是编排文档,用于定义下载、安装、配置和测试软件包的一系列步骤。它们还定义验证和安全强化步骤。组件是使用 YAML 文档格式定义的。

必需:是

类型ComponentConfiguration 的列表

Update requires: Replacement

Description

映像配方的描述。

必需:否

类型:字符串

最低1

最高1024

Update requires: Replacement

Name

映像配方的名称。

必需:是

类型:字符串

模式^[-_A-Za-z-0-9][-_A-Za-z0-9 ]{1,126}[-_A-Za-z-0-9]$

Update requires: Replacement

ParentImage

映像配方的父映像。字符串必须是映像 ARN(SemVers 正常)或 AMI ID。

必需:是

类型:字符串

最低1

最高1024

Update requires: Replacement

Tags

映像配方的标签。

必需:否

类型:字符串的映射

Update requires: Replacement

Version

映像配方的语义版本。

必需:是

类型:字符串

模式^[0-9]+\.[0-9]+\.[0-9]+$

Update requires: Replacement

WorkingDirectory

要在构建和测试工作流中使用的工作目录。

必需:否

类型:字符串

最低1

最高1024

Update requires: Replacement

返回值

Ref

在将此资源的逻辑 ID 传递给内部 Ref 函数时,Ref 返回 资源 ARN,如 arn:aws:imagebuilder:us-east-1:123456789012:image-recipe/mybasicrecipe/2019.12.03

For more information about using the Ref function, see Ref.

Fn::GetAtt

Fn::GetAtt 内部函数返回此类型的一个指定属性的值。以下为可用属性和示例返回值。

有关使用 Fn::GetAtt 内部函数的更多信息,请参阅 Fn::GetAtt

Arn

返回映像配方的 Amazon 资源名称 (ARN)。例如:arn:aws:imagebuilder:us-east-1:123456789012:image-recipe/mybasicrecipe/2019.12.03

示例

创建映像配方

以下示例同时以 YAML 和 JSON 格式显示 ImageRecipe 资源文档的所有参数的架构。

YAML

Resources: ImageRecipeAllParameters: Type: 'AWS::ImageBuilder::ImageRecipe' Properties: Name: 'image-recipe-name' Version: '1.0.0' ParentImage: !Ref ParentImage Description: 'description' Components: - ComponentArn: !Ref ComponentArn - ComponentArn: !Ref AnotherComponentArn BlockDeviceMappings: - DeviceName: "device-name" VirtualName: "virtual-name" Ebs: DeleteOnTermination: true Encrypted: true Iops: 100 KmsKeyId: !Ref KmsKeyId SnapshotId: "snapshot-id" VolumeType: "gp2" VolumeSize: 100 Tags: CustomerImageRecipeTagKey1: 'CustomerImageRecipeTagValue1' CustomerImageRecipeTagKey2: 'CustomerImageRecipeTagValue2'

JSON

{ "Resources": { "ImageRecipeAllParameters": { "Type": "AWS::ImageBuilder::ImageRecipe", "Properties": { "Name": "image-recipe-name", "Version": "1.0.0", "ParentImage": { "Ref": "ParentImage" }, "Description": "description", "Components": [ { "ComponentArn": { "Ref": "ComponentArn" } }, { "ComponentArn": { "Ref": "AnotherComponentArn" } } ], "BlockDeviceMappings": [ { "DeviceName": "device-name", "VirtualName": "virtual-name", "Ebs": { "DeleteOnTermination": true, "Encrypted": true, "Iops": 100, "KmsKeyId": { "Ref": "KmsKeyId" }, "SnapshotId": "snapshot-id", "VolumeType": "gp2", "VolumeSize": 100 } } ], "Tags": { "CustomerImageRecipeTagKey1": "CustomerImageRecipeTagValue1", "CustomerImageRecipeTagKey2": "CustomerImageRecipeTagValue2" } } } } }

另请参阅