createKxScalingGroup method
Creates a new scaling group.
May throw AccessDeniedException.
May throw ConflictException.
May throw InternalServerException.
May throw LimitExceededException.
May throw ResourceNotFoundException.
May throw ThrottlingException.
May throw ValidationException.
Parameter availabilityZoneId :
The identifier of the availability zones.
Parameter environmentId :
A unique identifier for the kdb environment, where you want to create the
scaling group.
Parameter hostType :
The memory and CPU capabilities of the scaling group host on which
FinSpace Managed kdb clusters will be placed.
You can add one of the following values:
-
kx.sg.large– The host type with a configuration of 16 GiB memory and 2 vCPUs. -
kx.sg.xlarge– The host type with a configuration of 32 GiB memory and 4 vCPUs. -
kx.sg.2xlarge– The host type with a configuration of 64 GiB memory and 8 vCPUs. -
kx.sg.4xlarge– The host type with a configuration of 108 GiB memory and 16 vCPUs. -
kx.sg.8xlarge– The host type with a configuration of 216 GiB memory and 32 vCPUs. -
kx.sg.16xlarge– The host type with a configuration of 432 GiB memory and 64 vCPUs. -
kx.sg.32xlarge– The host type with a configuration of 864 GiB memory and 128 vCPUs. -
kx.sg1.16xlarge– The host type with a configuration of 1949 GiB memory and 64 vCPUs. -
kx.sg1.24xlarge– The host type with a configuration of 2948 GiB memory and 96 vCPUs.
Parameter scalingGroupName :
A unique identifier for the kdb scaling group.
Parameter clientToken :
A token that ensures idempotency. This token expires in 10 minutes.
Parameter tags :
A list of key-value pairs to label the scaling group. You can add up to 50
tags to a scaling group.
Implementation
Future<CreateKxScalingGroupResponse> createKxScalingGroup({
required String availabilityZoneId,
required String environmentId,
required String hostType,
required String scalingGroupName,
String? clientToken,
Map<String, String>? tags,
}) async {
final $payload = <String, dynamic>{
'availabilityZoneId': availabilityZoneId,
'hostType': hostType,
'scalingGroupName': scalingGroupName,
'clientToken': clientToken ?? _s.generateIdempotencyToken(),
if (tags != null) 'tags': tags,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri:
'/kx/environments/${Uri.encodeComponent(environmentId)}/scalingGroups',
exceptionFnMap: _exceptionFns,
);
return CreateKxScalingGroupResponse.fromJson(response);
}