Skip to content

create_kx_scaling_group async

create_kx_scaling_group(
    client_token: ClientToken,
    environment_id: KxEnvironmentId,
    scaling_group_name: KxScalingGroupName,
    host_type: KxHostType,
    availability_zone_id: AvailabilityZoneId,
    *,
    config_overrides: Optional[AsyncfinspaceClientConfig] = None,
    tags: Optional[TagMap] = None,
) -> CreateKxScalingGroupResponse

Creates a new scaling group.

Parameters:

  • client_token (ClientToken) –

    A token that ensures idempotency. This token expires in 10 minutes.

  • environment_id (KxEnvironmentId) –

    A unique identifier for the kdb environment, where you want to create the scaling group.

  • scaling_group_name (KxScalingGroupName) –

    A unique identifier for the kdb scaling group.

  • host_type (KxHostType) –

    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.

  • availability_zone_id (AvailabilityZoneId) –

    The identifier of the availability zones.

  • tags (Optional[TagMap], default: None ) –

    A list of key-value pairs to label the scaling group. You can add up to 50 tags to a scaling group.

Raises:

Source code in docs_src/capo_finspace/_services/async_finspace.py
async def create_kx_scaling_group(
    self,
    client_token: "capo_finspace.types.client_token.ClientToken",
    environment_id: "capo_finspace.types.kx_environment_id.KxEnvironmentId",
    scaling_group_name: "capo_finspace.types.kx_scaling_group_name.KxScalingGroupName",
    host_type: "capo_finspace.types.kx_host_type.KxHostType",
    availability_zone_id: "capo_finspace.types.availability_zone_id.AvailabilityZoneId",
    *,
    config_overrides: Optional[AsyncfinspaceClientConfig] = None,
    tags: Optional["capo_finspace.types.tag_map.TagMap"] = None,
) -> "capo_finspace.types.create_kx_scaling_group_response.CreateKxScalingGroupResponse":
    """<p>Creates a new scaling group. </p>

    Args:
        client_token: <p>A token that ensures idempotency. This token expires in 10 minutes.</p>
        environment_id: <p>A unique identifier for the kdb environment, where you want to create the scaling group. </p>
        scaling_group_name: <p>A unique identifier for the kdb scaling group. </p>
        host_type: <p> The memory and CPU capabilities of the scaling group host on which FinSpace Managed kdb clusters will be placed.</p> <p>You can add one of the following values:</p> <ul> <li> <p> <code>kx.sg.large</code> – The host type with a configuration of 16 GiB memory and 2 vCPUs.</p> </li> <li> <p> <code>kx.sg.xlarge</code> – The host type with a configuration of 32 GiB memory and 4 vCPUs.</p> </li> <li> <p> <code>kx.sg.2xlarge</code> – The host type with a configuration of 64 GiB memory and 8 vCPUs.</p> </li> <li> <p> <code>kx.sg.4xlarge</code> – The host type with a configuration of 108 GiB memory and 16 vCPUs.</p> </li> <li> <p> <code>kx.sg.8xlarge</code> – The host type with a configuration of 216 GiB memory and 32 vCPUs.</p> </li> <li> <p> <code>kx.sg.16xlarge</code> – The host type with a configuration of 432 GiB memory and 64 vCPUs.</p> </li> <li> <p> <code>kx.sg.32xlarge</code> – The host type with a configuration of 864 GiB memory and 128 vCPUs.</p> </li> <li> <p> <code>kx.sg1.16xlarge</code> – The host type with a configuration of 1949 GiB memory and 64 vCPUs.</p> </li> <li> <p> <code>kx.sg1.24xlarge</code> – The host type with a configuration of 2948 GiB memory and 96 vCPUs.</p> </li> </ul>
        availability_zone_id: <p>The identifier of the availability zones.</p>
        tags: <p> A list of key-value pairs to label the scaling group. You can add up to 50 tags to a scaling group. </p>

    Raises:
        capo_finspace.errors.access_denied_exception.AccessDeniedException: <p>You do not have sufficient access to perform this action.</p>
        capo_finspace.errors.conflict_exception.ConflictException: <p>There was a conflict with this action, and it could not be completed.</p>
        capo_finspace.errors.internal_server_exception.InternalServerException: <p>The request processing has failed because of an unknown error, exception or failure.</p>
        capo_finspace.errors.limit_exceeded_exception.LimitExceededException: <p>A service limit or quota is exceeded.</p>
        capo_finspace.errors.resource_not_found_exception.ResourceNotFoundException: <p>One or more resources can't be found.</p>
        capo_finspace.errors.throttling_exception.ThrottlingException: <p>The request was denied due to request throttling.</p>
        capo_finspace.errors.validation_exception.ValidationException: <p>The input fails to satisfy the constraints specified by an AWS service.</p>
        capo_finspace.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_finspace.types.create_kx_scaling_group_request.CreateKxScalingGroupRequest]",
    ) -> AsyncOperationResponse[
        "capo_finspace.types.create_kx_scaling_group_response.CreateKxScalingGroupResponse"
    ]:
        import capo_finspace._operations.aws_habanero_management_service.create_kx_scaling_group

        (
            output,
            http_response,
        ) = await capo_finspace._operations.aws_habanero_management_service.create_kx_scaling_group.async_create_kx_scaling_group(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    interceptors_, options_ = self.operation_options(
        config_overrides, OperationLogging("CreateKxScalingGroup")
    )
    input_: capo_finspace.types.create_kx_scaling_group_request.CreateKxScalingGroupRequest = {
        "client_token": client_token,
        "environment_id": environment_id,
        "scaling_group_name": scaling_group_name,
        "host_type": host_type,
        "availability_zone_id": availability_zone_id,
    }
    if tags is not None:
        input_["tags"] = tags

    response = await aexecute_pipeline(
        AsyncOperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    await response.response.aclose()
    return response.output