:doc:`EMRContainers <../../emr-containers>` / Client / create_managed_endpoint

***********************
create_managed_endpoint
***********************



.. py:method:: EMRContainers.Client.create_managed_endpoint(**kwargs)

  

  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.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/emr-containers-2020-10-01/CreateManagedEndpoint>`_  


  **Request Syntax**
  ::

    response = client.create_managed_endpoint(
        name='string',
        virtualClusterId='string',
        type='string',
        releaseLabel='string',
        executionRoleArn='string',
        certificateArn='string',
        configurationOverrides={
            'applicationConfiguration': [
                {
                    'classification': 'string',
                    'properties': {
                        'string': 'string'
                    },
                    'configurations': {'... recursive ...'}
                },
            ],
            'monitoringConfiguration': {
                'managedLogs': {
                    'allowAWSToRetainLogs': 'ENABLED'|'DISABLED',
                    'encryptionKeyArn': 'string'
                },
                'persistentAppUI': 'ENABLED'|'DISABLED',
                'cloudWatchMonitoringConfiguration': {
                    'logGroupName': 'string',
                    'logStreamNamePrefix': 'string'
                },
                's3MonitoringConfiguration': {
                    'logUri': 'string'
                },
                'containerLogRotationConfiguration': {
                    'rotationSize': 'string',
                    'maxFilesToKeep': 123
                }
            }
        },
        clientToken='string',
        tags={
            'string': 'string'
        }
    )
    
  :type name: string
  :param name: **[REQUIRED]** 

    The name of the managed endpoint.

    

  
  :type virtualClusterId: string
  :param virtualClusterId: **[REQUIRED]** 

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

    

  
  :type type: string
  :param type: **[REQUIRED]** 

    The type of the managed endpoint.

    

  
  :type releaseLabel: string
  :param releaseLabel: **[REQUIRED]** 

    The Amazon EMR release version.

    

  
  :type executionRoleArn: string
  :param executionRoleArn: **[REQUIRED]** 

    The ARN of the execution role.

    

  
  :type certificateArn: string
  :param certificateArn: 

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

    

  
  :type configurationOverrides: dict
  :param configurationOverrides: 

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

    

  
    - **applicationConfiguration** *(list) --* 

      The configurations for the application running by the job run.

      

    
      - *(dict) --* 

        A configuration specification to be used when provisioning virtual clusters, which can include configurations for applications and software bundled with Amazon EMR on EKS. A configuration consists of a classification, properties, and optional nested configurations. A classification refers to an application-specific configuration file. Properties are the settings you want to change in that file.

        

      
        - **classification** *(string) --* **[REQUIRED]** 

          The classification within a configuration.

          

        
        - **properties** *(dict) --* 

          A set of properties specified within a configuration classification.

          

        
          - *(string) --* 

          
            - *(string) --* 

            
      
    
        - **configurations** *(list) --* 

          A list of additional configurations to apply within a configuration object.

          

        
      
  
    - **monitoringConfiguration** *(dict) --* 

      The configurations for monitoring.

      

    
      - **managedLogs** *(dict) --* 

        The entity that controls configuration for managed logs.

        

      
        - **allowAWSToRetainLogs** *(string) --* 

          Determines whether Amazon Web Services can retain logs.

          

        
        - **encryptionKeyArn** *(string) --* 

          The Amazon resource name (ARN) of the encryption key for logs.

          

        
      
      - **persistentAppUI** *(string) --* 

        Monitoring configurations for the persistent application UI.

        

      
      - **cloudWatchMonitoringConfiguration** *(dict) --* 

        Monitoring configurations for CloudWatch.

        

      
        - **logGroupName** *(string) --* **[REQUIRED]** 

          The name of the log group for log publishing.

          

        
        - **logStreamNamePrefix** *(string) --* 

          The specified name prefix for log streams.

          

        
      
      - **s3MonitoringConfiguration** *(dict) --* 

        Amazon S3 configuration for monitoring log publishing.

        

      
        - **logUri** *(string) --* **[REQUIRED]** 

          Amazon S3 destination URI for log publishing.

          

        
      
      - **containerLogRotationConfiguration** *(dict) --* 

        Enable or disable container log rotation.

        

      
        - **rotationSize** *(string) --* **[REQUIRED]** 

          The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB.

          

        
        - **maxFilesToKeep** *(integer) --* **[REQUIRED]** 

          The number of files to keep in container after rotation.

          

        
      
    
  
  :type clientToken: string
  :param clientToken: **[REQUIRED]** 

    The client idempotency token for this create call.

    This field is autopopulated if not provided.

  
  :type tags: dict
  :param tags: 

    The tags of the managed endpoint.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'id': 'string',
          'name': 'string',
          'arn': 'string',
          'virtualClusterId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **id** *(string) --* 

        The output contains the ID of the managed endpoint.

        
      

      - **name** *(string) --* 

        The output contains the name of the managed endpoint.

        
      

      - **arn** *(string) --* 

        The output contains the ARN of the managed endpoint.

        
      

      - **virtualClusterId** *(string) --* 

        The output contains the ID of the virtual cluster.

        
  
  **Exceptions**
  
  *   :py:class:`EMRContainers.Client.exceptions.ValidationException`

  
  *   :py:class:`EMRContainers.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`EMRContainers.Client.exceptions.InternalServerException`

  