createManagedEndpoint method
Creates a managed endpoint. A managed endpoint is a gateway that connects Amazon EMR Studio to Amazon EMR on EKS so that Amazon EMR Studio can communicate with your virtual cluster.
May throw InternalServerException.
May throw ResourceNotFoundException.
May throw ValidationException.
Parameter executionRoleArn :
The ARN of the execution role.
Parameter name :
The name of the managed endpoint.
Parameter releaseLabel :
The Amazon EMR release version.
Parameter type :
The type of the managed endpoint.
Parameter virtualClusterId :
The ID of the virtual cluster for which a managed endpoint is created.
Parameter certificateArn :
The certificate ARN provided by users for the managed endpoint. This field
is under deprecation and will be removed in future releases.
Parameter clientToken :
The client idempotency token for this create call.
Parameter configurationOverrides :
The configuration settings that will be used to override existing
configurations.
Parameter tags :
The tags of the managed endpoint.
Implementation
Future<CreateManagedEndpointResponse> createManagedEndpoint({
required String executionRoleArn,
required String name,
required String releaseLabel,
required String type,
required String virtualClusterId,
String? certificateArn,
String? clientToken,
ConfigurationOverrides? configurationOverrides,
Map<String, String>? tags,
}) async {
final $payload = <String, dynamic>{
'executionRoleArn': executionRoleArn,
'name': name,
'releaseLabel': releaseLabel,
'type': type,
if (certificateArn != null) 'certificateArn': certificateArn,
'clientToken': clientToken ?? _s.generateIdempotencyToken(),
if (configurationOverrides != null)
'configurationOverrides': configurationOverrides,
if (tags != null) 'tags': tags,
};
final response = await _protocol.send(
payload: $payload,
method: 'POST',
requestUri:
'/virtualclusters/${Uri.encodeComponent(virtualClusterId)}/endpoints',
exceptionFnMap: _exceptionFns,
);
return CreateManagedEndpointResponse.fromJson(response);
}