ALIYUN::CR::Repository类型用于创建一个新的镜像仓库。

语法

{
  "Type": "ALIYUN::CR::Repository",
  "Properties": {
    "RepoNamespace": String,
    "Summary": String,
    "RepoType": String,
    "Detail": String,
    "RepoName": String,
    "RepoSource": Map,
    "InstanceId": String,
    "TagImmutability": Boolean
  }
}

属性

属性名称类型必须允许更新描述约束
RepoNamespaceString镜像仓库命名空间。
SummaryString镜像仓库摘要。长度为1~100个字符。
RepoTypeString镜像仓库类型。取值:
  • PUBLIC:公有仓库。支持匿名下载。
  • PRIVATE:私有仓库。必须登录下载。
DetailString镜像仓库详细描述。支持MarkDown格式,长度不超过2000个字符。
RepoNameString镜像仓库名称。长度为2~64个字符,可包含小写英文字母、数字、半角句号(.)、短划线(-)和下划线(_)。
RepoSourceMap镜像仓库绑定的源代码仓库及构建设置。更多信息,请参见RepoSource属性
InstanceIdString实例ID。取值示例:cri-xkx6vujuhay0****。
TagImmutabilityBoolean镜像仓库绑定的标签是否固定。取值:
  • true:固定。
  • false:不固定。

RepoSource语法

"RepoSource": {
  "SourceRepoNamespace": String,
  "SourceRepoName": String,
  "IsOversea": Boolean,
  "IsDisableCache": Boolean,
  "SourceRepoType": String,
  "IsAutoBuild": Boolean
}

RepoSource属性

属性名称类型必须允许更新描述约束
SourceRepoNamespaceString源代码仓库命名空间。
SourceRepoNameString源代码仓库名称。
IsOverseaBoolean是否启用海外构建。取值:
  • true:启用。
  • false:禁用。
IsDisableCacheBoolean是否在构建时禁用Cache。取值:
  • true:禁用。
  • false:启用。
SourceRepoTypeString源代码仓库类型。取值:
  • PUBLIC:公有仓库。
  • PRIVATE:私有仓库。
IsAutoBuildBoolean是否启用自动构建。取值:
  • true:启用。
  • false:禁用。

返回值

Fn::GetAtt

  • RepoId:镜像仓库ID。
  • RepoName:镜像仓库名称。
  • InstanceId:实例ID。
  • RepoType:仓库类型。
  • RepoNamespace:镜像仓库命名空间名称。

示例

  • YAML格式

    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格式

    {
      "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示例