文档首页> > API参考> API说明> 应用管理> 创建应用服务实例

创建应用服务实例

分享
更新时间: 2019/08/13 09:15

功能介绍

这个API用来创建应用服务的实例。

URI

POST /v1/{project_id}/apps/service_instances/{instance_id}?accepts_incomplete={true/false}

参数说明请参见表1

表1 参数说明

参数

类型

必选

说明

project_id

string

租户的project ID。

instance_id

string (UUID)

服务实例的唯一识别码, 应用的实例ID必须是在同一个region中唯一。

accepts_incomplete

Boolean

是否异步运行,取值“true” 或者“false” 。

缺省值为:true。

请求消息

请求参数

表2 请求参数说明

参数

类型

必选

说明

service_id

string

ServiceStage的服务ID,这个值在 ServiceStage 中是一个固定值。

例如:service_id=SRV238CASUFGHI09314A。

plan_id

string

ServiceStage的Plan ID,这个值在 ServiceStage 中是一个固定值。

例如:plan_id=cas-pay2go。

organization_guid

string

ServiceStage 的 Organization GUID,这个值在 ServiceStage 中是一个固定值。

目前此值未被用,缺省值organization_guid=abc_guid。

space_guid

string

ServiceStage 的Space GUID,这个值在 ServiceStage 中是一个固定值。

目前此值未被用,缺省值space_guid=abc_guid。

context

表3

应用 Context 的具体参数。

parameters

表4

应用实例的具体参数。

表3 context参数说明

参数

类型

必选

说明

order_id

string

Order ID,目前此值未被用,缺省值order_id=ord123。

表4 parameters参数说明

参数

类型

必选

说明

name

string

应用的名称。

取值包含数字、字母、中划线和下划线,且不能以中划线或者下划线开头或者结尾。

例如:myapp-test01

version

string

应用软件的发行版本号。

例如:1.0。

display_name

string

应用在管理界面上显示的名字。

例如:ACME online store。

type

string

应用环境的类型。

目前支持: Tomcat8,Php7,Nodejs8,Java8,Docker。

platform_type

string

平台提供应用运行的环境。应用可以在不同的平台上运行。

可选用的平台的类型有cce、cci、vmapp。

category

string

应用类别,例如:Webapp、Magento、WordPress、Mobile、ServiceComb、Mesher、SpringCloud、Tomcat、Php、NodeJs、Java、Docker。

listener_port

integer

应用实例使用的端口,比如:8080。

该参数仅对Web应用程序是必需的,容器应用程序不需要该参数。

description

string

应用实例的描述。

例如:what my app does。

size

表5

应用实例大小参数。

source

表6

应用来源。如软件包,代码源

extended_param

表10

扩展参数。

platforms

表11

应用依赖集成设施参数信息。

表5 size参数说明

参数

类型

必选

说明

id

string

应用实例的大小。

当前支持以下值:

  • MICRO-5G:0.5C:1G
  • SMALL-10G:1.0C:2G
  • STANDARD-30G:2.0C:4G
  • LARGE-50G:4.0C:8G
  • XLARGE-100G:4.0C:16G

该参数仅对Web应用程序是必需的,容器应用程序不需要该参数。

replica

integer

需要创建副本的数量。

表6 source参数说明

参数

类型

说明

kind

string

应用来源类别:取值范围:code,artifact。

spec

对应不同kind,有下面不同类型。

kind是code请参考表7

kind是artifact请参考表8

应用来源信息。

表7 code spec参数说明

参数

类型

必选

说明

repo_type

string

代码仓库类型。

DevCloud, GitHub, Gitee, Bitbucket, Gitlab

repo_url

string

代码仓库URL。

repo_namespace

string

仓库命名空间。

proj_branch

string

项目分支。

secu_token

string

安全令牌。

artifact_namespace

string

构建后归档的组织名称。

表8 app_name参数说明

参数

类型

说明

app_name

请参考表9

应用名称

表9 artifact spec参数说明

参数

类型

说明

storage

string

软件仓库,目前只支持swr。

type

string

软件包类别,image或者package。

url

string

软件包地址。

auth

string

认证模式。目前,支持IAM认证。

version

string

软件版本。

artifact_namespace

string

镜像仓库的组织名称。

表10 extended_param参数说明

参数

类型

必选

说明

enterprise_project_id

string

企业项目ID。

缺省值:0。

表11 platforms参数说明

参数

类型

必选

说明

vpc

表12

虚拟私有云(VPC)参数。

cce

表13

云容器引擎(CCE)参数。

platform_type选cce的时候必填。

elb

表14

弹性负载均衡(ELB)参数。

表12 vpc参数说明

参数

类型

必选

说明

id

string

虚拟私有云(VPC)的实例ID。

当提供id时,应用将集成现有的vpc。

parameters

Map[string]string

VPC子网参数,这里要包含下面的subnet和id。

"subnet": {

"id": "c7b42bf3-4c2f-4bf2-828d-35762c62b332"

}

表13 cce参数说明

参数

类型

必选

说明

id

string

云容器引擎(CCE)的集群实例ID。

parameters

Map[string]string

CCE命名空间,例如:"namespace": "default"。

表14 elb参数说明

参数

类型

必选

说明

id

string

弹性负载均衡(ELB)的实例ID。

当提供id时,应用将集成现有的elb。

parameters

Map[string]string

ELB参数。

请求示例

{
  "service_id": "SRV238CASUFGHI09314A",
  "plan_id": "cas-pay2go",
  "organization_guid": "abc_guid",
  "space_guid": "abc_guid",
  "context": {
    "order_id": "ord123"
  },
  "parameters": {
    "name": "myapptest01",
    "version": "1.0.0",
    "display_name": "ACME online store",
    "type": "Tomcat8",
    "platform_type": "cce",
    "category": "Webapp",
    "listener_port": 8080,
    "description": "What my app does ...",
    "size": {
      "id": "STANDARD-30G:2.0C:4G",
      "replica": 1
    },
    "extended_param": {
      "enterprise_project_id": 0
    },
    "source": {
        "kind": "artifact",
        "spec": {
            "app_name": {
                "storage": "swr",
                "type": "package",
                "url": "https://100.125.5.235:20202/swr/v2/domains/d1/namespaces/nodel02/repositories/repo/packages/jar/versions/3.0/file_paths/WebApp-0.0.1-SNAPSHOT.jar",
                "auth": "iam",
                "version": 3,
                "artifact_namespace": "default"
            }
        }
    },
    "platforms": {
      "cce": {
        "id": "7e1f8760-211b-11e9-98e4-0255ac101e1d",
        "parameters": {
          "namespace": "default"
        }
      },
      "elb": {
        "id": "0bf0247d-2321-4c4c-b770-55e34c8b5fb4"
      }
    }
  }
}

响应消息

响应参数

参数说明请参见表15

表15 响应参数说明

参数

类型

说明

instance_id

string

应用服务新创建的实例的 ID。

job_id

string

创建的实例Job ID。

message

string

应用创建的详细信息。

响应示例

{
    "instance_id" : "string",
    "job_id" : "string",
    "message" : "string"
}

状态码

状态码如表16所示。

表16 状态码说明

HTTP状态码

描述

200

操作成功。

401

认证不通过

500

内部服务错误。

错误码格式为:SVCSTG.CAS.[Status Code][Error_ID],例如:SVCSTG.CAS.5001000。错误码说明请参考应用管理错误码列表

如果您喜欢这篇文档,您还可以:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区