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

SetLoadBalancerSecurityGroups

POST

Bind or unbind security groups for a public network load balancer. Use DescribeLoadBalancers to query the groups currently bound. This action follows set semantics.

Wire call

Converge Cloud is RPC over HTTP. There is one path — / — and the action travels in the X-TC-Action header. The /clb/SetLoadBalancerSecurityGroups 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: SetLoadBalancerSecurityGroups' \
  -H 'X-TC-Version: 2018-03-17' \
  -H 'X-TC-Timestamp: <unix-seconds>' \
  -H 'X-TC-Region: luzon' \
  -d '{"LoadBalancerId":"<LoadBalancerId>"}'

Request parameters

FieldTypeRequiredDescription
LoadBalancerIdstringYesID of the cloud load balancer instance. you can call the DescribeLoadBalancers API to query the ID.
SecurityGroupsstring[]NoSpecifies an array of security group ids. a load balancing instance supports a maximum binding of 50 security groups. to unbind all security groups, omit this parameter.

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
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": {
    // action-specific fields,
    "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 · SetLoadBalancerSecurityGroups

What failure looks like

Example error responses for this action. Match on Code.

Recorded error 1
{
  "Response": {
    "Error": {
      "Code": "InvalidParameter.LBIdNotFound",
      "Message": "LoadBalancerId `lb-00000000` not found."
    },
    "RequestId": "91606e5a-28cc-4c10-20aa-b011e072bfe4"
  }
}

Behaviour

Replaces the full security group list for the load balancer.