El contenido no se encuentra disponible en el idioma seleccionado. Estamos trabajando continuamente para agregar más idiomas. Gracias por su apoyo.
Creating a Cluster (Discarded)
Function
This API can only be used to create clusters that contain a single type of nodes. To create clusters that contain multiple types of nodes (ess, ess-cold, ess-client, and ess-master), use the API for Creating a Cluster v2.
Calling Method
For details, see Calling APIs.
URI
POST /v1.0/{project_id}/clusters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
project_id |
Yes |
String |
Parameter description: Project ID. For details about how to obtain the project ID and name, see Obtaining the Project ID and Name. Constraints: N/A Options: For details about how to obtain the project ID and name, see Obtaining the Project ID and Name. Default value: N/A |
Request Parameters
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
cluster |
Yes |
CreateClusterBody object |
Parameter description: Cluster object. Constraints: N/A Options: N/A Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
instance |
Yes |
CreateClusterInstanceBody object |
Parameter description: Array of Buffer instances, whose memory is to be shared. Constraints: N/A Options: N/A Default value: N/A |
datastore |
Yes |
CreateClusterDatastoreBody object |
Search engine. |
name |
Yes |
String |
Parameter description: Cluster name. It can contain 4 to 32 characters. Only digits, letters, hyphens (-), and underscores (_) are allowed. The value must start with a letter. Constraints: N/A Options: N/A Default value: N/A |
instanceNum |
Yes |
Integer |
Parameter description: Number of clusters. The value range is 1 to 32. Constraints: N/A Options: N/A Default value: N/A |
backupStrategy |
No |
Parameter description: Automatic snapshot creation policy, which is disabled by default. The automatic snapshot creation policy is enabled only when backupStrategy is not left blank. Constraints: N/A Options: N/A Default value: N/A |
|
httpsEnable |
No |
Boolean |
Parameter description: Whether communication is encrypted on the cluster. The value can be true or false. By default, communication encryption is disabled. When httpsEnable is set to true, authorityEnable must be set to true. Constraints: This parameter is supported in clusters 6.5.4 or later. Options:
Default value: N/A |
authorityEnable |
No |
Boolean |
Parameter description: Whether to enable authentication. Available values include true and false. Authentication is disabled by default. Constraints: This parameter is supported in clusters 6.5.4 or later. Options:
Default value: N/A |
adminPwd |
No |
String |
Parameter description: Password of the cluster user admin in security mode. This parameter is mandatory only when authorityEnable is set to true. Weak password verification is required for a security cluster. You are advised to set a strong password. Constraints: The administrator password must meet the following requirements:
Options: See Constraints. Default value: N/A |
enterprise_project_id |
No |
String |
Parameter description: Enterprise project ID. When creating a cluster, associate the enterprise project ID with the cluster. The value can contain a maximum of 36 characters. It is string 0 or in UUID format with hyphens (-). Value 0 indicates the default enterprise project. Constraints: N/A Options: N/A Default value: N/A |
tags |
No |
Array of CreateClusterTagsBody objects |
Parameter description: Cluster tags. Constraints: N/A Options: N/A Default value: N/A |
payInfo |
No |
payInfoBody object |
Parameter description: Parameters used for purchasing a yearly/monthly cluster. Constraints: N/A Options: N/A Default value: N/A |
ipv6_enable |
No |
Boolean |
Parameter description: Whether to enable automatic IPv6 address assignment for the cluster. The default value is false. Constraints: N/A Options: N/A Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
flavorRef |
Yes |
String |
Parameter description: Instance flavor name. For details about the current instance flavor, see the name attribute in Obtaining the Instance Specifications List. Constraints: N/A Options: N/A Default value: N/A |
volume |
Yes |
Parameter description: Volume information. You do not need to set this parameter when flavorRef is set to a local disk flavor. Currently, the following local disk flavors are supported:
Constraints: N/A Options: N/A Default value: N/A |
|
nics |
Yes |
Parameter description: Subnet information. Constraints: N/A Options: N/A Default value: N/A |
|
availability_zone |
Yes |
String |
Parameter description: AZ. You need to specify the AZ names. \nBy default, a single AZ is specified. If multiple AZs are specified, use commas (,) to separate different AZ names. For example, if three AZs are selected under region-1, the value of availability_zone is region-1a,region-1b,region-1c. If a single AZ is used, the value of availability_zone is empty by default. \n>Noten\t - If multiple AZs are selected, the name of each AZ must be unique, and the number of nodes must be greater than or equal to the number of AZs. \n \t - If the number of nodes is a multiple of the number of AZs, the nodes are evenly distributed to each AZ. \n - If the number of nodes is not a multiple of the number of AZs, the absolute difference between node quantity in any two AZs is 1 at most. \n - Obtain the AZ names from Regions and Endpoints in section "Before You Start". " Constraints: N/A Options: N/A Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
volume_type |
Yes |
String |
Parameter description: Volume type. Constraints: N/A Options:
Default value: N/A |
size |
Yes |
Integer |
Parameter description: Volume size. The value must be greater than 0 and a multiple of 4 and 10. For details about the disk size, see the diskrange parameter in Obtaining the Instance Specifications List. Unit: GB. Constraints: N/A Options: N/A Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
vpcId |
Yes |
String |
Parameter description: VPC ID, which is used for configuring cluster network. Constraints: N/A Options: N/A Default value: N/A |
netId |
Yes |
String |
Parameter description: Subnet ID (network ID). Constraints: N/A Options: N/A Default value: N/A |
securityGroupId |
Yes |
String |
Parameter description: Security group ID Constraints: N/A Options: N/A Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
version |
Yes |
String |
Parameter description: Elasticsearch/Logstash engine version. For details, see the supported versions in Before You Start. Constraints: N/A Options: N/A Default value: N/A |
type |
Yes |
String |
Parameter description: Engine type. The value can be elasticsearch, logstash, or opensearch. Constraints: N/A Options: N/A Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
period |
Yes |
String |
Parameter description: Time when a snapshot is generated every day. Snapshots can only be generated on the hour. The format is HH:mm z: HH:mm refers to the hour time and z refers to the time zone. For example, 00:00 GMT+08:00 and 01:00 GMT+08:00.
The default value is 00:00 GMT+08:00. When frequency is set to HOUR, you do not need to specify period. By default, snapshot creation starts from the next hour after the settings are successful.
Constraints: N/A Options: N/A Default value: N/A |
prefix |
Yes |
String |
Parameter description: Prefix of a snapshot that is automatically created, which is manually entered. Enter up to 32 characters and start with a lowercase letter. Lowercase letters, numbers, hyphens (-), and underscores (_) are allowed. Constraints: N/A Options: N/A Default value: N/A |
keepday |
Yes |
Integer |
Parameter description: Set the number of retained snapshots. The value ranges from 1 to 90. Expired snapshots will be automatically deleted on the half hour. The deletion policy applies only to automated snapshots that are executed at the same frequency as the current automatic snapshot creation policy. Constraints: N/A Options: N/A Default value: N/A |
bucket |
No |
String |
Parameter description: Name of the OBS bucket used for backup. Constraints: N/A Options: N/A Default value: N/A |
basePath |
No |
String |
Parameter description: Storage path of the snapshot in the OBS bucket. Constraints: N/A Options: N/A Default value: N/A |
agency |
No |
String |
Parameter description: Agency name. You can create an agency to allow CSS to call other cloud services. The value can contain only letters (a-z and A-Z), digits (0-9), hyphens (-), and underscores (_). It cannot contain Chinese characters or other special characters.
If none of the bucket, basePath, and agency parameters are specified, the system will automatically create an OBS bucket and an IAM agency. If the creation fails, you need to manually configure correct parameters.
Constraints: N/A Options: N/A Default value: N/A |
frequency |
No |
String |
Parameter description: Frequency of automatically creating snapshots.
The default value is DAY. If this parameter is set to HOUR, the scheduled task is executed every hour. If this parameter is set to DAY, the scheduled task is executed every day. If this parameter is set to SUN, MON, TUE, WED, THU, FRI or SAT, the scheduled task is executed at the specified day of every week. For example, SUN indicates that the task is executed once every Sunday. The number of retained snapshots depends on the execution frequency and indexes set in the automatic snapshot creation policy. If the execution interval is short or the index data volume is large, the number of retained automatic snapshots may not reach the preset value. Set this value based on actual conditions.
Constraints: N/A Options: N/A Default value: N/A |
maxSnapshotBytesPerSeconds |
No |
String |
Parameter description: This parameter sets the maximum backup speed per node (bytes per second). When it is exceeded, flow control is triggered to prevent excessive resource usage and ensure system stability. The actual backup speed may not reach the configured value, as it depends on many factors, such as OBS performance and disk I/O. Constraints: N/A Options: The following values and formats are allowed:
The number ranges from 0 to 9999. The unit can be k, kb, m, mb, g, gb, t, tb, p, pb, or b (case-insensitive). 0mb means there is no speed limit. An overly high backup speed may lead to excessive resource usage, which may impact system stability. Therefore, set this parameter carefully.
There is no speed limit. An overly high backup speed may lead to excessive resource usage, which may impact system stability. Therefore, set this parameter carefully. There is no speed limit. An overly high backup speed may lead to excessive resource usage, which may impact system stability. Therefore, set this parameter carefully. Default value: The default value is 40 MB. If this parameter is left blank, the default value is used. |
maxRestoreBytesPerSeconds |
No |
String |
Parameter description: This parameter sets the maximum recovery speed per node (bytes per second). When it is exceeded, flow control is triggered to prevent excessive resource usage and ensure system stability. The actual recovery speed may not reach the configured value, as it depends on many factors, such as OBS performance and disk I/O. Constraints: For OpenSearch clusters and Elasticsearch clusters later than 7.6.2, the recovery speed is also limited by the indices.recovery.max_bytes_per_sec parameter. If Maximum recovery speed (per second) is lower than indices.recovery.max_bytes_per_sec, flow control is triggered when the former is reached. If Maximum recovery speed (per second) is higher than indices.recovery.max_bytes_per_sec, flow control is triggered when the latter is reached. Options: The following values and formats are allowed:
The number ranges from 0 to 9999. The unit can be k, kb, m, mb, g, gb, t, tb, p, pb, or b (case-insensitive). 0mb means there is no speed limit. (However, for OpenSearch clusters and Elasticsearch clusters later than 7.6.2, the recovery speed is also limited by the indices.recovery.max_bytes_per_sec parameter.) An overly high recovery speed may lead to excessive resource usage, which may impact system stability. Therefore, set this parameter carefully.
There is no speed limit. (However, for OpenSearch clusters and Elasticsearch clusters later than 7.6.2, the recovery speed is also limited by the indices.recovery.max_bytes_per_sec parameter.) An overly high recovery speed may lead to excessive resource usage, which may impact system stability. Therefore, set this parameter carefully. There is no speed limit. (However, for OpenSearch clusters and Elasticsearch clusters later than 7.6.2, the recovery speed is also limited by the indices.recovery.max_bytes_per_sec parameter.) An overly high recovery speed may lead to excessive resource usage, which may impact system stability. Therefore, set this parameter carefully. Default value: For Elasticsearch clusters of 7.6.2 or earlier, the default setting is 40mb. For OpenSearch clusters and Elasticsearch clusters later than 7.6.2, the default setting is no limit, but the recovery speed is still limited by the indices.recovery.max_bytes_per_sec parameter. If this parameter is left blank, the default setting is used. |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
key |
Yes |
String |
Parameter description: Tag key. The value can contain 1 to 36 characters. Only digits, letters, hyphens (-), and underscores (_) are allowed. Constraints: N/A Options: N/A Default value: N/A |
value |
Yes |
String |
Parameter description: Tag value. The value can contain 0 to 43 characters. It can only contain digits, letters, hyphens (-), and underscores (_). Constraints: N/A Options: N/A Default value: N/A |
Parameter |
Mandatory |
Type |
Description |
---|---|---|---|
payModel |
Yes |
Integer |
Subscription period type.
|
period |
Yes |
Integer |
Subscribed periods.
|
isAutoRenew |
No |
Integer |
Whether to automatically renew the subscription. If this parameter is not specified, the subscription is not automatically renewed.
|
isAutoPay |
No |
Integer |
Indicates whether to enable automatic payment from your Huawei Cloud account. This parameter takes effect only for yearly/monthly clusters.
|
Response Parameters
Status code: 200
Parameter |
Type |
Description |
---|---|---|
cluster |
CreateClusterClusterResponse object |
Parameter description: Cluster object. For a pay-per-use cluster, only the cluster parameter is returned. Options: N/A |
orderId |
String |
Parameter description: Order ID. This parameter is returned only when a yearly/monthly cluster is created. Options: N/A |
Example Requests
-
Example request for creating a yearly/monthly cluster.
POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters { "cluster" : { "instance" : { "flavorRef" : "ess.spec-4u16g", "volume" : { "volume_type" : "COMMON", "size" : 120 }, "nics" : { "vpcId" : "{VPC ID}", "netId" : "{NET ID}", "securityGroupId" : "{Security group ID}" }, "availability_zone" : "{AZ CODE}" }, "datastore" : { "version" : "{cluster-version}", "type" : "elasticsearch" }, "name" : "cluster-name", "instanceNum" : 3, "backupStrategy" : { "period" : "16:00 GMT+08:00", "prefix" : "snapshot", "keepday" : 7, "frequency" : "DAY", "bucket" : "css-obs-backup", "basePath" : "css_repository/obs-path", "agency" : "css_obs_agency" }, "httpsEnable" : true, "authorityEnable" : true, "adminPwd" : "{password}", "enterprise_project_id" : "0", "tags" : [ { "key" : "k1", "value" : "v1" }, { "key" : "k2", "value" : "v2" } ], "payInfo" : { "payModel" : 2, "period" : 1, "isAutoRenew" : 1, "isAutoPay" : 1 } } }
-
Example request for creating a pay-per-use cluster.
POST /v1.0/6204a5bd270343b5885144cf9c8c158d/clusters { "cluster" : { "instance" : { "flavorRef" : "ess.spec-4u16g", "volume" : { "volume_type" : "COMMON", "size" : 120 }, "nics" : { "vpcId" : "{VPC ID}", "netId" : "{NET ID}", "securityGroupId" : "{Security group ID}" }, "availability_zone" : "{AZ CODE}" }, "datastore" : { "version" : "{cluster-version}", "type" : "elasticsearch" }, "name" : "cluster-name", "instanceNum" : 3, "backupStrategy" : { "period" : "16:00 GMT+08:00", "prefix" : "snapshot", "keepday" : 7, "frequency" : "DAY", "bucket" : "css-obs-backup", "basePath" : "css_repository/obs-path", "agency" : "css_obs_agency" }, "httpsEnable" : true, "authorityEnable" : true, "adminPwd" : "{password}", "enterprise_project_id" : "0", "tags" : [ { "key" : "k1", "value" : "v1" }, { "key" : "k2", "value" : "v2" } ] } }
Example Responses
Status code: 200
Request succeeded.
-
Example response for creating a pay-per-use cluster.
{ "cluster" : { "id" : "ef683016-871e-48bc-bf93-74a29d60d214", "name" : "ES-Test" } }
-
Example response for creating a yearly/monthly cluster.
{ "cluster" : { "id" : "ef683016-871e-48bc-bf93-74a29d60d214", "name" : "ES-Test" }, "orderId" : "CS2208241141LY94J" }
SDK Sample Code
The SDK sample code is as follows.
Java
-
Example request for creating a yearly/monthly cluster.
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
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.css.v1.region.CssRegion; import com.huaweicloud.sdk.css.v1.*; import com.huaweicloud.sdk.css.v1.model.*; import java.util.List; import java.util.ArrayList; public class CreateClusterSolution { 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"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); CssClient client = CssClient.newBuilder() .withCredential(auth) .withRegion(CssRegion.valueOf("<YOUR REGION>")) .build(); CreateClusterRequest request = new CreateClusterRequest(); CreateClusterReq body = new CreateClusterReq(); PayInfoBody payInfoCluster = new PayInfoBody(); payInfoCluster.withPayModel(2) .withPeriod(1) .withIsAutoRenew(1) .withIsAutoPay(1); List<CreateClusterTagsBody> listClusterTags = new ArrayList<>(); listClusterTags.add( new CreateClusterTagsBody() .withKey("k1") .withValue("v1") ); listClusterTags.add( new CreateClusterTagsBody() .withKey("k2") .withValue("v2") ); CreateClusterBackupStrategyBody backupStrategyCluster = new CreateClusterBackupStrategyBody(); backupStrategyCluster.withPeriod("16:00 GMT+08:00") .withPrefix("snapshot") .withKeepday(7) .withBucket("css-obs-backup") .withBasePath("css_repository/obs-path") .withAgency("css_obs_agency"); CreateClusterDatastoreBody datastoreCluster = new CreateClusterDatastoreBody(); datastoreCluster.withVersion("{cluster-version}") .withType("elasticsearch"); CreateClusterInstanceNicsBody nicsInstance = new CreateClusterInstanceNicsBody(); nicsInstance.withVpcId("{VPC ID}") .withNetId("{NET ID}") .withSecurityGroupId("{Security group ID}"); CreateClusterInstanceVolumeBody volumeInstance = new CreateClusterInstanceVolumeBody(); volumeInstance.withVolumeType("COMMON") .withSize(120); CreateClusterInstanceBody instanceCluster = new CreateClusterInstanceBody(); instanceCluster.withFlavorRef("ess.spec-4u16g") .withVolume(volumeInstance) .withNics(nicsInstance) .withAvailabilityZone("{AZ CODE}"); CreateClusterBody clusterbody = new CreateClusterBody(); clusterbody.withInstance(instanceCluster) .withDatastore(datastoreCluster) .withName("cluster-name") .withInstanceNum(3) .withBackupStrategy(backupStrategyCluster) .withHttpsEnable(true) .withAuthorityEnable(true) .withAdminPwd("{password}") .withEnterpriseProjectId("0") .withTags(listClusterTags) .withPayInfo(payInfoCluster); body.withCluster(clusterbody); request.withBody(body); try { CreateClusterResponse response = client.createCluster(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()); } } }
-
Example request for creating a pay-per-use cluster.
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
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.css.v1.region.CssRegion; import com.huaweicloud.sdk.css.v1.*; import com.huaweicloud.sdk.css.v1.model.*; import java.util.List; import java.util.ArrayList; public class CreateClusterSolution { 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"); String projectId = "{project_id}"; ICredential auth = new BasicCredentials() .withProjectId(projectId) .withAk(ak) .withSk(sk); CssClient client = CssClient.newBuilder() .withCredential(auth) .withRegion(CssRegion.valueOf("<YOUR REGION>")) .build(); CreateClusterRequest request = new CreateClusterRequest(); CreateClusterReq body = new CreateClusterReq(); List<CreateClusterTagsBody> listClusterTags = new ArrayList<>(); listClusterTags.add( new CreateClusterTagsBody() .withKey("k1") .withValue("v1") ); listClusterTags.add( new CreateClusterTagsBody() .withKey("k2") .withValue("v2") ); CreateClusterBackupStrategyBody backupStrategyCluster = new CreateClusterBackupStrategyBody(); backupStrategyCluster.withPeriod("16:00 GMT+08:00") .withPrefix("snapshot") .withKeepday(7) .withBucket("css-obs-backup") .withBasePath("css_repository/obs-path") .withAgency("css_obs_agency"); CreateClusterDatastoreBody datastoreCluster = new CreateClusterDatastoreBody(); datastoreCluster.withVersion("{cluster-version}") .withType("elasticsearch"); CreateClusterInstanceNicsBody nicsInstance = new CreateClusterInstanceNicsBody(); nicsInstance.withVpcId("{VPC ID}") .withNetId("{NET ID}") .withSecurityGroupId("{Security group ID}"); CreateClusterInstanceVolumeBody volumeInstance = new CreateClusterInstanceVolumeBody(); volumeInstance.withVolumeType("COMMON") .withSize(120); CreateClusterInstanceBody instanceCluster = new CreateClusterInstanceBody(); instanceCluster.withFlavorRef("ess.spec-4u16g") .withVolume(volumeInstance) .withNics(nicsInstance) .withAvailabilityZone("{AZ CODE}"); CreateClusterBody clusterbody = new CreateClusterBody(); clusterbody.withInstance(instanceCluster) .withDatastore(datastoreCluster) .withName("cluster-name") .withInstanceNum(3) .withBackupStrategy(backupStrategyCluster) .withHttpsEnable(true) .withAuthorityEnable(true) .withAdminPwd("{password}") .withEnterpriseProjectId("0") .withTags(listClusterTags); body.withCluster(clusterbody); request.withBody(body); try { CreateClusterResponse response = client.createCluster(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
-
Example request for creating a yearly/monthly cluster.
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
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcss.v1.region.css_region import CssRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcss.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.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = CssClient.new_builder() \ .with_credentials(credentials) \ .with_region(CssRegion.value_of("<YOUR REGION>")) \ .build() try: request = CreateClusterRequest() payInfoCluster = PayInfoBody( pay_model=2, period=1, is_auto_renew=1, is_auto_pay=1 ) listTagsCluster = [ CreateClusterTagsBody( key="k1", value="v1" ), CreateClusterTagsBody( key="k2", value="v2" ) ] backupStrategyCluster = CreateClusterBackupStrategyBody( period="16:00 GMT+08:00", prefix="snapshot", keepday=7, bucket="css-obs-backup", base_path="css_repository/obs-path", agency="css_obs_agency" ) datastoreCluster = CreateClusterDatastoreBody( version="{cluster-version}", type="elasticsearch" ) nicsInstance = CreateClusterInstanceNicsBody( vpc_id="{VPC ID}", net_id="{NET ID}", security_group_id="{Security group ID}" ) volumeInstance = CreateClusterInstanceVolumeBody( volume_type="COMMON", size=120 ) instanceCluster = CreateClusterInstanceBody( flavor_ref="ess.spec-4u16g", volume=volumeInstance, nics=nicsInstance, availability_zone="{AZ CODE}" ) clusterbody = CreateClusterBody( instance=instanceCluster, datastore=datastoreCluster, name="cluster-name", instance_num=3, backup_strategy=backupStrategyCluster, https_enable=True, authority_enable=True, admin_pwd="{password}", enterprise_project_id="0", tags=listTagsCluster, pay_info=payInfoCluster ) request.body = CreateClusterReq( cluster=clusterbody ) response = client.create_cluster(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg)
-
Example request for creating a pay-per-use cluster.
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
# coding: utf-8 import os from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkcss.v1.region.css_region import CssRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkcss.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.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] projectId = "{project_id}" credentials = BasicCredentials(ak, sk, projectId) client = CssClient.new_builder() \ .with_credentials(credentials) \ .with_region(CssRegion.value_of("<YOUR REGION>")) \ .build() try: request = CreateClusterRequest() listTagsCluster = [ CreateClusterTagsBody( key="k1", value="v1" ), CreateClusterTagsBody( key="k2", value="v2" ) ] backupStrategyCluster = CreateClusterBackupStrategyBody( period="16:00 GMT+08:00", prefix="snapshot", keepday=7, bucket="css-obs-backup", base_path="css_repository/obs-path", agency="css_obs_agency" ) datastoreCluster = CreateClusterDatastoreBody( version="{cluster-version}", type="elasticsearch" ) nicsInstance = CreateClusterInstanceNicsBody( vpc_id="{VPC ID}", net_id="{NET ID}", security_group_id="{Security group ID}" ) volumeInstance = CreateClusterInstanceVolumeBody( volume_type="COMMON", size=120 ) instanceCluster = CreateClusterInstanceBody( flavor_ref="ess.spec-4u16g", volume=volumeInstance, nics=nicsInstance, availability_zone="{AZ CODE}" ) clusterbody = CreateClusterBody( instance=instanceCluster, datastore=datastoreCluster, name="cluster-name", instance_num=3, backup_strategy=backupStrategyCluster, https_enable=True, authority_enable=True, admin_pwd="{password}", enterprise_project_id="0", tags=listTagsCluster ) request.body = CreateClusterReq( cluster=clusterbody ) response = client.create_cluster(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
-
Example request for creating a yearly/monthly cluster.
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
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" css "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/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") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := css.NewCssClient( css.CssClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.CreateClusterRequest{} isAutoRenewPayInfo:= int32(1) isAutoPayPayInfo:= int32(1) payInfoCluster := &model.PayInfoBody{ PayModel: int32(2), Period: int32(1), IsAutoRenew: &isAutoRenewPayInfo, IsAutoPay: &isAutoPayPayInfo, } var listTagsCluster = []model.CreateClusterTagsBody{ { Key: "k1", Value: "v1", }, { Key: "k2", Value: "v2", }, } bucketBackupStrategy:= "css-obs-backup" basePathBackupStrategy:= "css_repository/obs-path" agencyBackupStrategy:= "css_obs_agency" backupStrategyCluster := &model.CreateClusterBackupStrategyBody{ Period: "16:00 GMT+08:00", Prefix: "snapshot", Keepday: int32(7), Bucket: &bucketBackupStrategy, BasePath: &basePathBackupStrategy, Agency: &agencyBackupStrategy, } datastoreCluster := &model.CreateClusterDatastoreBody{ Version: "{cluster-version}", Type: "elasticsearch", } nicsInstance := &model.CreateClusterInstanceNicsBody{ VpcId: "{VPC ID}", NetId: "{NET ID}", SecurityGroupId: "{Security group ID}", } volumeInstance := &model.CreateClusterInstanceVolumeBody{ VolumeType: "COMMON", Size: int32(120), } availabilityZoneInstance:= "{AZ CODE}" instanceCluster := &model.CreateClusterInstanceBody{ FlavorRef: "ess.spec-4u16g", Volume: volumeInstance, Nics: nicsInstance, AvailabilityZone: &availabilityZoneInstance, } httpsEnableCluster:= true authorityEnableCluster:= true adminPwdCluster:= "{password}" enterpriseProjectIdCluster:= "0" clusterbody := &model.CreateClusterBody{ Instance: instanceCluster, Datastore: datastoreCluster, Name: "cluster-name", InstanceNum: int32(3), BackupStrategy: backupStrategyCluster, HttpsEnable: &httpsEnableCluster, AuthorityEnable: &authorityEnableCluster, AdminPwd: &adminPwdCluster, EnterpriseProjectId: &enterpriseProjectIdCluster, Tags: &listTagsCluster, PayInfo: payInfoCluster, } request.Body = &model.CreateClusterReq{ Cluster: clusterbody, } response, err := client.CreateCluster(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
-
Example request for creating a pay-per-use cluster.
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
package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" css "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/v1/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/css/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") projectId := "{project_id}" auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). WithProjectId(projectId). Build() client := css.NewCssClient( css.CssClientBuilder(). WithRegion(region.ValueOf("<YOUR REGION>")). WithCredential(auth). Build()) request := &model.CreateClusterRequest{} var listTagsCluster = []model.CreateClusterTagsBody{ { Key: "k1", Value: "v1", }, { Key: "k2", Value: "v2", }, } bucketBackupStrategy:= "css-obs-backup" basePathBackupStrategy:= "css_repository/obs-path" agencyBackupStrategy:= "css_obs_agency" backupStrategyCluster := &model.CreateClusterBackupStrategyBody{ Period: "16:00 GMT+08:00", Prefix: "snapshot", Keepday: int32(7), Bucket: &bucketBackupStrategy, BasePath: &basePathBackupStrategy, Agency: &agencyBackupStrategy, } datastoreCluster := &model.CreateClusterDatastoreBody{ Version: "{cluster-version}", Type: "elasticsearch", } nicsInstance := &model.CreateClusterInstanceNicsBody{ VpcId: "{VPC ID}", NetId: "{NET ID}", SecurityGroupId: "{Security group ID}", } volumeInstance := &model.CreateClusterInstanceVolumeBody{ VolumeType: "COMMON", Size: int32(120), } availabilityZoneInstance:= "{AZ CODE}" instanceCluster := &model.CreateClusterInstanceBody{ FlavorRef: "ess.spec-4u16g", Volume: volumeInstance, Nics: nicsInstance, AvailabilityZone: &availabilityZoneInstance, } httpsEnableCluster:= true authorityEnableCluster:= true adminPwdCluster:= "{password}" enterpriseProjectIdCluster:= "0" clusterbody := &model.CreateClusterBody{ Instance: instanceCluster, Datastore: datastoreCluster, Name: "cluster-name", InstanceNum: int32(3), BackupStrategy: backupStrategyCluster, HttpsEnable: &httpsEnableCluster, AuthorityEnable: &authorityEnableCluster, AdminPwd: &adminPwdCluster, EnterpriseProjectId: &enterpriseProjectIdCluster, Tags: &listTagsCluster, } request.Body = &model.CreateClusterReq{ Cluster: clusterbody, } response, err := client.CreateCluster(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } }
More
For SDK sample code of more programming languages, see the Sample Code tab in API Explorer. SDK sample code can be automatically generated.
Status Codes
Status Code |
Description |
---|---|
200 |
Request succeeded. |
400 |
Invalid request. Modify the request before retry. |
409 |
The request could not be completed due to a conflict with the current state of the resource. The resource that the client attempts to create already exists, or the update request fails to be processed because of a conflict. |
412 |
The server did not meet one of the preconditions contained in the request. |
Error Codes
See Error Codes.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot