華為云計算 云知識 批量添加指定集群的資源標簽BatchCreateClusterTags
批量添加指定集群的資源標簽BatchCreateClusterTags

 

功能介紹

該API用于批量添加指定集群的資源標簽。

  • 每個集群支持最多20個資源標簽。

  • 此接口為冪等接口:創(chuàng)建時,如果創(chuàng)建的標簽已經(jīng)存在(key/value均相同視為重復),默認處理成功;key相同,value不同時會覆蓋原有標簽。

調用方法

請參見如何調用API。

URI

POST /api/v3/projects/{project_id}/clusters/{cluster_id}/tags/create

表1 路徑參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

project_id

String

項目ID,獲取方式請參見如何獲取接口URI中參數(shù)。

cluster_id

String

集群ID,獲取方式請參見如何獲取接口URI中參數(shù)。

請求參數(shù)

表2 請求Header參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

Content-Type

String

消息體的類型(格式)

X-Auth-Token

String

調用接口的認證方式分為Token和AK/SK兩種,如果您使用的Token方式,此參數(shù)為必填,請?zhí)顚慣oken的值,獲取方式請參見獲取token。

表3 請求Body參數(shù)

參數(shù)

是否必選

參數(shù)類型

描述

tags

Array of ResourceTag objects

待創(chuàng)建的集群資源標簽列表。單集群資源標簽總數(shù)上限為20。

表4 ResourceTag

參數(shù)

是否必選

參數(shù)類型

描述

key

String

Key值。

  • 不能為空,最多支持128個字符

  • 可用UTF-8格式表示的漢字、字母、數(shù)字和空格

  • 支持部分特殊字符:_.:/=+-@

  • 不能以"_sys_"開頭

value

String

Value值。

  • 可以為空但不能缺省,最多支持255個字符

  • 可用UTF-8格式表示的漢字、字母、數(shù)字和空格

  • 支持部分特殊字符:_.:/=+-@

響應參數(shù)

請求示例

批量添加指定集群的資源標簽

POST /api/v3/projects/{project_id}/clusters/{cluster_id}/tags/create

{
  "tags" : [ {
    "key" : "key1",
    "value" : "value1"
  }, {
    "key" : "key2",
    "value" : "value3"
  } ]
}

響應示例

SDK代碼示例

SDK代碼示例如下。

  • Java
  • Python
  • Go
  • 更多

批量添加指定集群的資源標簽

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.cce.v3.region.CceRegion;
import com.huaweicloud.sdk.cce.v3.*;
import com.huaweicloud.sdk.cce.v3.model.*;

import java.util.List;
import java.util.ArrayList;

public class BatchCreateClusterTagsSolution {

    public static void main(String[] args) {
        String ak = "<YOUR AK>";
        String sk = "<YOUR SK>";
        String projectId = "<project_id>";

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

        CceClient client = CceClient.newBuilder()
                .withCredential(auth)
                .withRegion(CceRegion.valueOf("cn-north-4"))
                .build();
        BatchCreateClusterTagsRequest request = new BatchCreateClusterTagsRequest();
        request.withClusterId("<cluster_id>");
        BatchCreateClusterTagsRequestBody body = new BatchCreateClusterTagsRequestBody();
        List<ResourceTag> listbodyTags = new ArrayList<>();
        listbodyTags.add(
            new ResourceTag()
                .withKey("key1")
                .withValue("value1")
        );
        listbodyTags.add(
            new ResourceTag()
                .withKey("key2")
                .withValue("value3")
        );
        body.withTags(listbodyTags);
        request.withBody(body);
        try {
            BatchCreateClusterTagsResponse response = client.batchCreateClusterTags(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());
        }
    }
}

批量添加指定集群的資源標簽

# coding: utf-8

from huaweicloudsdkcore.auth.credentials import BasicCredentials
from huaweicloudsdkcce.v3.region.cce_region import CceRegion
from huaweicloudsdkcore.exceptions import exceptions
from huaweicloudsdkcce.v3 import *

if __name__ == "__main__":
    ak = "<YOUR AK>"
    sk = "<YOUR SK>"
    projectId = "<project_id>"

    credentials = BasicCredentials(ak, sk, projectId) \

    client = CceClient.new_builder() \
        .with_credentials(credentials) \
        .with_region(CceRegion.value_of("cn-north-4")) \
        .build()

    try:
        request = BatchCreateClusterTagsRequest()
        request.cluster_id = "<cluster_id>"
        listTagsbody = [
            ResourceTag(
                key="key1",
                value="value1"
            ),
            ResourceTag(
                key="key2",
                value="value3"
            )
        ]
        request.body = BatchCreateClusterTagsRequestBody(
            tags=listTagsbody
        )
        response = client.batch_create_cluster_tags(request)
        print(response)
    except exceptions.ClientRequestException as e:
        print(e.status_code)
        print(e.request_id)
        print(e.error_code)
        print(e.error_msg)

批量添加指定集群的資源標簽

package main

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

func main() {
    ak := "<YOUR AK>"
    sk := "<YOUR SK>"
    projectId := "<project_id>"

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

    client := cce.NewCceClient(
        cce.CceClientBuilder().
            WithRegion(region.ValueOf("cn-north-4")).
            WithCredential(auth).
            Build())

    request := &model.BatchCreateClusterTagsRequest{}
	request.ClusterId = "<cluster_id>"
	keyTags:= "key1"
	valueTags:= "value1"
	keyTags1:= "key2"
	valueTags1:= "value3"
	var listTagsbody = []model.ResourceTag{
        {
            Key: &keyTags,
            Value: &valueTags,
        },
        {
            Key: &keyTags1,
            Value: &valueTags1,
        },
    }
	request.Body = &model.BatchCreateClusterTagsRequestBody{
		Tags: listTagsbody,
	}
	response, err := client.BatchCreateClusterTags(request)
	if err == nil {
        fmt.Printf("%+v\n", response)
    } else {
        fmt.Println(err)
    }
}

更多編程語言的SDK代碼示例,請參見API Explorer的代碼示例頁簽,可生成自動對應的SDK代碼示例。

狀態(tài)碼

狀態(tài)碼

描述

204

No Content

錯誤碼

請參見錯誤碼。