文档首页/ CodeArts IDE Online/ API参考/ 应用示例/ 示例1:创建IDE实例
更新时间:2024-02-02 GMT+08:00
分享

示例1:创建IDE实例

操作场景

本节指导用户通过API创建IDE实例。

API的调用方法请参见如何调用API,接口参数详情参考 创建IDE实例

前提条件

确定调用API的Endpoint,详细信息请参见终端节点

创建IDE实例

  1. 检查实例名是否重复。

    GET https://{endpoint}/v2/instances/duplicate?display_name=test

    接口相关信息请参考查询IDE实例名是否重复

  2. 确定待创建实例的技术栈。

    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架构支持的存储容量。
  3. 查询技术栈费用。

    可以参考获取技术栈费用信息,为cpu内存和存储容量价格和。

  4. 确定技术栈模板工程。

    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仓地址。

  5. 创建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

相关文档