Consulta de recursos por etiqueta
Función
Esta API se utiliza para consultar recursos como los gateway virtuales y las interfaces virtuales por etiqueta.
Método de invocación
Para obtener más información, consulte Invocación a las API.
URI
POST /v3/{project_id}/{resource_type}/resource-instances/action
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
project_id |
Sí |
String |
Especifica el ID del proyecto. |
resource_type |
Sí |
String |
Especifica el tipo de recurso de Direct Connect.
Valores de enumeración:
|
Parámetros de solicitud
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
offset |
No |
String |
Specifies the index position. The query starts from the next data record indexed by this parameter. You do not need to specify this parameter when you query resources on the first page. When you query resources on subsequent pages, set this parameter to the value returned in the response body for the previous query. Este parámetro no está disponible cuando action está establecida en count. Si action se establece en filter, el valor debe ser un número y el valor predeterminado es 0. El valor no puede ser un número negativo. |
limit |
No |
String |
Especifica el número de registros que se van a consultar. Este parámetro no está disponible cuando action está establecida en count. Si action se establece en filter, el valor predeterminado es 1000. El valor máximo es de 1000 y el valor mínimo de 1. El valor no puede ser un número negativo. |
action |
Sí |
String |
Especifica la operación que se va a realizar, que solo puede ser filter (filtrar) o count (consultar el número total). filter indica la consulta de paginación. count indica que se devolverá el número total de resultados de consulta que cumplan los criterios de búsqueda. No se permite devolver otros campos. Valores de enumeración:
|
matches |
No |
Array of Match objects |
Especifica el criterio de búsqueda. key es el campo que corresponde, por ejemplo, a resource_name. value indica el valor que se va a hacer coincidir. Este campo es un valor de diccionario fijo. Determine si la coincidencia difusa es necesaria en función de diferentes campos. Por ejemplo, si key es resource_name, se utiliza la búsqueda difusa (sin distinción entre mayúsculas y minúsculas) de forma predeterminada. Si value es una cadena vacía, se utiliza la coincidencia exacta. Si key es resource_id, se utiliza la coincidencia exacta. Actualmente, solo se admite resource_name. |
not_tags |
No |
Array of Tags objects |
Especifica las etiquetas que no se incluyen. Cada etiqueta contiene un máximo de 10 claves, y cada clave contiene un máximo de 10 valores. El cuerpo de la estructura no puede faltar y la clave no se puede dejar en blanco o establecer una string vacía. Las claves deben ser únicas y los valores de una clave deben ser únicos. Los recursos no identificados por diferentes claves están en relación AND, y los valores en una etiqueta están en relación OR. Si no se especifica ninguna condición de filtrado, se devuelven los datos completos. |
tags |
No |
Array of Tags objects |
Especifica las etiquetas que se incluyen. Cada etiqueta contiene un máximo de 10 claves, y cada clave contiene un máximo de 10 valores. El cuerpo de la estructura no puede faltar y la clave no se puede dejar en blanco o establecer una string vacía. Las claves deben ser únicas y los valores de una clave deben ser únicos. Los recursos identificados por diferentes claves están en relación AND, y los valores en una etiqueta están en relación OR. Si no se especifica ningún criterio de filtrado de etiquetas, se devuelven los datos completos. |
tags_any |
No |
Array of Tags objects |
Especifica cualquier etiqueta que se incluya. Cada etiqueta contiene un máximo de 10 claves, y cada clave contiene un máximo de 10 valores. El cuerpo de la estructura no puede faltar y la clave no se puede dejar en blanco o establecer una string vacía. Las claves deben ser únicas y los valores de una clave deben ser únicos. Los recursos identificados por diferentes claves están en relación OR, y los valores en una etiqueta están en relación OR. Si no se especifica ninguna condición de filtrado, se devuelven los datos completos. |
not_tags_any |
No |
Array of Tags objects |
Especifica cualquier etiqueta que no esté incluida. Cada etiqueta contiene un máximo de 10 claves, y cada clave contiene un máximo de 10 valores. El cuerpo de la estructura no puede faltar y la clave no se puede dejar en blanco o establecer una string vacía. Las claves deben ser únicas y los valores de una clave deben ser únicos. Los recursos no identificados por diferentes claves están en relación OR, y los valores en una etiqueta están en relación OR. Si no se especifica ninguna condición de filtrado, se devuelven los datos completos. |
sys_tags |
No |
Array of Tags objects |
Solo los usuarios con el permiso op_service pueden usar este campo para filtrar recursos. Solo una estructura de etiquetas está contenida cuando esta API es invocada por Tag Management Service (TMS). key es _sys_enterprise_project_id y value es la lista de ID del proyecto empresarial. Cuando TMS invoca esta API, una clave solo puede tener un valor. 0 indica el proyecto de empresa predeterminado. sys_tags y las condiciones de filtrado de etiquetas de tenant (without_any_tag, tags, tags_any, not_tags y not_tags_any) no se pueden usar al mismo tiempo. |
Parámetro |
Mandatory |
Type |
Descripción |
---|---|---|---|
key |
Sí |
String |
Especifica la clave de etiqueta. El valor puede ser dc-directconnect, dc-vgw o dc-vif. |
value |
Sí |
String |
Especifica el valor de etiqueta. Cada valor puede contener un máximo de 255 caracteres de Unicode. |
Parámetro |
Obligatorio |
Tipo |
Descripción |
---|---|---|---|
key |
Sí |
String |
Especifica la clave de etiqueta. Cada clave de etiqueta puede contener un máximo de 127 caracteres de Unicode. Debe especificarse key. |
values |
Sí |
Array of strings |
Especifica la lista de valores de etiqueta. Cada valor puede contener un máximo de 255 caracteres de Unicode. |
Parámetros de respuesta
Código de estado: 200
Parámetro |
Tipo |
Descripción |
---|---|---|
resources |
Array of Resource objects |
Especifica la lista de recursos. |
total_count |
Integer |
Especifica el número total de registros. |
request_id |
String |
Especifica el ID de la solicitud. |
Parámetro |
Tipo |
Descripción |
---|---|---|
resource_detail |
Object |
Especifica los detalles del recurso. |
resource_id |
String |
Especifica el ID del recurso. |
resource_name |
String |
Especifica el nombre del recurso. Este parámetro es una string vacía de forma predeterminada si no hay un nombre de recurso. |
tags |
Array of Tag objects |
Especifica la lista de etiquetas consultadas. Si no hay ninguna etiqueta coincidente, se devuelve una matriz vacía. |
sys_tags |
Array of Tag objects |
Especifica la lista de etiquetas consultadas. Si no hay ninguna etiqueta coincidente, se devuelve una matriz vacía. |
Parámetro |
Tipo |
Descripción |
---|---|---|
key |
String |
Especifica la clave de etiqueta. La clave puede contener un máximo de 36 caracteres de Unicode, incluidos letras, dígitos, guiones (-) y guiones bajos (_). Mínimo: 0 Máximo: 36 |
value |
String |
Especifica el valor de etiqueta. El valor puede contener un máximo de 43 caracteres de Unicode, incluidos letras, dígitos, guiones (-), guiones bajos (_), y puntos (.). Mínimo: 0 Máximo: 43 |
Ejemplo de solicitudes
- Consulta de recursos (configuración de action en filter)
https://{endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/dc-vgw/resource-instances/action { "offset" : "10", "limit" : "10", "action" : "filter", "matches" : [ { "key" : "resource_name", "value" : "resource1" } ], "not_tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags" : [ { "key" : "key1", "values" : [ "*value1", "value2" ] } ], "tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ], "not_tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ] }
- Consulta del número total de recursos (action establecida para count)
https://{endpoint}/v3/cfa563efb77d4b6d9960781d82530fd8/dc-vgw/resource_instances/action { "action" : "count", "not_tags" : [ { "key" : "key1", "values" : [ "value1", "*value2" ] } ], "tags" : [ { "key" : "key1", "values" : [ "value1", "value2" ] }, { "key" : "key2", "values" : [ "value1", "value2" ] } ], "tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ], "not_tags_any" : [ { "key" : "key1", "values" : [ "value1", "value2" ] } ], "sys_tags" : [ { "key" : "_sys_enterprise_project_id", "values" : [ "5aa119a8-d25b-45a7-8d1b-88e127885635" ] } ], "matches" : [ { "key" : "resource_name", "value" : "resource1" } ] }
Ejemplo de respuestas
Código de estado: 200
Aceptar
{ "resources" : [ ], "total_count" : 0, "request_id" : "9a4f4dfc4fb2fc101e65bba07d908535" }
Ejemplo de código del SDK
El ejemplo de código del SDK es el siguiente.
Java
- Consulta de recursos (configuración de action en filter)
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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99
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.dc.v3.region.DcRegion; import com.huaweicloud.sdk.dc.v3.*; import com.huaweicloud.sdk.dc.v3.model.*; import java.util.List; import java.util.ArrayList; public class ListTagResourceInstancesSolution { 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); DcClient client = DcClient.newBuilder() .withCredential(auth) .withRegion(DcRegion.valueOf("<YOUR REGION>")) .build(); ListTagResourceInstancesRequest request = new ListTagResourceInstancesRequest(); ListTagResourceInstancesRequestBody body = new ListTagResourceInstancesRequestBody(); List<String> listNotTagsAnyValues = new ArrayList<>(); listNotTagsAnyValues.add("value1"); listNotTagsAnyValues.add("value2"); List<Tags> listbodyNotTagsAny = new ArrayList<>(); listbodyNotTagsAny.add( new Tags() .withKey("key1") .withValues(listNotTagsAnyValues) ); List<String> listTagsAnyValues = new ArrayList<>(); listTagsAnyValues.add("value1"); listTagsAnyValues.add("value2"); List<Tags> listbodyTagsAny = new ArrayList<>(); listbodyTagsAny.add( new Tags() .withKey("key1") .withValues(listTagsAnyValues) ); List<String> listTagsValues = new ArrayList<>(); listTagsValues.add("*value1"); listTagsValues.add("value2"); List<Tags> listbodyTags = new ArrayList<>(); listbodyTags.add( new Tags() .withKey("key1") .withValues(listTagsValues) ); List<String> listNotTagsValues = new ArrayList<>(); listNotTagsValues.add("*value1"); listNotTagsValues.add("value2"); List<Tags> listbodyNotTags = new ArrayList<>(); listbodyNotTags.add( new Tags() .withKey("key1") .withValues(listNotTagsValues) ); List<Match> listbodyMatches = new ArrayList<>(); listbodyMatches.add( new Match() .withKey("resource_name") .withValue("resource1") ); body.withNotTagsAny(listbodyNotTagsAny); body.withTagsAny(listbodyTagsAny); body.withTags(listbodyTags); body.withNotTags(listbodyNotTags); body.withMatches(listbodyMatches); body.withAction(ListTagResourceInstancesRequestBody.ActionEnum.fromValue("filter")); body.withLimit("10"); body.withOffset("10"); request.withBody(body); try { ListTagResourceInstancesResponse response = client.listTagResourceInstances(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()); } } }
- Consulta del número total de recursos (action establecida para count)
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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
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.dc.v3.region.DcRegion; import com.huaweicloud.sdk.dc.v3.*; import com.huaweicloud.sdk.dc.v3.model.*; import java.util.List; import java.util.ArrayList; public class ListTagResourceInstancesSolution { 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); DcClient client = DcClient.newBuilder() .withCredential(auth) .withRegion(DcRegion.valueOf("<YOUR REGION>")) .build(); ListTagResourceInstancesRequest request = new ListTagResourceInstancesRequest(); ListTagResourceInstancesRequestBody body = new ListTagResourceInstancesRequestBody(); List<String> listSysTagsValues = new ArrayList<>(); listSysTagsValues.add("5aa119a8-d25b-45a7-8d1b-88e127885635"); List<Tags> listbodySysTags = new ArrayList<>(); listbodySysTags.add( new Tags() .withKey("_sys_enterprise_project_id") .withValues(listSysTagsValues) ); List<String> listNotTagsAnyValues = new ArrayList<>(); listNotTagsAnyValues.add("value1"); listNotTagsAnyValues.add("value2"); List<Tags> listbodyNotTagsAny = new ArrayList<>(); listbodyNotTagsAny.add( new Tags() .withKey("key1") .withValues(listNotTagsAnyValues) ); List<String> listTagsAnyValues = new ArrayList<>(); listTagsAnyValues.add("value1"); listTagsAnyValues.add("value2"); List<Tags> listbodyTagsAny = new ArrayList<>(); listbodyTagsAny.add( new Tags() .withKey("key1") .withValues(listTagsAnyValues) ); List<String> listTagsValues = new ArrayList<>(); listTagsValues.add("value1"); listTagsValues.add("value2"); List<String> listTagsValues1 = new ArrayList<>(); listTagsValues1.add("value1"); listTagsValues1.add("value2"); List<Tags> listbodyTags = new ArrayList<>(); listbodyTags.add( new Tags() .withKey("key1") .withValues(listTagsValues1) ); listbodyTags.add( new Tags() .withKey("key2") .withValues(listTagsValues) ); List<String> listNotTagsValues = new ArrayList<>(); listNotTagsValues.add("value1"); listNotTagsValues.add("*value2"); List<Tags> listbodyNotTags = new ArrayList<>(); listbodyNotTags.add( new Tags() .withKey("key1") .withValues(listNotTagsValues) ); List<Match> listbodyMatches = new ArrayList<>(); listbodyMatches.add( new Match() .withKey("resource_name") .withValue("resource1") ); body.withSysTags(listbodySysTags); body.withNotTagsAny(listbodyNotTagsAny); body.withTagsAny(listbodyTagsAny); body.withTags(listbodyTags); body.withNotTags(listbodyNotTags); body.withMatches(listbodyMatches); body.withAction(ListTagResourceInstancesRequestBody.ActionEnum.fromValue("count")); request.withBody(body); try { ListTagResourceInstancesResponse response = client.listTagResourceInstances(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
- Consulta de recursos (configuración de action en filter)
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 76 77 78 79 80 81 82 83 84 85
# coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkdc.v3.region.dc_region import DcRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkdc.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.getenv("CLOUD_SDK_AK") sk = os.getenv("CLOUD_SDK_SK") credentials = BasicCredentials(ak, sk) \ client = DcClient.new_builder() \ .with_credentials(credentials) \ .with_region(DcRegion.value_of("<YOUR REGION>")) \ .build() try: request = ListTagResourceInstancesRequest() listValuesNotTagsAny = [ "value1", "value2" ] listNotTagsAnybody = [ Tags( key="key1", values=listValuesNotTagsAny ) ] listValuesTagsAny = [ "value1", "value2" ] listTagsAnybody = [ Tags( key="key1", values=listValuesTagsAny ) ] listValuesTags = [ "*value1", "value2" ] listTagsbody = [ Tags( key="key1", values=listValuesTags ) ] listValuesNotTags = [ "*value1", "value2" ] listNotTagsbody = [ Tags( key="key1", values=listValuesNotTags ) ] listMatchesbody = [ Match( key="resource_name", value="resource1" ) ] request.body = ListTagResourceInstancesRequestBody( not_tags_any=listNotTagsAnybody, tags_any=listTagsAnybody, tags=listTagsbody, not_tags=listNotTagsbody, matches=listMatchesbody, action="filter", limit="10", offset="10" ) response = client.list_tag_resource_instances(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
- Consulta del número total de recursos (action establecida para count)
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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101
# coding: utf-8 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkdc.v3.region.dc_region import DcRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkdc.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.getenv("CLOUD_SDK_AK") sk = os.getenv("CLOUD_SDK_SK") credentials = BasicCredentials(ak, sk) \ client = DcClient.new_builder() \ .with_credentials(credentials) \ .with_region(DcRegion.value_of("<YOUR REGION>")) \ .build() try: request = ListTagResourceInstancesRequest() listValuesSysTags = [ "5aa119a8-d25b-45a7-8d1b-88e127885635" ] listSysTagsbody = [ Tags( key="_sys_enterprise_project_id", values=listValuesSysTags ) ] listValuesNotTagsAny = [ "value1", "value2" ] listNotTagsAnybody = [ Tags( key="key1", values=listValuesNotTagsAny ) ] listValuesTagsAny = [ "value1", "value2" ] listTagsAnybody = [ Tags( key="key1", values=listValuesTagsAny ) ] listValuesTags = [ "value1", "value2" ] listValuesTags1 = [ "value1", "value2" ] listTagsbody = [ Tags( key="key1", values=listValuesTags1 ), Tags( key="key2", values=listValuesTags ) ] listValuesNotTags = [ "value1", "*value2" ] listNotTagsbody = [ Tags( key="key1", values=listValuesNotTags ) ] listMatchesbody = [ Match( key="resource_name", value="resource1" ) ] request.body = ListTagResourceInstancesRequestBody( sys_tags=listSysTagsbody, not_tags_any=listNotTagsAnybody, tags_any=listTagsAnybody, tags=listTagsbody, not_tags=listNotTagsbody, matches=listMatchesbody, action="count" ) response = client.list_tag_resource_instances(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
- Consulta de recursos (configuración de action en filter)
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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" dc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dc/v3" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dc/v3/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dc/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 := dc.NewDcClient( dc.DcClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ListTagResourceInstancesRequest{} var listValuesNotTagsAny = []string{ "value1", "value2", } var listNotTagsAnybody = []model.Tags{ { Key: "key1", Values: listValuesNotTagsAny, }, } var listValuesTagsAny = []string{ "value1", "value2", } var listTagsAnybody = []model.Tags{ { Key: "key1", Values: listValuesTagsAny, }, } var listValuesTags = []string{ "*value1", "value2", } var listTagsbody = []model.Tags{ { Key: "key1", Values: listValuesTags, }, } var listValuesNotTags = []string{ "*value1", "value2", } var listNotTagsbody = []model.Tags{ { Key: "key1", Values: listValuesNotTags, }, } var listMatchesbody = []model.Match{ { Key: "resource_name", Value: "resource1", }, } limitListTagResourceInstancesRequestBody:= "10" offsetListTagResourceInstancesRequestBody:= "10" request.Body = &model.ListTagResourceInstancesRequestBody{ NotTagsAny: &listNotTagsAnybody, TagsAny: &listTagsAnybody, Tags: &listTagsbody, NotTags: &listNotTagsbody, Matches: &listMatchesbody, Action: model.GetListTagResourceInstancesRequestBodyActionEnum().FILTER, Limit: &limitListTagResourceInstancesRequestBody, Offset: &offsetListTagResourceInstancesRequestBody, } response, err := client.ListTagResourceInstances(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
- Consulta del número total de recursos (action establecida para count)
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 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" dc "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dc/v3" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dc/v3/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/dc/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 := dc.NewDcClient( dc.DcClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.ListTagResourceInstancesRequest{} var listValuesSysTags = []string{ "5aa119a8-d25b-45a7-8d1b-88e127885635", } var listSysTagsbody = []model.Tags{ { Key: "_sys_enterprise_project_id", Values: listValuesSysTags, }, } var listValuesNotTagsAny = []string{ "value1", "value2", } var listNotTagsAnybody = []model.Tags{ { Key: "key1", Values: listValuesNotTagsAny, }, } var listValuesTagsAny = []string{ "value1", "value2", } var listTagsAnybody = []model.Tags{ { Key: "key1", Values: listValuesTagsAny, }, } var listValuesTags = []string{ "value1", "value2", } var listValuesTags1 = []string{ "value1", "value2", } var listTagsbody = []model.Tags{ { Key: "key1", Values: listValuesTags1, }, { Key: "key2", Values: listValuesTags, }, } var listValuesNotTags = []string{ "value1", "*value2", } var listNotTagsbody = []model.Tags{ { Key: "key1", Values: listValuesNotTags, }, } var listMatchesbody = []model.Match{ { Key: "resource_name", Value: "resource1", }, } request.Body = &model.ListTagResourceInstancesRequestBody{ SysTags: &listSysTagsbody, NotTagsAny: &listNotTagsAnybody, TagsAny: &listTagsAnybody, Tags: &listTagsbody, NotTags: &listNotTagsbody, Matches: &listMatchesbody, Action: model.GetListTagResourceInstancesRequestBodyActionEnum().COUNT, } response, err := client.ListTagResourceInstances(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
Otro más
Para obtener un ejemplo de código del SDK de más lenguajes de programación, consulta la ficha Ejemplo de código en API Explorer. El ejemplo de código del SDK se puede generar automáticamente.
Códigos de estado
Código de estado |
Descripción |
---|---|
200 |
Aceptar |
Códigos de error
Consulte Códigos de error.