AWS::CloudFormation::PublicTypeVersion
Tests and publishes a registered extension as a public, third-party extension.
CloudFormation first tests the extension to make sure it meets all necessary requirements for being published in the CloudFormation registry. If it does, CloudFormation then publishes it to the registry as a public third-party extension in this Region. Public extensions are available for use by all CloudFormation users.
-
For resource types, testing includes passing all contracts tests defined for the type.
-
For modules, testing includes determining if the module's model meets all necessary requirements.
For more information, see Testing your public extension prior to publishing in the CloudFormation CLI User Guide.
If you don't specify a version, CloudFormation uses the default version of the extension in your account and Region for testing.
To perform testing, CloudFormation assumes the execution role specified when the type was registered.
An extension must have a test status of PASSED
before it can be published.
For more information, see Publishing
extensions to make them available for public use in the
CloudFormation CLI User Guide.
Syntax
To declare this entity in your AWS CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::CloudFormation::PublicTypeVersion", "Properties" : { "Arn" :
String
, "LogDeliveryBucket" :String
, "PublicVersionNumber" :String
, "Type" :String
, "TypeName" :String
} }
YAML
Type: AWS::CloudFormation::PublicTypeVersion Properties: Arn:
String
LogDeliveryBucket:String
PublicVersionNumber:String
Type:String
TypeName:String
Properties
Arn
-
The Amazon Resource Number (ARN) of the extension.
Conditional: You must specify
Arn
, orTypeName
andType
.Required: Conditional
Type: String
Pattern:
arn:aws[A-Za-z0-9-]{0,64}:cloudformation:[A-Za-z0-9-]{1,64}:[0-9]{12}:type/.+
Update requires: Replacement
LogDeliveryBucket
-
The S3 bucket to which CloudFormation delivers the contract test execution logs.
CloudFormation delivers the logs by the time contract testing has completed and the extension has been assigned a test type status of
PASSED
orFAILED
.The user initiating the stack operation must be able to access items in the specified S3 bucket. Specifically, the user needs the following permissions:
-
GetObject
-
PutObject
For more information, see Actions, Resources, and Condition Keys for Amazon S3 in the AWS Identity and Access Management User Guide.
Required: No
Type: String
Pattern:
[\s\S]+
Minimum:
3
Maximum:
63
Update requires: Replacement
-
PublicVersionNumber
-
The version number to assign to this version of the extension.
Use the following format, and adhere to semantic versioning when assigning a version number to your extension:
MAJOR.MINOR.PATCH
For more information, see Semantic Versioning 2.0.0
. If you don't specify a version number, CloudFormation increments the version number by one minor version release.
You cannot specify a version number the first time you publish a type. CloudFormation automatically sets the first version number to be
1.0.0
.Required: No
Type: String
Minimum:
5
Maximum:
64
Update requires: Replacement
Type
-
The type of the extension to test.
Conditional: You must specify
Arn
, orTypeName
andType
.Required: Conditional
Type: String
Allowed values:
RESOURCE | MODULE | HOOK
Update requires: Replacement
TypeName
-
The name of the extension to test.
Conditional: You must specify
Arn
, orTypeName
andType
.Required: Conditional
Type: String
Pattern:
[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}::[A-Za-z0-9]{2,64}(::MODULE){0,1}
Update requires: Replacement
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the Amazon Resource Number (ARN) assigned to the public
extension upon publication. For example:
{ "Ref":
"arn:aws:cloudformation:us-east-1::type/resource/2a33349e7e606a8ad2e30e3c84521f93123456/My-Extension/2.1.3"
}
For more information about using the Ref
function, see Ref
.
Fn::GetAtt
The Fn::GetAtt
intrinsic function returns a value for a specified attribute of this type. The following are the available attributes and sample return values.
For more information about using the Fn::GetAtt
intrinsic function, see Fn::GetAtt
.
PublicTypeArn
-
The Amazon Resource Number (ARN) assigned to the public extension upon publication.
PublisherId
-
The publisher ID of the extension publisher.
This applies only to public third-party extensions. For private registered extensions, and extensions provided by AWS, CloudFormation returns
null
. TypeVersionArn
-
The Amazon Resource Number (ARN) assigned to this version of the extension.