更新时间:2024-06-28 GMT+08:00

创建环境

功能介绍

该接口用于创建环境。

调用方法

请参见如何调用API

URI

POST /v1/environments

请求参数

表1 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

从IAM服务获取的用户Token。

Content-Type

String

指定类型为application/json,有Body体的情况下必选,没有Body体则无需填写和校验。

表2 请求Body参数

参数

是否必选

参数类型

描述

component_id

String

环境关联组件id;id长度不能超过36位,由大小写字母、数字组成。创建环境必传,修改环境时非必选

description

String

描述

env_name

String

环境名称

env_type

String

环境类型,取值:DEV、TEST、PRE、ONLINE,不区分大小写

os_type

String

OS类型,取值:LINUX、WINDOWS。创建环境必传,不可修改

region

String

环境关联region。创建环境必传,不可修改

register_type

String

注册类型,取值:API、SERVICE_DISCOVERY、CONSOLE,默认值:API

响应参数

状态码: 200

表3 响应Body参数

参数

参数类型

描述

id

String

对象id

状态码: 400

表4 响应Body参数

参数

参数类型

描述

error_code

String

AOM.30005001

error_msg

String

参数错误

状态码: 403

表5 响应Body参数

参数

参数类型

描述

error_code

String

AOM.30001005

error_msg

String

没有权限

请求示例

创建环境

https://{Endpoint}/v1/environments

{
  "component_id" : "28c600be47374b9697404b0f58263d1c",
  "description" : "环境描述",
  "env_name" : "environment1",
  "env_type" : "DEV",
  "os_type" : "LINUX",
  "region" : "xxx",
  "register_type" : "API"
}

响应示例

状态码: 200

环境Id

{
  "id" : "530312e8bd7c4674b0af6d4beb2e23c6"
}

SDK代码示例

SDK代码示例如下。

创建环境

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
package com.huaweicloud.sdk.test;

import com.huaweicloud.sdk.core.auth.ICredential;
import com.huaweicloud.sdk.core.auth.BasicCredentials;
import com.huaweicloud.sdk.core.exception.ConnectionException;
import com.huaweicloud.sdk.core.exception.RequestTimeoutException;
import com.huaweicloud.sdk.core.exception.ServiceResponseException;
import com.huaweicloud.sdk.aom.v3.region.AomRegion;
import com.huaweicloud.sdk.aom.v3.*;
import com.huaweicloud.sdk.aom.v3.model.*;


public class CreateEnvSolution {

    public static void main(String[] args) {
        // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
        // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
        String ak = System.getenv("CLOUD_SDK_AK");
        String sk = System.getenv("CLOUD_SDK_SK");

        ICredential auth = new BasicCredentials()
                .withAk(ak)
                .withSk(sk);

        AomClient client = AomClient.newBuilder()
                .withCredential(auth)
                .withRegion(AomRegion.valueOf("<YOUR REGION>"))
                .build();
        CreateEnvRequest request = new CreateEnvRequest();
        EnvParam body = new EnvParam();
        body.withRegisterType("API");
        body.withRegion("xxx");
        body.withOsType("LINUX");
        body.withEnvType("DEV");
        body.withEnvName("environment1");
        body.withDescription("环境描述");
        body.withComponentId("28c600be47374b9697404b0f58263d1c");
        request.withBody(body);
        try {
            CreateEnvResponse response = client.createEnv(request);
            System.out.println(response.toString());
        } catch (ConnectionException e) {
            e.printStackTrace();
        } catch (RequestTimeoutException e) {
            e.printStackTrace();
        } catch (ServiceResponseException e) {
            e.printStackTrace();
            System.out.println(e.getHttpStatusCode());
            System.out.println(e.getRequestId());
            System.out.println(e.getErrorCode());
            System.out.println(e.getErrorMsg());
        }
    }
}

创建环境

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# coding: utf-8

import os
from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkaom.v3.region.aom_region import AomRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkaom.v3 import *

if __name__ == "__main__":
    # The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    # In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak = os.environ["CLOUD_SDK_AK"]
    sk = os.environ["CLOUD_SDK_SK"]

    credentials = BasicCredentials(ak, sk)

    client = AomClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(AomRegion.value_of("<YOUR REGION>")) \
        .build()

    try:
        request = CreateEnvRequest()
        request.body = EnvParam(
            register_type="API",
            region="xxx",
            os_type="LINUX",
            env_type="DEV",
            env_name="environment1",
            description="环境描述",
            component_id="28c600be47374b9697404b0f58263d1c"
        )
        response = client.create_env(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

创建环境

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    aom "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aom/v3"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aom/v3/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aom/v3/region"
)

func main() {
    // The AK and SK used for authentication are hard-coded or stored in plaintext, which has great security risks. It is recommended that the AK and SK be stored in ciphertext in configuration files or environment variables and decrypted during use to ensure security.
    // In this example, AK and SK are stored in environment variables for authentication. Before running this example, set environment variables CLOUD_SDK_AK and CLOUD_SDK_SK in the local environment
    ak := os.Getenv("CLOUD_SDK_AK")
    sk := os.Getenv("CLOUD_SDK_SK")

    auth := basic.NewCredentialsBuilder().
        WithAk(ak).
        WithSk(sk).
        Build()

    client := aom.NewAomClient(
        aom.AomClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.CreateEnvRequest{}
	registerTypeEnvParam:= "API"
	regionEnvParam:= "xxx"
	descriptionEnvParam:= "环境描述"
	request.Body = &model.EnvParam{
		RegisterType: &registerTypeEnvParam,
		Region: &regionEnvParam,
		OsType: "LINUX",
		EnvType: "DEV",
		EnvName: "environment1",
		Description: &descriptionEnvParam,
		ComponentId: "28c600be47374b9697404b0f58263d1c",
	}
	response, err := client.CreateEnv(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多编程语言的SDK代码示例,请参见API Explorer的代码示例页签,可生成自动对应的SDK代码示例。

状态码

状态码

描述

200

环境Id

400

参数异常

403

没有权限

错误码

请参见错误码