EMRContainers / Client / create_virtual_cluster

create_virtual_cluster

EMRContainers.Client.create_virtual_cluster(**kwargs)

Creates a virtual cluster. Virtual cluster is a managed entity on Amazon EMR on EKS. You can create, update, describe, list and delete virtual clusters. They do not consume any additional resource in your system. A single virtual cluster maps to a single Kubernetes namespace. Given this relationship, you can model virtual clusters the same way you model Kubernetes namespaces to meet your requirements.

See also: AWS API Documentation

Request Syntax

response = client.create_virtual_cluster(
    name='string',
    containerProvider={
        'type': 'EKS',
        'id': 'string',
        'info': {
            'eksInfo': {
                'namespace': 'string',
                'nodeLabel': 'string'
            }
        }
    },
    clientToken='string',
    tags={
        'string': 'string'
    },
    securityConfigurationId='string',
    sessionEnabled=True|False,
    schedulerConfiguration={
        'maxInQueueJobRuns': 123,
        'maxConcurrentJobRuns': 123
    }
)
Parameters:
  • name (string) –

    [REQUIRED]

    The specified name of the virtual cluster.

  • containerProvider (dict) –

    [REQUIRED]

    The container provider of the virtual cluster.

    • type (string) – [REQUIRED]

      The type of the container provider. Amazon EKS is the only supported type as of now.

    • id (string) – [REQUIRED]

      The ID of the container cluster.

    • info (dict) –

      The information about the container cluster.

      Note

      This is a Tagged Union structure. Only one of the following top level keys can be set: eksInfo.

      • eksInfo (dict) –

        The information about the Amazon EKS cluster.

        • namespace (string) –

          The namespaces of the Amazon EKS cluster.

        • nodeLabel (string) –

          The nodeLabel of the nodes where the resources of this virtual cluster can get scheduled. It requires relevant scaling and policy engine addons.

  • clientToken (string) –

    [REQUIRED]

    The client token of the virtual cluster.

    This field is autopopulated if not provided.

  • tags (dict) –

    The tags assigned to the virtual cluster.

    • (string) –

      • (string) –

  • securityConfigurationId (string) – The ID of the security configuration.

  • sessionEnabled (boolean) – Indicates whether the virtual cluster has session support enabled.

  • schedulerConfiguration (dict) –

    The scheduler configuration (concurrency and queue limits) to apply to the virtual cluster at creation time. When omitted, no limits are applied.

    • maxInQueueJobRuns (integer) –

      The maximum number of job runs that can be in the PENDING or SUBMITTED state at any time for the virtual cluster. When the queue is full, the service rejects StartJobRun requests with a ValidationException. If you omit this field, the service applies no queue-depth limit.

    • maxConcurrentJobRuns (integer) –

      The maximum number of job runs that can be in the RUNNING state at any time for the virtual cluster. As running slots free up, queued job runs start automatically. If you omit this field, the service applies no concurrency limit.

Return type:

dict

Returns:

Response Syntax

{
    'id': 'string',
    'name': 'string',
    'arn': 'string'
}

Response Structure

  • (dict) –

    • id (string) –

      This output contains the virtual cluster ID.

    • name (string) –

      This output contains the name of the virtual cluster.

    • arn (string) –

      This output contains the ARN of virtual cluster.

Exceptions