更新时间:2024-01-23 GMT+08:00
分享

获取CBH实例列表

功能介绍

获取当前租户下的云堡垒机实例列表。

调用方法

请参见如何调用API

URI

GET /v1/{project_id}/cbs/instance/list

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。获取方法详见API参考,附录获取项目ID

请求参数

响应参数

状态码: 200

表2 响应Body参数

参数

参数类型

描述

total

Integer

云堡垒机实例总数。

quotaDetail

QuotaDetail object

当前用户云堡垒机的配额信息。返回默认值null。

instance

Array of InstanceDetail objects

云堡垒机实例列表信息。

表3 QuotaDetail

参数

参数类型

描述

zh_cn

String

中文配额描述。

en_us

String

英文配额描述。

remaining

Integer

租户剩余配额数量。

表4 InstanceDetail

参数

参数类型

描述

publicip

String

云堡垒机实例弹性公网IP,返回默认值null

expTime

String

云堡垒机实例过期时间。

startTime

String

云堡垒机实例开始时间,使用时间戳格式表示。

endTime

String

云堡垒机实例结束时间,使用时间戳格式表示。

releaseTime

String

云堡垒机释放时间,使用时间戳格式表示。

name

String

云堡垒机实例名称。

instanceId

String

云堡垒机实例ID,UUID格式。

privateIp

String

云堡垒机实例私有ip。

taskStatus

String

云堡垒机实例当前的任务状态。

  • powering-on 开启

  • powering-off 关闭

  • rebooting 重启

  • delete_wait 删除

  • frozen 冻结

  • NO_TASK 运行

  • unfrozen 解冻

  • alter 变更

  • updating 升级中

  • configuring-ha 配置HA

status

String

云堡垒机实例状态。

  • SHUTOFF 已关闭

  • ACTIVE 运行中

  • DELETING 删除中

  • BUILD 创建中

  • DELETED 已删除

  • ERROR 故障

  • HAWAIT 等待备机创建成功

  • FROZEN 已冻结

  • UPGRADING 升级中

  • UNPAID 待支付

  • RESIZE 规格变更中

  • DILATATION 扩容中

  • HA 配置HA中

created

String

云堡垒机实例创建时间,使用UTC时间表示。

region

String

云堡垒机实例所在局点。

zone

String

云堡垒机实例所在可用区。

availability_zone_display

String

云堡垒机实例所在可用区中文名称。

vpcId

String

云堡垒机实例所在虚拟私有云的VPC ID。

subnetId

String

云堡垒机实例所在子网的ID。

securityGroupId

String

云堡垒机实例所属的安全组的ID。

specification

String

云堡垒机实例规格。

update

String

云堡垒机实例是否可以升级。

  • NEW,可以升级

  • OLD,不能升级

createinstanceStatus

String

云堡垒机实例在创建实例过程中的过程状态信息。

  • Waiting for payment,等待支付

  • creating-network,创建网络

  • creating-server,创建服务

  • tranfering-horizontal-network,网络打通

  • adding-policy-route,添加路由策略

  • configing-dns,配置DNS

  • starting-cbs-service,服务运行中

  • setting-init-conf,初始化

  • buying-EIP,购买弹性公网IP

failReason

String

云堡垒机实例创建实例失败原因。

instanceKey

String

云堡垒机实例key。

orderId

String

订单ID。

periodNum

String

云堡垒机实例订购周期数。

resourceId

String

云堡垒机实例的资源id,UUID格式显示。

bastion_type

String

云堡垒机实例堡垒机类型。

  • OEM

alterPermit

String

云堡垒机实例是否可以扩容。

  • 1 开启扩容

  • 0 关闭扩容

publicId

String

云堡垒机实例绑定公网的弹性IP的ID,UUID格式表示。

bastionVersion

String

云堡垒机实例当前版本。

newBastionVersion

String

云堡垒机实例可以升级的版本。

instanceStatus

String

云堡垒机实例状态。

  • building 创建中

  • deleting 删除中

  • deleted 删除了

  • unpaid 未支付

  • upgrading 升级中

  • resizing 扩容中

  • abnormal 异常

  • error 故障

  • ok 正常

instanceDescription

String

云堡垒机实例状态描述。

slaveZone

String

备可用分区,默认返回null。

enterpriseProjectId

String

云堡垒机实例所属企业项目ID。

instanceType

String

云堡垒机实例类型。

  • null 单机默认返回null

  • master HA时返回主机

  • slave HA时返回备机

haId

String

