ALIYUN::CR::Repository类型用于创建一个新的镜像仓库。
语法
{
"Type": "ALIYUN::CR::Repository",
"Properties": {
"RepoNamespace": String,
"Summary": String,
"RepoType": String,
"Detail": String,
"RepoName": String,
"RepoSource": Map,
"InstanceId": String,
"TagImmutability": Boolean
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|
RepoNamespace | String | 是 | 否 | 镜像仓库命名空间。 | 无 |
Summary | String | 是 | 是 | 镜像仓库摘要。 | 长度为1~100个字符。 |
RepoType | String | 是 | 是 | 镜像仓库类型。 | 取值:- PUBLIC:公有仓库。支持匿名下载。
- PRIVATE:私有仓库。必须登录下载。
|
Detail | String | 否 | 是 | 镜像仓库详细描述。 | 支持MarkDown格式,长度不超过2000个字符。 |
RepoName | String | 是 | 否 | 镜像仓库名称。 | 长度为2~64个字符,可包含小写英文字母、数字、半角句号(.)、短划线(-)和下划线(_)。 |
RepoSource | Map | 否 | 否 | 镜像仓库绑定的源代码仓库及构建设置。 | 更多信息,请参见RepoSource属性。 |
InstanceId | String | 否 | 否 | 实例ID。 | 取值示例:cri-xkx6vujuhay0****。 |
TagImmutability | Boolean | 否 | 是 | 镜像仓库绑定的标签是否固定。 | 取值: |
RepoSource语法
"RepoSource": {
"SourceRepoNamespace": String,
"SourceRepoName": String,
"IsOversea": Boolean,
"IsDisableCache": Boolean,
"SourceRepoType": String,
"IsAutoBuild": Boolean
}
RepoSource属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|
SourceRepoNamespace | String | 是 | 否 | 源代码仓库命名空间。 | 无 |
SourceRepoName | String | 是 | 否 | 源代码仓库名称。 | 无 |
IsOversea | Boolean | 是 | 否 | 是否启用海外构建。 | 取值: |
IsDisableCache | Boolean | 是 | 否 | 是否在构建时禁用Cache。 | 取值: |
SourceRepoType | String | 是 | 否 | 源代码仓库类型。 | 取值:- PUBLIC:公有仓库。
- PRIVATE:私有仓库。
|
IsAutoBuild | Boolean | 是 | 否 | 是否启用自动构建。 | 取值: |
返回值
Fn::GetAtt
- RepoId:镜像仓库ID。
- RepoName:镜像仓库名称。
- InstanceId:实例ID。
- RepoType:仓库类型。
- RepoNamespace:镜像仓库命名空间名称。
示例
ROSTemplateFormatVersion: '2015-09-01'
Parameters: {}
Resources:
Repository:
Type: ALIYUN::CR::Repository
Properties:
RepoNamespace: DemoRepoNamespace
Summary: test cr repository
RepoType: PRIVATE
RepoName: DemoRepo
Outputs:
RepoId:
Description: The repo id
Value:
Fn::GetAtt:
- Repository
- RepoId
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
},
"Resources": {
"Repository": {
"Type": "ALIYUN::CR::Repository",
"Properties": {
"RepoNamespace": "DemoRepoNamespace",
"Summary": "test cr repository",
"RepoType": "PRIVATE",
"RepoName": "DemoRepo"
}
}
},
"Outputs": {
"RepoId": {
"Description": "The repo id",
"Value": {
"Fn::GetAtt": [
"Repository",
"RepoId"
]
}
}
}
}
更多示例,请参见:JSON示例和YAML示例。