Custom Resource Request Objects
Template Developer Request Properties
The template developer uses the AWS CloudFormation resource, AWS::CloudFormation::CustomResource, to specify a custom resource in a template.
In AWS::CloudFormation::CustomResource, all properties are defined by the custom resource provider. There is
only one required property: ServiceToken.
All other fields in the resource properties are optional and are sent, verbatim, to
the custom resource provider in the
request's ResourceProperties field. The provider defines both the names and the valid
contents of these fields.
Custom Resource Provider Request Fields
These fields are sent in JSON requests from AWS CloudFormation to the custom resource provider in the SNS topic that the provider has configured for this purpose.
- RequestType
-
The request type is set by the AWS CloudFormation stack operation (create-stack, update-stack, or delete-stack) that was initiated by the template developer for the stack that contains the custom resource.
Must be one of:
Create,Update, orDelete. For more information, see Custom Resource Request Types.Required: Yes
Type: String
- ResponseURL
-
The response URL identifies a presigned S3 bucket that receives responses from the custom resource provider to AWS CloudFormation.
Required: Yes
Type: String
- StackId
-
The Amazon Resource Name (ARN) that identifies the stack that contains the custom resource.
Combining the
StackIdwith theRequestIdforms a value that you can use to uniquely identify a request on a particular custom resource.Required: Yes
Type: String
- RequestId
-
A unique ID for the request.
Combining the
StackIdwith theRequestIdforms a value that you can use to uniquely identify a request on a particular custom resource.Required: Yes
Type: String
- ResourceType
-
The template developer-chosen resource type of the custom resource in the AWS CloudFormation template. Custom resource type names can be up to 60 characters long and can include alphanumeric and the following characters:
_@-.Required: Yes
Type: String
- LogicalResourceId
-
The template developer-chosen name (logical ID) of the custom resource in the AWS CloudFormation template. This is provided to facilitate communication between the custom resource provider and the template developer.
Required: Yes
Type: String
- PhysicalResourceId
-
A required custom resource provider-defined physical ID that is unique for that provider.
Required: Always sent with
UpdateandDeleterequests; never sent withCreate.Type: String
- ResourceProperties
-
This field contains the contents of the
Propertiesobject sent by the template developer. Its contents are defined by the custom resource provider.Required: No
Type: JSON object
- OldResourceProperties
-
Used only for
Updaterequests. Contains the resource properties that were declared previous to the update request.Required: Yes
Type: JSON object
