自定义资源请求对象 - AWS CloudFormation

自定义资源请求对象

本主题将介绍 CloudFormation 自定义资源的请求对象属性。

有关自定义资源及其工作原理的介绍,请参阅使用自定义资源创建自定义预置逻辑

模板开发人员请求属性

模板开发人员使用 CloudFormation 资源 AWS::CloudFormation::CustomResource,在模板中指定自定义资源。

AWS::CloudFormation::CustomResource 中,所有属性均由自定义资源提供商定义。只有一个必需属性:ServiceToken

ServiceTimeout

自定义资源操作超时前可流逝的最长时间(以秒为单位)。

该值必须是介于 1 到 3600 之间的整数。默认值为 3600 秒(1 小时)。

必需:否

类型:字符串

ServiceToken

服务令牌,例如 Amazon SNS 主题 ARN 或 Lambda 函数 ARN。服务令牌必须与堆栈位于同一区域。

必需:是

类型:字符串

资源属性中的所有其他字段是可选字段,并通过该请求的 ResourceProperties 字段逐字发送到自定义资源提供商。提供者定义这些字段的名称和有效内容。

自定义资源提供商请求字段

这些字段将以 JSON 请求形式从 CloudFormation 发送到提供商为实现此目的而配置的 SNS 主题中的自定义资源提供商。

RequestType

请求类型由 CloudFormation 堆栈操作(创建堆栈、更新堆栈或删除堆栈)设置,而堆栈操作是由包含自定义资源的堆栈的模板开发人员启动的。

必须为以下值之一:CreateUpdateDelete。有关更多信息,请参阅 自定义资源请求类型

必需:是

类型:字符串

ResponseURL

响应 URL 标识一个预签名 S3 桶,该桶接收从自定义资源提供商到 AWS CloudFormation 的响应。

必需:是

类型:字符串

StackId

标识包含自定义资源的堆栈的 Amazon 资源名称(ARN)。

StackIdRequestId 组合形成一个值,您可以使用该值唯一标识对特定自定义资源的请求。

必需:是

类型:字符串

RequestId

请求的唯一 ID。

StackIdRequestId 组合形成一个值,您可以使用该值唯一标识对特定自定义资源的请求。

必需:是

类型:字符串

ResourceType

CloudFormation 模板中模板开发人员选择的自定义资源的资源类型。自定义资源类型名称的长度最多为 60 个字符,并且可包含字母数字字符和以下字符:_@-

必需:是

类型:字符串

LogicalResourceId

AWS CloudFormation 模板中模板开发人员选择的自定义资源的名称(逻辑 ID)。这是为了促进自定义资源提供商与模板开发人员之间的通信。

必需:是

类型:字符串

PhysicalResourceId

custom resource provider 定义的必需物理 ID,该 ID 对于该提供程序是唯一的。

PhysicalResourceId 返回的值可以更改自定义资源更新操作。如果返回的值相同,则将其视为正常更新。如返回的值不同,则 AWS CloudFormation 将该更新视为替换,并向旧资源发送删除请求。有关更多信息,请参阅 AWS::CloudFormation::CustomResource

必需:始终通过 UpdateDelete 请求来发送;从不通过 Create 发送。

类型:字符串

ResourceProperties

此字段包含模板开发人员发送的 Properties 对象的内容。其内容由自定义资源提供商定义。

必需:否

类型:JSON 对象

OldResourceProperties

仅用于 Update 请求。包含在更新请求之前声明的资源属性。

必需:是

类型:JSON 对象