更新时间:2021-11-25 GMT+08:00
分享

创建应用

功能介绍

创建一个应用,应用会自动安装到选择的云服务器上。

创建应用时,应用安装包区域需在当前集群区域范围内,若为VR应用或非预装的3D应用,需至少选择一个区域的安装包,选择了安装包的区域才能配置该区域的云服务器。预装的3D应用配置云服务器时无安装包区域限制。

一个用户最多创建500个应用。

URI

POST /v2/cvr/applications

该接口需要使用global终端节点调用。

请求参数

表1 请求参数

参数

是否必选

参数类型

描述

application

Object

应用信息,详情请参见表2

表2 application字段数据结构说明

参数

是否必选

参数类型

描述

name

String

应用名称。

取值范围:

  • 只能由中文字符、英文大小写字母、数字及“_”、“-”、“.”组成,且长度为1到64个字符。
  • 应用名称唯一,不允许重名。

type

String

应用类型。

  • vr:表示VR应用。
  • 3d:表示3D应用。

默认VR应用。

session_hold_time

Integer

会话保持时间,单位分钟(min)。

设备断开连接后,会话仍处于正常状态,直到超过会话保持时间。

取值范围:

  • -1,1到30。
  • -1表示会话一直保持。

默认会话保持时间3分钟。

launch_path

String

应用启动路径。

取值范围:

  • 长度范围1到200个字符。
  • 作为相对路径时,只允许输入中文字符、英文大小写字母、数字、空格及“_”、“-”、“.“、“/”。
  • 作为绝对路径时,必须以“A-Z:/”开头,且同样只允许输入中文字符、英文大小写字母、数字、空格及“_”、“-”、“.“、“/”。

约束:

  • VR应用不需传此参数,3D应用该参数必选。
  • 若为镜像预装的3D应用,需输入绝对路径。其余情况需输入相对路径。

description

String

应用描述。

取值范围:

  • 长度范围1到490个字符。
  • 不允许输入特殊字符@#$%^&*<>\

package_list

Array of objects

应用安装包列表,详情请参见表3

约束:

  • 对于预装的3D应用,不需传此参数。对于VR应用和非预装的3D应用,该参数必选。
  • 对于VR应用和非预装的3D应用,需至少选择一个区域的安装包,请先在OBS桶中上传相关安装包,具体操作请参见VR内容上云
  • 安装包区域需在当前集群区域范围内,同一区域不能选择多个安装包。
  • 对于VR应用和非预装的3D应用,选择了安装包的区域才能配置该区域的云服务器。

policy

Object

策略规则,详情请参见表4

  • 黑名单:未加入黑名单的设备都可以连接该应用。
  • 白名单:只有加入白名单的设备才可以连接该应用。

默认黑名单。

existed_servers

Array of objects

应用需要部署的云服务器信息列表,详情请参见表5

表3 package字段数据结构说明

参数

是否必选

参数类型

描述

bucket_name

String

安装包所在OBS桶名称。

示例:cloudvr

package_name

String

安装包名称。

示例:cvrapp.zip

bucket_region

String

OBS桶所在区域。

示例:cn-north-4

表4 policy字段数据结构说明

参数

是否必选

参数类型

描述

type

String

规则类型。

  • black_list:表示黑名单。
  • white_list:表示白名单。

默认黑名单。

devices

Array of strings

白名单或黑名单中的设备ID列表。

约束:

  • 最多500个设备。
  • 设备ID长度为1到40个字符,允许输入英文大小写,数字和特殊符号“-”“_”
表5 existed_server字段数据结构说明

参数

是否必选

参数类型

描述

server_id

String

云服务器ID。