云堡垒机实例主备ID。

  • 单机堡垒机实例默认返回null

  • HA堡垒机实例返回主机HAID

slaveZoneDisplay

String

云堡垒机实例备机可用分区名称。 单机堡垒机实例和备机堡垒机实例返回null,HA堡垒机实例主机返回备机所在可用区名称。

webPort

String

云堡垒机实例WEB界面访问的端口号。

vip

String

云堡垒机实例浮动ip。返回默认值null

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_description

String

请求参数错误。

状态码: 401

表6 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_description

String

校验TOKEN失败。

状态码: 403

表7 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_description

String

租户无权限操作。

状态码: 404

表8 响应Body参数

参数

参数类型

描述

error_code

String

错误码

error_description

String

没有找到CBH资源。

请求示例

响应示例

状态码: 200

查询云堡垒机实例列表信息成功。

{
  "total" : 1,
  "quotaDetail" : "null",
  "instance" : [ {
    "publicip" : "null",
    "expTime" : "14",
    "startTime" : "1669911490000",
    "endTime" : "1672675199000",
    "releaseTime" : "1675267199000",
    "name" : "CBH-8a80",
    "instanceId" : "f7854c8d-9bbc-4970-8b7d-6ed8280f6bfe",
    "privateIp" : "192.168.0.67",
    "status" : "SHUTOFF",
    "taskStatus" : "NO_TASK",
    "created" : "2022-12-02 00:04:42.0",
    "region" : "cn-north-4",
    "zone" : "cn-north-4c",
    "availability_zone_display" : "可用区3",
    "vpcId" : "279e8217-4a8a-4d83-8fd9-b8f14d47170b",
    "subnetId" : "a86217e6-a96d-4803-ae5c-b57da6811249",
    "securityGroupId" : "c5564ac2-bdcf-4e45-b892-92c2ae79ecd9",
    "specification" : "cbh.basic.50",
    "update" : "OLD",
    "createinstanceStatus" : "starting-cbs-service",
    "failReason" : "No FailReason Now",
    "instanceKey" : "6771",
    "orderId" : "CS22120200031TOLA",
    "periodNum" : "1,2",
    "resourceId" : "01903dfb-11fc-4ae4-8bff-bca51d11ad92",
    "bastion_type" : "OEM",
    "publicId" : "",
    "alterPermit" : "1",
    "bastionVersion" : "3.3.41.0",
    "newBastionVersion" : "3.3.40.1",
    "instanceStatus" : "error",
    "instanceDescription" : "LoadBalance service error!,2022-12-19 17:14:30,{\"d_usage\":\"0.80\",\"m_usage\":\"30.04\",\"c_usage\":\"0.62\",\"session_count\":\"0\"",
    "webPort" : "443",
    "enterpriseProjectId" : "0",
    "vip" : null,
    "slaveZone" : null,
    "slaveZoneDisplay" : null,
    "haId" : null,
    "instanceType" : null
  } ]
}

SDK代码示例

SDK代码示例如下。

Java

 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
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.cbh.v1.region.CbhRegion;
import com.huaweicloud.sdk.cbh.v1.*;
import com.huaweicloud.sdk.cbh.v1.model.*;


public class ListCbhInstanceSolution {

    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);

        CbhClient client = CbhClient.newBuilder()
                .withCredential(auth)
                .withRegion(CbhRegion.valueOf("<YOUR REGION>"))
                .build();
        ListCbhInstanceRequest request = new ListCbhInstanceRequest();
        try {
            ListCbhInstanceResponse response = client.listCbhInstance(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());
        }
    }
}

Python

 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
# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcbh.v1.region.cbh_region import CbhRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcbh.v1 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.getenv("CLOUD_SDK_AK")
    sk = os.getenv("CLOUD_SDK_SK")

    credentials = BasicCredentials(ak, sk) \

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

    try:
        request = ListCbhInstanceRequest()
        response = client.list_cbh_instance(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

Go

 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
package main

import (
	"fmt"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic"
    cbh "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cbh/v1"
	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cbh/v1/model"
    region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cbh/v1/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 := cbh.NewCbhClient(
        cbh.CbhClientBuilder().
            WithRegion(region.ValueOf("<YOUR REGION>")).
            WithCredential(auth).
            Build())

    request := &model.ListCbhInstanceRequest{}
	response, err := client.ListCbhInstance(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多

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

状态码

状态码

描述

200

查询云堡垒机实例列表信息成功。

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

错误码

请参见错误码

分享:

    相关文档

    相关产品