示例1:创建IDE实例
前提条件
确定调用API的Endpoint,详细信息请参见终端节点。
创建IDE实例
- 检查实例名是否重复。
GET https://{endpoint}/v2/instances/duplicate?display_name=test
接口相关信息请参考查询IDE实例名是否重复。
- 确定待创建实例的技术栈。
GET https://{endpoint}/v2/stacks/tag
接口相关信息请参考按region获取标签所有技术栈。
查询所有技术栈,根据实际需要选择技术栈及其对应的规格(CPU、存储)。
{ "stack" : { "tags" : [ "Java", "Maven", "CPP", "Vue", "ServiceComb", "Blockchain", "GO", "Node.js", "DCN", "Quantum", "JavaScript", "Ruby", "Python" ], "stack_list" : [ { "id" : 1, "stack_id" : "all", "creator" : "ide", "name" : "All in One", "description" : "支持Java、Python、JS/TS等多种语言", "scope" : "general", "config" : { "recipe" : { "content" : "hishell-all-in-one:alpha", "type" : "dockerimage" }, "attributes" : { "specs" : [ "2U4G" ], "volumes" : [ "5GB", "10GB", "20GB" ] } }, "tags" : [ "Java", "Maven", "CPP", "JavaScript", "Vue", "GO", "Node.js", "Ruby", "Python", "ServiceComb" ], "disable" : false, "arm_config" : { "recipe" : { "content" : "hishell-all-in-one:alpha", "type" : "dockerimage" }, "attributes" : { "specs" : [ "4U8G" ], "volumes" : [ "5GB", "10GB", "20GB" ] } } } ] }, "status" : "success" }
- stack_id:技术栈id。
- config.attributes.specs:技术栈x86架构支持的内存。
- config.attributes.volumes:技术栈x86架构支持的存储容量。
- arm_config.attributes.specs:技术栈arm架构支持的内存。
- arm _config.attributes.volumes:技术栈arm架构支持的存储容量。
- 查询技术栈费用。
可以参考获取技术栈费用信息,为cpu内存和存储容量价格和。
- 确定技术栈模板工程。
GET https://{endpoint}/v2/templates?stack_id=all
接口相关信息参考查询技术栈模板工程,根据实际需求选择模板工程。
{ "templates" : [ { "template_id" : 5, "name" : "web-java-spring", "source" : { "location" : "git@codehub.alpha.devcloud.inhuawei.com:Demo00226/JavaWeb.git", "type" : "git", "parameters" : { } }, "display_name" : "web-java-spring", "path" : "/web-java-spring", "description" : "A basic example using Spring servlets. The app returns values entered into a submit form.", "project_type" : "maven", "region" : "cn-north-7", "tags" : [ "maven", "spring", "java", "web" ], "arch" : "x86,arm" } ], "status" : "success" }
其中,source.location为模板git仓地址。
- 创建IDE实例。
org_id:组织id(对应华为云账号的domainId)。
POST https://{endpoint}/v2/{org_id}/instances
{ "display_name" : "test", "stack_id" : "java", "description" : "", "cpu_memory" : "2U4G", "pvc_quantity" : "5GB", "refresh_interval" : 30 }
- display_name:实例名称。
- stack_id:技术栈id。
- cpu_memory:内存。
- pvc_quantity:存储容量。
- refresh_interval:实例生命周期。
响应如下,表示创建成功。
{ "result" : { "link" : "https://****/cloudide/loading?instanceId=mpdrao", "arch" : "x86", "id" : "mpdrao" }, "status" : "success" }
- id:实例id。
- link:实例访问地址。
访问接口返回的link地址,可以进入IDE实例。此处没有获取模板工程,如果要下载模板,可以指定模板git地址scmUrl。
https://****/cloudide/loading?scmName=test&scmUrl=git@***/JavaWeb.git&deleteRepoInfo=true&instanceId=mpdrao