更新时间:2024-03-29 GMT+08:00
分享

查询资源实例

功能介绍

查询资源实例

调用方法

请参见如何调用API

URI

POST /v3/{domain_id}/ccaas/{resource_type}/resource-instances/action

表1 路径参数

参数

是否必选

参数类型

描述

domain_id

String

账号ID。

最小长度:10

最大长度:32

resource_type

String

资源类型:

  • cloud-connection: 云连接
  • bandwidth-package: 带宽包

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token

最小长度:0

最大长度:102400

表3 请求Body参数

参数

是否必选

参数类型

描述

action

String

动作。|- filter:过滤。 count:查询总条数。

limit

Integer

查询结果数量限制

最小值:1

最大值:1000.0

offset

Integer

查询结果偏移

最小值:0

最大值:999

tags

Array of AggTag objects

是否包含以下tag(多个key取"与"关系,多个value取"或"关系)

数组长度:0 - 50

matches

Array of Tag objects

是否匹配以下tag,key必须为"resource_name",value如果有值则模糊匹配,如果为空字符串则精确匹配

数组长度:0 - 50

表4 AggTag

参数

是否必选

参数类型

描述

key

String

最小长度:1

最大长度:128

values

Array of strings

相同键的值列表

最小长度:0

最大长度:255

数组长度:1 - 10

表5 Tag

参数

是否必选

参数类型

描述

key

String

最小长度:1

最大长度:128

value

String

最小长度:0

最大长度:255

响应参数

状态码: 200

表6 响应Body参数

参数

参数类型

描述

resources

Array of FilterTagResource objects

资源实例实例列表。

数组长度:0 - 2000

request_id

String

请求ID。

最小长度:0

最大长度:36

total_count

Integer

符合过滤条件的资源总数量。

最小值:0

最大值:2000.0

表7 FilterTagResource

参数

参数类型

描述

resource_id

String

资源ID

最小长度:0

最大长度:36

resource_name

String

资源名称

最小长度:0

最大长度:64

resource_detail

String

资源详情

最小长度:0

最大长度:255

tags

Array of Tag objects

资源下包含的标签

数组长度:0 - 20

表8 Tag

参数

参数类型

描述

key

String

最小长度:1

最大长度:128

value

String

最小长度:0

最大长度:255

请求示例

  • 根据指定筛选条件查询资源例详情
    POST https://{cc_endpoint}/v3/{domain_id}/ccaas/{resource_type}/resource-instances/action
    
    {
      "offset" : "0",
      "limit" : "100",
      "action" : "filter",
      "matches" : [ {
        "key" : "resource_name",
        "value" : "resource1"
      } ],
      "tags" : [ {
        "key" : "key1",
        "values" : [ "value1", "value2" ]
      } ]
    }
  • 根据指定筛选条件查询资源实例数量
    POST https://{cc_endpoint}/v3/{domain_id}/ccaas/cloud-connection/resource-instances/action
    
    {
      "action" : "count",
      "tags" : [ {
        "key" : "key1",
        "values" : [ "value1", "value2" ]
      }, {
        "key" : "key2",
        "values" : [ "value1", "value2" ]
      } ],
      "matches" : [ {
        "key" : "resource_name",
        "value" : "resource1"
      } ]
    }

响应示例

状态码: 200

查询资源实例成功

