createVirtualCluster method

Future<CreateVirtualClusterResponse> createVirtualCluster({
  1. required ContainerProvider containerProvider,
  2. required String name,
  3. String? clientToken,
  4. SchedulerConfiguration? schedulerConfiguration,
  5. String? securityConfigurationId,
  6. bool? sessionEnabled,
  7. Map<String, String>? tags,
})

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.

May throw EKSRequestThrottledException. May throw InternalServerException. May throw ResourceNotFoundException. May throw ValidationException.

Parameter containerProvider : The container provider of the virtual cluster.

Parameter name : The specified name of the virtual cluster.

Parameter clientToken : The client token of the virtual cluster.

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

Parameter securityConfigurationId : The ID of the security configuration.

Parameter sessionEnabled : Indicates whether the virtual cluster has session support enabled.

Parameter tags : The tags assigned to the virtual cluster.

Implementation

Future<CreateVirtualClusterResponse> createVirtualCluster({
  required ContainerProvider containerProvider,
  required String name,
  String? clientToken,
  SchedulerConfiguration? schedulerConfiguration,
  String? securityConfigurationId,
  bool? sessionEnabled,
  Map<String, String>? tags,
}) async {
  final $payload = <String, dynamic>{
    'containerProvider': containerProvider,
    'name': name,
    'clientToken': clientToken ?? _s.generateIdempotencyToken(),
    if (schedulerConfiguration != null)
      'schedulerConfiguration': schedulerConfiguration,
    if (securityConfigurationId != null)
      'securityConfigurationId': securityConfigurationId,
    if (sessionEnabled != null) 'sessionEnabled': sessionEnabled,
    if (tags != null) 'tags': tags,
  };
  final response = await _protocol.send(
    payload: $payload,
    method: 'POST',
    requestUri: '/virtualclusters',
    exceptionFnMap: _exceptionFns,
  );
  return CreateVirtualClusterResponse.fromJson(response);
}