clb — Cloud Load Balancer
clb · 2018-03-17

CreateLoadBalancer

POST

Create a CLB instance. To use the CLB service, you first need to purchase one or more instances. After this API is called successfully, a unique instance ID will be returned. There are two types of instances: public network and private network. For more information, see the product types in the product documentation.

Wire call

Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /clb/CreateLoadBalancer path used in the OpenAPI document is a documentation convenience so each action is addressable; it is not a route on the server.

curl
curl -sS https://clb.api3.convergecloud.com/ \
  -H 'Authorization: TC3-HMAC-SHA256 Credential=<SecretId>/<YYYY-MM-DD>/clb/tc3_request, SignedHeaders=content-type;host;x-tc-action, Signature=<sig>' \
  -H 'Content-Type: application/json; charset=utf-8' \
  -H 'Host: clb.api3.convergecloud.com' \
  -H 'X-TC-Action: CreateLoadBalancer' \
  -H 'X-TC-Version: 2018-03-17' \
  -H 'X-TC-Timestamp: <unix-seconds>' \
  -H 'X-TC-Region: luzon' \
  -d '{"LoadBalancerType":"<LoadBalancerType>"}'

Request parameters

FieldTypeRequiredDescription
LoadBalancerTypestringYesCLB instance network type:
ForwardintegerNoCLB instance type. Valid value: 1 (generic CLB instance).
LoadBalancerNamestringNoCLB instance name, which takes effect only when only one instance is to be created in the request. It can consist 1 to 60 letters, digits, hyphens (-), or underscores (_).
VpcIdstringNoNetwork ID of the target device on the CLB backend, such as `vpc-12345678`, which can be obtained through the `DescribeVpcEx` API. If this parameter is not entered, `DefaultVPC` is used by default. This parameter is required when creating a private network instance.
SubnetIdstringNoA subnet ID should be specified when you purchase a private network CLB instance under a VPC. The VIP of the private network CLB instance is in this subnet. This parameter is required when you create a private network CLB instance but not supported when you create a public network IPv4 CLB instance.
ProjectIdintegerNoID of the project to which a CLB instance belongs, which can be obtained through the `DescribeProject` API. If this parameter is not entered, the default project will be used.
AddressIPVersionstringNoIt's only applicable to public network CLB instances. IP version. Values: `IPV4`, `IPV6` and `IPv6FullChain` (case-insensitive). Default: `IPV4`. Note: `IPV6` indicates IPv6 NAT64, while `IPv6FullChain` indicates IPv6.
NumberintegerNoSpecifies the count of cloud load balancers to create, with a default value of 1. the count must not exceed the maximum value allowed for the account, with a default creation maximum value of 20.
MasterZoneIdstringNoApplicable only to public network IPv4 cloud load balancer instances. specifies the primary AZ ID for cross-az disaster recovery. both AZ ID and name are supported, such as 100001 or ap-guangzhou-1.
ZoneIdstringNoApplicable only to public network IPv4 clb instances. specifies the AZ ID or availability zone name for creating a clb instance. for example, 100001 or ap-guangzhou-1.
InternetAccessibleInternetAccessibleNoNetwork billing mode by the maximum outbound bandwidth. It applies only to private network LCU-supported instances and all public network instances. The feature of purchasing monthly subscription instances via an API is under grayscale release. If you want to experience this feature, submit a ticket.
VipIspstringNoISP of VIP. Values: `CMCC` (China Mobile), `CUCC` (China Unicom) and `CTCC` (China Telecom). You need to activate static single-line IPs. This feature is in beta and is only available in Guangzhou, Shanghai, Nanjing, Jinan, Hangzhou, Fuzhou, Beijing, Shijiazhuang, Wuhan, Changsha, Chengdu and Chongqing regions. To try it out, please contact your sales rep. If it's specified, the network billing…
TagsTagInfo[]NoTags the CLB instance when purchasing it. Up to 20 tag key value pairs are supported.
VipstringNoSpecifies the VIP for the application of a CLB instance. This parameter is optional. If you do not specify this parameter, the system automatically assigns a value for the parameter. IPv4 and IPv6 CLB instances support this parameter, but IPv6 NAT64 CLB instances do not.
BandwidthPackageIdstringNoBANDWIDTH PACKAGE ID, which can be obtained through the DescribeBandwidthPackages api. specifies the BANDWIDTH PACKAGE ID. when this parameter is specified, the network billing mode (InternetAccessible.InternetChargeType) supports only billing by BANDWIDTH PACKAGE (BANDWIDTH_PACKAGE). the attributes of the BANDWIDTH PACKAGE determine the settlement method. for IPv6 clb instances purchased by no…
ExclusiveClusterExclusiveClusterNoInformation about the dedicated CLB instance. You must specify this parameter when you create a dedicated CLB instance in a private network.
SlaTypestringNoSpecification of the LCU-supported instance. If you need to create an LCU-supported instance, this parameter is required. Valid values: clb.c2.medium: Standard clb.c3.small: Advanced 1 clb.c3.medium: Advanced 2 clb.c4.small: Super Large 1 clb.c4.medium: Super Large 2 clb.c4.large: Super Large 3 clb.c4.xlarge: Super Large 4 If you need to create a shared instance, this parameter is not required.…
ClusterIdsstring[]NoCluster ID. This cluster identifier is used for configuring a public cloud exclusive cluster or a cloud dedicated cluster. To apply for a public cloud exclusive cluster, submit a ticket. For cloud dedicated clusters, see the descriptions in Cloud Dedicated Cluster.
ClientTokenstringNoA unique string supplied by the client to ensure that the request is idempotent. Its maximum length is 64 ASCII characters. If this parameter is not specified, the idempotency of the request cannot be guaranteed.
SnatProbooleanNoWhether Binding IPs of other VPCs feature switch
SnatIpsSnatIp[]NoCreates `SnatIp` when the binding IPs of other VPCs feature is enabled
ClusterTagstringNoTag for the STGW exclusive cluster.
SlaveZoneIdstringNoApplicable only to public network IPv4 clb instances. specifies the secondary AZ ID for cross-az disaster recovery. both AZ ID and name are supported, such as 100001 or ap-guangzhou-1.
EipAddressIdstringNoThe unique ID of EIP, which can be queried through the DescribeAddresses API. format: EIP-qhx8udkc. applicable only to private network clb binding EIP.
LoadBalancerPassToTargetbooleanNoSpecifies whether to allow CLB traffic to the Target. enable (true): verify security groups on CLB. disable (false): verify security groups on both CLB and backend instances. IPv6 CLB security group default permit, this parameter is not required.
DynamicVipbooleanNoUpgrades to domain name-based CLB
EgressstringNoNetwork egress point
LBChargePrepaidLBChargePrepaidNoPrepayment-related attributes of a CLB instance. The feature of purchasing monthly subscription instances via an API is under grayscale release. If you want to experience this feature, submit a ticket.
LBChargeTypestringNoBilling type of a CLB instance. Valid values: POSTPAID_BY_HOUR and PREPAID. Default value: POSTPAID_BY_HOUR. The feature of purchasing monthly subscription instances via an API is under grayscale release. If you want to experience this feature, submit a ticket.
AccessLogTopicIdstringNoTopic ID of logs of traffic access over layer-7 protocols.
AdvancedRoutebooleanNoWhether layer-7 advanced routing is enabled.

Response

Fields are returned inside the Response envelope. Converge Cloud answers HTTP 200 for errors as well as successes, so read Response.Error rather than the status code — and test for the presence of that object, because Code is occasionally the empty string.

FieldTypeDescription
LoadBalancerIdsstring[]Array of unique CLB instance IDs.
DealNamestringOrder ID.
RequestIdstringThe unique request ID, generated by the server, will be returned for every request (if the request fails to reach the server for other reasons, the request will not obtain a RequestId). RequestId is required for locating a problem.
Success
{
  "Response": {
    "LoadBalancerIds": …,
    "DealName": …,
    "RequestId": "…"
  }
}
Error
{
  "Response": {
    "Error": { "Code": "…", "Message": "…" },
    "RequestId": "…"
  }
}

Try it

CredentialThe key never leaves this tab — it signs the request here. The signed request goes to /api-relay/clb.
Request bodyvalid JSONPOST clb.api3.convergecloud.com · CreateLoadBalancer

Behaviour

Load balancer writes occasionally return HTTP 200 with a null identifier and no effect. Read back with DescribeLoadBalancers before treating the result as applied.