更新时间:2022-02-22 GMT+08:00

创建模板

功能介绍

通过将本地模板文件上传至服务器的方式来创建模板。

URI

POST /v2/templates

请求消息

  • 请求参数
    表1 请求参数

    参数

    是否必选

    参数类型

    描述

    resource

    String

    模板内容,详情请参见UploadResource

    archive_content

    String or Binary

    必须为zip/tar.gz/tgz/yaml/json格式的文件。

    content_type值为yaml和json时,参数类型为String,值为yaml或json的字符串。

    content_type值为空或file时,参数类型为Binary,值为文件的二进制内容。

    表2 UploadResource参数

    参数

    是否必选

    参数类型

    描述

    name

    String

    模板名称。长度为[1,64],由小写英文字母、数字和短横线(-)组成,且必须以英文字母开头,同时不能以短横线结尾。

    description

    String

    模板描述。长度为[0,255],中文算多个字符,不能包含<>()#%&/字符。

    origin_template_url

    String

    源模板的URL。通过URL上传模板场景需要。包类型必须为“zip/tar.gz/tgz”,包名需要满足正则表达式^[A-Za-z0-9][A-Za-z0-9_-]{0,254}$。

    scope

    String

    模板使用范围。默认值为“domain",且只支持domain。

    vendor

    String

    模板提供者。长度为[0,64],中文算单个字符,不能包含<>()#%&/字符。

    version

    String

    模板版本。长度为[0,24],满足正则表达式^[a-zA-Z0-9_]+([-.][a-zA-Z0-9]+)*$。

    main_file_name

    String

    模板主文件名称,为空的时候默认为blueprint.yaml。长度[0,255],如果非空,文件扩展名必须为.yaml,文件名满足正则表达式^[a-zA-Z0-9_]+([-.][a-zA-Z0-9]+)*$。

    project_id

    String

    模板上传时带有的项目ID

    filename

    String

    模板压缩包文件名称,在使用IE浏览器时需要指定。长度为[0,64]。

    dsl_version

    String

    当非空时,上传的模板DSL版本必须与指定的一致,否则模板上传将不成功。模板DSL版本,只支持cloud_tosca_version_1_0,默认为空。

    content_type

    String

    模板文件类型。可设置为yaml、json、file。

    两种模板上传场景不可混用,会导致报错。

    表3 请求消息头

    参数

    是否必选

    参数类型

    描述

    Content-Type

    String

    该字段内容填为“multipart/form-data”。

    X-Auth-Token

    String

    有效的token(具有op_cred权限的用户token,短期有效)。在租户侧必选。

    后续的AOS API所含Http头在只传参数(使用json格式)的情况下,Content-Type应为Application/json。其余字段若无特殊说明,则与此表格一致。

  • 请求示例
    curl -k -X POST -H "X-Auth-Token: $token" -H "Content-Type:multipart/form-data" -F 'resource={"name": "test-agent-11","description":"aos","version": "1.0.1"}' -F "archive_content=@test-agent-1-1.0.tar.gz" https://aos.ae-ad-1.myhuaweicloud.com/v2/templates

响应消息

  • 请求成功的响应消息
    • 响应参数
      表4 成功响应参数

      参数

      参数类型

      描述

      id

      String

      模板ID

    • 响应示例
      {
          "id": "d078e49c-124c-7706-bcbb-81885661f431"
      }
  • 请求失败的响应消息
    • 响应参数
      表5 失败响应参数

      参数

      参数类型

      描述

      message

      String

      请求失败的详细原因

      code

      String

      请求失败的原因代码

      extend

      String

      请求失败的扩展原因,保留后续使用

      若无特殊说明,后续AOS API的错误返回均为此形式。

    • 响应示例
      {
          "message": "Parameters validate err, The name should not be empty.",
          "code": "02000005",
          "extend": ""
      }

状态码

  • 正常
    表6 状态码

    状态码

    描述

    201

    模板创建成功。

  • 异常
    表7 状态码

    状态码

    描述

    400

    请求参数有误,当前请求无法被服务器解析。除非进行修改,否则客户端不应重复提交这个请求。

    409

    因与被请求的资源当前状态之间存在冲突,请求无法完成。

    500

    服务器遇到了一个未曾预料的状况,导致无法完成对请求的处理。