ALIYUN::CR::Repository

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

镜像仓库绑定的标签是否固定。

取值:

  • true:固定。

  • false:不固定。

RepoSource语法

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

RepoSource属性

属性名称

类型

必须

允许更新

描述

约束

SourceRepoNamespace

String

源代码仓库命名空间。

SourceRepoName

String

源代码仓库名称。

IsOversea

Boolean

是否启用海外构建。

取值:

  • true:启用。

  • false:禁用。

IsDisableCache

Boolean

是否在构建时禁用Cache。

取值:

  • true:禁用。

  • false:启用。

SourceRepoType

String

源代码仓库类型。

取值:

  • CODE

  • GITHUB

  • GITLAB

  • BITBUCKET

  • CODEUP

  • GITEE

IsAutoBuild

Boolean

是否启用自动构建。

取值:

  • true:启用。

  • false:禁用。

返回值

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: test_demo_repo
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": "test_demo_repo"
      }
    }
  },
  "Outputs": {
    "RepoId": {
      "Description": "The repo id",
      "Value": {
        "Fn::GetAtt": [
          "Repository",
          "RepoId"
        ]
      }
    }
  }
}

更多示例,请参见:JSON示例YAML示例