{
  "resources" : [ {
    "resource_id" : "cdfs_cefs_wesas_12_dsad",
    "resource_name" : "resouece1",
    "tags" : [ {
      "key" : "key1",
      "value" : "value1"
    }, {
      "key" : "key2",
      "value" : "value1"
    } ]
  } ],
  "request_id" : "XXX",
  "total_count" : 1000
}

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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    package com.huaweicloud.sdk.test;
    
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.GlobalCredentials;
    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.cc.v2.region.CcRegion;
    import com.huaweicloud.sdk.cc.v2.*;
    import com.huaweicloud.sdk.cc.v2.model.*;
    
    import java.util.List;
    import java.util.ArrayList;
    
    public class ListResourceByFilterTagSolution {
    
        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 GlobalCredentials()
                    .withAk(ak)
                    .withSk(sk);
    
            CcClient client = CcClient.newBuilder()
                    .withCredential(auth)
                    .withRegion(CcRegion.valueOf("<YOUR REGION>"))
                    .build();
            ListResourceByFilterTagRequest request = new ListResourceByFilterTagRequest();
            ListResourceByFilterTagRequestBody body = new ListResourceByFilterTagRequestBody();
            List<Tag> listbodyMatches = new ArrayList<>();
            listbodyMatches.add(
                new Tag()
                    .withKey("resource_name")
                    .withValue("resource1")
            );
            List<String> listTagsValues = new ArrayList<>();
            listTagsValues.add("value1");
            listTagsValues.add("value2");
            List<AggTag> listbodyTags = new ArrayList<>();
            listbodyTags.add(
                new AggTag()
                    .withKey("key1")
                    .withValues(listTagsValues)
            );
            body.withMatches(listbodyMatches);
            body.withTags(listbodyTags);
            body.withOffset(0);
            body.withLimit(100);
            body.withAction(ListResourceByFilterTagRequestBody.ActionEnum.fromValue("filter"));
            request.withBody(body);
            try {
                ListResourceByFilterTagResponse response = client.listResourceByFilterTag(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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    package com.huaweicloud.sdk.test;
    
    import com.huaweicloud.sdk.core.auth.ICredential;
    import com.huaweicloud.sdk.core.auth.GlobalCredentials;
    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.cc.v2.region.CcRegion;
    import com.huaweicloud.sdk.cc.v2.*;
    import com.huaweicloud.sdk.cc.v2.model.*;
    
    import java.util.List;
    import java.util.ArrayList;
    
    public class ListResourceByFilterTagSolution {
    
        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 GlobalCredentials()
                    .withAk(ak)
                    .withSk(sk);
    
            CcClient client = CcClient.newBuilder()
                    .withCredential(auth)
                    .withRegion(CcRegion.valueOf("<YOUR REGION>"))
                    .build();
            ListResourceByFilterTagRequest request = new ListResourceByFilterTagRequest();
            ListResourceByFilterTagRequestBody body = new ListResourceByFilterTagRequestBody();
            List<Tag> listbodyMatches = new ArrayList<>();
            listbodyMatches.add(
                new Tag()
                    .withKey("resource_name")
                    .withValue("resource1")
            );
            List<String> listTagsValues = new ArrayList<>();
            listTagsValues.add("value1");
            listTagsValues.add("value2");
            List<String> listTagsValues1 = new ArrayList<>();
            listTagsValues1.add("value1");
            listTagsValues1.add("value2");
            List<AggTag> listbodyTags = new ArrayList<>();
            listbodyTags.add(
                new AggTag()
                    .withKey("key1")
                    .withValues(listTagsValues1)
            );
            listbodyTags.add(
                new AggTag()
                    .withKey("key2")
                    .withValues(listTagsValues)
            );
            body.withMatches(listbodyMatches);
            body.withTags(listbodyTags);
            body.withAction(ListResourceByFilterTagRequestBody.ActionEnum.fromValue("count"));
            request.withBody(body);
            try {
                ListResourceByFilterTagResponse response = client.listResourceByFilterTag(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
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    # coding: utf-8
    
    from huaweicloudsdkcore.auth.credentials import GlobalCredentials
    from huaweicloudsdkcc.v2.region.cc_region import CcRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkcc.v2 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 = __import__('os').getenv("CLOUD_SDK_AK")
        sk = __import__('os').getenv("CLOUD_SDK_SK")
    
        credentials = GlobalCredentials(ak, sk) \
    
        client = CcClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(CcRegion.value_of("<YOUR REGION>")) \
            .build()
    
        try:
            request = ListResourceByFilterTagRequest()
            listMatchesbody = [
                Tag(
                    key="resource_name",
                    value="resource1"
                )
            ]
            listValuesTags = [
                "value1",
                "value2"
            ]
            listTagsbody = [
                AggTag(
                    key="key1",
                    values=listValuesTags
                )
            ]
            request.body = ListResourceByFilterTagRequestBody(
                matches=listMatchesbody,
                tags=listTagsbody,
                offset=0,
                limit=100,
                action="filter"
            )
            response = client.list_resource_by_filter_tag(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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    # coding: utf-8
    
    from huaweicloudsdkcore.auth.credentials import GlobalCredentials
    from huaweicloudsdkcc.v2.region.cc_region import CcRegion
    from huaweicloudsdkcore.exceptions import exceptions
    from huaweicloudsdkcc.v2 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 = __import__('os').getenv("CLOUD_SDK_AK")
        sk = __import__('os').getenv("CLOUD_SDK_SK")
    
        credentials = GlobalCredentials(ak, sk) \
    
        client = CcClient.new_builder() \
            .with_credentials(credentials) \
            .with_region(CcRegion.value_of("<YOUR REGION>")) \
            .build()
    
        try:
            request = ListResourceByFilterTagRequest()
            listMatchesbody = [
                Tag(
                    key="resource_name",
                    value="resource1"
                )
            ]
            listValuesTags = [
                "value1",
                "value2"
            ]
            listValuesTags1 = [
                "value1",
                "value2"
            ]
            listTagsbody = [
                AggTag(
                    key="key1",
                    values=listValuesTags1
                ),
                AggTag(
                    key="key2",
                    values=listValuesTags
                )
            ]
            request.body = ListResourceByFilterTagRequestBody(
                matches=listMatchesbody,
                tags=listTagsbody,
                action="count"
            )
            response = client.list_resource_by_filter_tag(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
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    package main
    
    import (
    	"fmt"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global"
        cc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cc/v2"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cc/v2/model"
        region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cc/v2/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 := global.NewCredentialsBuilder().
            WithAk(ak).
            WithSk(sk).
            Build()
    
        client := cc.NewCcClient(
            cc.CcClientBuilder().
                WithRegion(region.ValueOf("<YOUR REGION>")).
                WithCredential(auth).
                Build())
    
        request := &model.ListResourceByFilterTagRequest{}
    	keyMatches:= "resource_name"
    	valueMatches:= "resource1"
    	var listMatchesbody = []model.Tag{
            {
                Key: &keyMatches,
                Value: &valueMatches,
            },
        }
    	var listValuesTags = []string{
            "value1",
    	    "value2",
        }
    	keyTags:= "key1"
    	var listTagsbody = []model.AggTag{
            {
                Key: &keyTags,
                Values: &listValuesTags,
            },
        }
    	offsetListResourceByFilterTagRequestBody:= int32(0)
    	limitListResourceByFilterTagRequestBody:= int32(100)
    	actionListResourceByFilterTagRequestBody:= model.GetListResourceByFilterTagRequestBodyActionEnum().FILTER
    	request.Body = &model.ListResourceByFilterTagRequestBody{
    		Matches: &listMatchesbody,
    		Tags: &listTagsbody,
    		Offset: &offsetListResourceByFilterTagRequestBody,
    		Limit: &limitListResourceByFilterTagRequestBody,
    		Action: &actionListResourceByFilterTagRequestBody,
    	}
    	response, err := client.ListResourceByFilterTag(request)
    	if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }
    
  • 根据指定筛选条件查询资源实例数量
     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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    package main
    
    import (
    	"fmt"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/global"
        cc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cc/v2"
    	"github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cc/v2/model"
        region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/cc/v2/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 := global.NewCredentialsBuilder().
            WithAk(ak).
            WithSk(sk).
            Build()
    
        client := cc.NewCcClient(
            cc.CcClientBuilder().
                WithRegion(region.ValueOf("<YOUR REGION>")).
                WithCredential(auth).
                Build())
    
        request := &model.ListResourceByFilterTagRequest{}
    	keyMatches:= "resource_name"
    	valueMatches:= "resource1"
    	var listMatchesbody = []model.Tag{
            {
                Key: &keyMatches,
                Value: &valueMatches,
            },
        }
    	var listValuesTags = []string{
            "value1",
    	    "value2",
        }
    	var listValuesTags1 = []string{
            "value1",
    	    "value2",
        }
    	keyTags:= "key1"
    	keyTags1:= "key2"
    	var listTagsbody = []model.AggTag{
            {
                Key: &keyTags,
                Values: &listValuesTags1,
            },
            {
                Key: &keyTags1,
                Values: &listValuesTags,
            },
        }
    	actionListResourceByFilterTagRequestBody:= model.GetListResourceByFilterTagRequestBodyActionEnum().COUNT
    	request.Body = &model.ListResourceByFilterTagRequestBody{
    		Matches: &listMatchesbody,
    		Tags: &listTagsbody,
    		Action: &actionListResourceByFilterTagRequestBody,
    	}
    	response, err := client.ListResourceByFilterTag(request)
    	if err == nil {
            fmt.Printf("%+v\n", response)
        } else {
            fmt.Println(err)
        }
    }
    

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

状态码

状态码

描述

200

查询资源实例成功

错误码

请参见错误码

分享:

    相关文档

    相关产品