响应参数

  • 状态码为200时
    表6 响应Body参数

    参数

    参数类型

    描述

    application

    Object

    应用信息,详情请参见表7

    表7 application字段数据结构说明

    参数

    参数类型

    描述

    id

    String

    应用ID。

    应用的唯一标识,格式为UUID。

    name

    String

    应用名称。

    session_hold_time

    Integer

    会话保持时间,单位分钟(min)。

    若该值为-1,表示会话一直保持。

    type

    String

    应用类型。

    应用类型枚举值:

    • vr:表示VR应用。
    • 3d:表示3D应用。

    launch_path

    String

    应用启动路径。

    create_time

    String

    应用创建时间。

    时间格式例如:2020-05-20T03:30:52Z

    status

    String

    应用状态。

    应用状态枚举值:
    • active:正常
    • creating:创建中
    • create_failed:创建失败
    • updating:修改中
    • update_failed:修改失败
    • deleting:删除中
    • delete_failed:删除失败
    • adding:添加中(添加云服务器)
    • add_failed:添加失败
    • repairing:修复中
    • repair_failed:修复失败

    description

    String

    应用描述。

    icon_name

    String

    应用的图标名称。

    cluster_id

    String

    集群ID 。

    应用所属集群的唯一标识,格式为UUID。

    policy_type

    String

    设备连接策略规则(黑、白名单)。

    • black_list:表示黑名单。
    • white_list:表示白名单。

    package_list

    Array of objects

    应用的安装包信息列表,详情请参见表8

    表8 package字段数据结构说明

    参数

    参数类型

    描述

    bucket_name

    String

    安装包所在OBS桶名称。

    示例:cloudvr

    package_name

    String

    安装包名称。

    示例:cvrapp.zip

    package_size

    String

    安装包大小。

    示例:100MB

    bucket_region

    String

    OBS桶所在区域。

    示例:cn-north-4

  • 状态码为400时
    表9 响应Body参数

    参数

    参数类型

    描述

    error_code

    String

    返回的错误码,如CVR.0001。

    error_msg

    String

    错误的英文描述。

请求示例

  • 请求URL示例
    POST https://{endpoint}/v2/cvr/applications
  • 请求示例

    创建应用,选择上海一和北京四的安装包,使用北京四区域的已有云服务器。

    {
        "application": {
            "name": "test",
            "description": "1234",
            "type": "vr",
            "session_hold_time": 3,
            "policy": {
                "type": "black_list",
                "devices": [
                    "111111111"
                ]
            },
            "package_list": [
                {
                    "bucket_name": "cvr1",
                    "package_name": "1.zip",
                    "bucket_region": "cn-north-4"
                },
                {
                    "bucket_name": "cvr2",
                    "package_name": "2.zip",
                    "bucket_region": "cn-east-3"
                }
            ],
            "existed_servers": [
                {
                    "server_id": "a4a4ae15-c7eb-40b5-9d0e-7f611404e112"
                },
                {
                    "server_id": "efd3ae15-c7eb-40b5-9d0e-7f611404e111"
                },
    
            ]
        }
    }

响应示例

  • 状态码为200时
    { 
        "application": { 
            "id": "fe8e97a0-4350-11eb-8bb9-fa1640a9b002",
            "name": "test",	
            "type": "vr",
            "session_hold_time": 3,
            "launch_path": "",
            "create_time": "2020-12-21T05:54:31Z",
            "status": "active",		
            "description": "1234",
            "icon_name": "image_default.png",
            "policy_type": "black_list",
            "cluster_id": "50adbf76-412a-11eb-821b-fa1640a9b002",
            "package_list": [
                {
    	        "bucket_name": "cvr1",
    	        "package_name": "1.zip",
                    "package_size": "324.83MB",
                    "bucket_region": "cn-north-4"
                }, {
    	        "bucket_name": "cvr2",
    	        "package_name": "2.zip",
                    "package_size": "324.83MB",
    	        "bucket_region": "cn-east-3"
    	    }
            ]
        }
    }
  • 状态码为400时
    { 
      "error_code" : "string", 
      "error_msg" : "string" 
    }

状态码

请参见状态码

错误码

请参见错误码

相关文档