Skip to content

create_managed_endpoint async

create_managed_endpoint(
    name: ResourceNameString,
    virtual_cluster_id: ResourceIdString,
    type: EndpointType,
    release_label: ReleaseLabel,
    execution_role_arn: IAMRoleArn,
    client_token: ClientToken,
    *,
    config_overrides: Optional[AsyncEMRcontainersClientConfig] = None,
    certificate_arn: Optional[ACMCertArn] = None,
    configuration_overrides: Optional[ConfigurationOverrides] = None,
    tags: Optional[TagMap] = None,
    session_idle_timeout_in_minutes: Optional[SessionIdleTimeoutInMinutes] = None,
) -> CreateManagedEndpointResponse

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.

Parameters:

  • name (ResourceNameString) –

    The name of the managed endpoint.

  • virtual_cluster_id (ResourceIdString) –

    The ID of the virtual cluster for which a managed endpoint is created.

  • type (EndpointType) –

    The type of the managed endpoint.

  • release_label (ReleaseLabel) –

    The Amazon EMR release version.

  • execution_role_arn (IAMRoleArn) –

    The ARN of the execution role.

  • certificate_arn (Optional[ACMCertArn], default: None ) –

    The certificate ARN provided by users for the managed endpoint. This field is under deprecation and will be removed in future releases.

  • configuration_overrides (Optional[ConfigurationOverrides], default: None ) –

    The configuration settings that will be used to override existing configurations.

  • client_token (ClientToken) –

    The client idempotency token for this create call.

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

    The tags of the managed endpoint.

  • session_idle_timeout_in_minutes (Optional[SessionIdleTimeoutInMinutes], default: None ) –

    The number of idle minutes before the managed endpoint session times out.

Raises:

Source code in docs_src/capo_emr_containers/_services/async_em_rcontainers.py
async def create_managed_endpoint(
    self,
    name: "capo_emr_containers.types.resource_name_string.ResourceNameString",
    virtual_cluster_id: "capo_emr_containers.types.resource_id_string.ResourceIdString",
    type: "capo_emr_containers.types.endpoint_type.EndpointType",
    release_label: "capo_emr_containers.types.release_label.ReleaseLabel",
    execution_role_arn: "capo_emr_containers.types.iam_role_arn.IAMRoleArn",
    client_token: "capo_emr_containers.types.client_token.ClientToken",
    *,
    config_overrides: Optional[AsyncEMRcontainersClientConfig] = None,
    certificate_arn: Optional[
        "capo_emr_containers.types.acm_cert_arn.ACMCertArn"
    ] = None,
    configuration_overrides: Optional[
        "capo_emr_containers.types.configuration_overrides.ConfigurationOverrides"
    ] = None,
    tags: Optional["capo_emr_containers.types.tag_map.TagMap"] = None,
    session_idle_timeout_in_minutes: Optional[
        "capo_emr_containers.types.session_idle_timeout_in_minutes.SessionIdleTimeoutInMinutes"
    ] = None,
) -> "capo_emr_containers.types.create_managed_endpoint_response.CreateManagedEndpointResponse":
    """<p>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.</p>

    Args:
        name: <p>The name of the managed endpoint.</p>
        virtual_cluster_id: <p>The ID of the virtual cluster for which a managed endpoint is created.</p>
        type: <p>The type of the managed endpoint.</p>
        release_label: <p>The Amazon EMR release version.</p>
        execution_role_arn: <p>The ARN of the execution role.</p>
        certificate_arn: <p>The certificate ARN provided by users for the managed endpoint. This field is under deprecation and will be removed in future releases.</p>
        configuration_overrides: <p>The configuration settings that will be used to override existing configurations.</p>
        client_token: <p>The client idempotency token for this create call.</p>
        tags: <p>The tags of the managed endpoint. </p>
        session_idle_timeout_in_minutes: <p>The number of idle minutes before the managed endpoint session times out.</p>

    Raises:
        capo_emr_containers.errors.internal_server_exception.InternalServerException: <p>This is an internal server exception.</p>
        capo_emr_containers.errors.resource_not_found_exception.ResourceNotFoundException: <p>The specified resource was not found.</p>
        capo_emr_containers.errors.validation_exception.ValidationException: <p>There are invalid parameters in the client request.</p>
        capo_emr_containers.errors.UnknownServiceError: The service returned an error code this client does not model.
    """

    async def _handler(
        req: "AsyncOperationRequest[capo_emr_containers.types.create_managed_endpoint_request.CreateManagedEndpointRequest]",
    ) -> AsyncOperationResponse[
        "capo_emr_containers.types.create_managed_endpoint_response.CreateManagedEndpointResponse"
    ]:
        import capo_emr_containers._operations.aws_chicago_web_service.create_managed_endpoint

        (
            output,
            http_response,
        ) = await capo_emr_containers._operations.aws_chicago_web_service.create_managed_endpoint.async_create_managed_endpoint(
            req.options, req.input
        )
        return AsyncOperationResponse(output=output, response=http_response)

    def _redact_input(
        input_: "capo_emr_containers.types.create_managed_endpoint_request.CreateManagedEndpointRequest",
    ) -> dict[str, Any]:
        import capo_emr_containers.types.create_managed_endpoint_request

        return capo_emr_containers.types.create_managed_endpoint_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("CreateManagedEndpoint", redact_input=_redact_input),
    )
    input_: capo_emr_containers.types.create_managed_endpoint_request.CreateManagedEndpointRequest = {
        "name": name,
        "virtual_cluster_id": virtual_cluster_id,
        "type": type,
        "release_label": release_label,
        "execution_role_arn": execution_role_arn,
        "client_token": client_token,
    }
    if certificate_arn is not None:
        input_["certificate_arn"] = certificate_arn
    if configuration_overrides is not None:
        input_["configuration_overrides"] = configuration_overrides
    if tags is not None:
        input_["tags"] = tags
    if session_idle_timeout_in_minutes is not None:
        input_["session_idle_timeout_in_minutes"] = session_idle_timeout_in_minutes

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