AWS::ECR::PublicRepository
The AWS::ECR::PublicRepository
resource specifies an Amazon Elastic
Container Registry Public (Amazon ECR Public) repository, where users can push and pull
Docker images, Open Container Initiative (OCI) images, and OCI compatible artifacts. For
more information, see Amazon ECR public
repositories in the Amazon ECR Public User
Guide.
Syntax
To declare this entity in your Amazon CloudFormation template, use the following syntax:
JSON
{ "Type" : "AWS::ECR::PublicRepository", "Properties" : { "RepositoryCatalogData" :
RepositoryCatalogData
, "RepositoryName" :String
, "RepositoryPolicyText" :Json
, "Tags" :[ Tag, ... ]
} }
YAML
Type: AWS::ECR::PublicRepository Properties: RepositoryCatalogData:
RepositoryCatalogData
RepositoryName:String
RepositoryPolicyText:Json
Tags:- Tag
Properties
RepositoryCatalogData
-
The details about the repository that are publicly visible in the Amazon ECR Public Gallery. For more information, see Amazon ECR Public repository catalog data in the Amazon ECR Public User Guide.
Required: No
Type: RepositoryCatalogData
Update requires: No interruption
RepositoryName
-
The name to use for the public repository. The repository name may be specified on its own (such as
nginx-web-app
) or it can be prepended with a namespace to group the repository into a category (such asproject-a/nginx-web-app
). If you don't specify a name, Amazon CloudFormation generates a unique physical ID and uses that ID for the repository name. For more information, see Name Type.Note
If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name.
Required: No
Type: String
Pattern:
^(?=.{2,256}$)((?:[a-z0-9]+(?:[._-][a-z0-9]+)*/)*[a-z0-9]+(?:[._-][a-z0-9]+)*)$
Minimum:
2
Maximum:
256
Update requires: Replacement
RepositoryPolicyText
-
The JSON repository policy text to apply to the public repository. For more information, see Amazon ECR Public repository policies in the Amazon ECR Public User Guide.
Required: No
Type: Json
Update requires: No interruption
-
An array of key-value pairs to apply to this resource.
Required: No
Type: Array of Tag
Maximum:
50
Update requires: No interruption
Return values
Ref
When you pass the logical ID of this resource to the intrinsic Ref
function, Ref
returns the resource name, such as
test-repository
.
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
.
Arn
-
Returns the Amazon Resource Name (ARN) for the specified
AWS::ECR::PublicRepository
resource. For example,arn:aws:ecr-public::123456789012:repository/test-repository
.
Examples
Specify a public repository
The following example specifies a public repository named
test-repository
. The repository catalog data appears publicly
on the Amazon ECR Public Gallery.
JSON
"MyPublicRepository": { "Type": "AWS::ECR::PublicRepository", "Properties": { "RepositoryName" : "test-repository", "RepositoryCatalogData" : { "UsageText": "This is a sample usage text.", "AboutText": "This is a sample about text.", "OperatingSystems": [ "Linux", "Windows" ], "Architectures": [ "x86", "ARM" ], "RepositoryDescription": "This is a sample repository description." } } }
YAML
Resources: MyPublicRepositry: Type: AWS::ECR::PublicRepository Properties: RepositoryName: "test-repository" RepositoryCatalogData: UsageText: "This is a sample usage text." AboutText: "This is a sample about text." OperatingSystems: - "Linux" - "Windows" Architectures: - "x86" - "ARM" RepositoryDescription: "This is a sample repository description."