EMRContainers ************* Client ====== class EMRContainers.Client A low-level client representing Amazon EMR Containers Amazon EMR on EKS provides a deployment option for Amazon EMR that allows you to run open-source big data frameworks on Amazon Elastic Kubernetes Service (Amazon EKS). With this deployment option, you can focus on running analytics workloads while Amazon EMR on EKS builds, configures, and manages containers for open-source applications. For more information about Amazon EMR on EKS concepts and tasks, see What is Amazon EMR on EKS. *Amazon EMR containers* is the API name for Amazon EMR on EKS. The "emr-containers" prefix is used in the following scenarios: * It is the prefix in the CLI commands for Amazon EMR on EKS. For example, "aws emr-containers start-job-run". * It is the prefix before IAM policy actions for Amazon EMR on EKS. For example, ""Action": [ "emr-containers:StartJobRun"]". For more information, see Policy actions for Amazon EMR on EKS. * It is the prefix used in Amazon EMR on EKS service endpoints. For example, "emr-containers.us-east-2.amazonaws.com". For more information, see Amazon EMR on EKSService Endpoints. import boto3 client = boto3.client('emr-containers') These are the available methods: * can_paginate * cancel_job_run * close * create_job_template * create_managed_endpoint * create_security_configuration * create_virtual_cluster * delete_job_template * delete_managed_endpoint * delete_virtual_cluster * describe_job_run * describe_job_template * describe_managed_endpoint * describe_security_configuration * describe_virtual_cluster * get_managed_endpoint_session_credentials * get_paginator * get_waiter * list_job_runs * list_job_templates * list_managed_endpoints * list_security_configurations * list_tags_for_resource * list_virtual_clusters * start_job_run * tag_resource * untag_resource Paginators ========== Paginators are available on a client instance via the "get_paginator" method. For more detailed instructions and examples on the usage of paginators, see the paginators user guide. The available paginators are: * ListJobRuns * ListJobTemplates * ListManagedEndpoints * ListSecurityConfigurations * ListVirtualClusters EMRContainers / Paginator / ListVirtualClusters ListVirtualClusters ******************* class EMRContainers.Paginator.ListVirtualClusters paginator = client.get_paginator('list_virtual_clusters') paginate(**kwargs) Creates an iterator that will paginate through responses from "EMRContainers.Client.list_virtual_clusters()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( containerProviderId='string', containerProviderType='EKS', createdAfter=datetime(2015, 1, 1), createdBefore=datetime(2015, 1, 1), states=[ 'RUNNING'|'TERMINATING'|'TERMINATED'|'ARRESTED', ], eksAccessEntryIntegrated=True|False, PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **containerProviderId** (*string*) -- The container provider ID of the virtual cluster. * **containerProviderType** (*string*) -- The container provider type of the virtual cluster. Amazon EKS is the only supported type as of now. * **createdAfter** (*datetime*) -- The date and time after which the virtual clusters are created. * **createdBefore** (*datetime*) -- The date and time before which the virtual clusters are created. * **states** (*list*) -- The states of the requested virtual clusters. * *(string) --* * **eksAccessEntryIntegrated** (*boolean*) -- Optional Boolean that specifies whether the operation should return the virtual clusters that have the access entry integration enabled or disabled. If not specified, the operation returns all applicable virtual clusters. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'virtualClusters': [ { 'id': 'string', 'name': 'string', 'arn': 'string', 'state': 'RUNNING'|'TERMINATING'|'TERMINATED'|'ARRESTED', 'containerProvider': { 'type': 'EKS', 'id': 'string', 'info': { 'eksInfo': { 'namespace': 'string' } } }, 'createdAt': datetime(2015, 1, 1), 'tags': { 'string': 'string' }, 'securityConfigurationId': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **virtualClusters** *(list) --* This output lists the specified virtual clusters. * *(dict) --* This entity describes a virtual cluster. A virtual cluster is a Kubernetes namespace that Amazon EMR is registered with. Amazon EMR uses virtual clusters to run jobs and host endpoints. Multiple virtual clusters can be backed by the same physical cluster. However, each virtual cluster maps to one namespace on an Amazon EKS cluster. Virtual clusters do not create any active resources that contribute to your bill or that require lifecycle management outside the service. * **id** *(string) --* The ID of the virtual cluster. * **name** *(string) --* The name of the virtual cluster. * **arn** *(string) --* The ARN of the virtual cluster. * **state** *(string) --* The state of the virtual cluster. * **containerProvider** *(dict) --* The container provider of the virtual cluster. * **type** *(string) --* The type of the container provider. Amazon EKS is the only supported type as of now. * **id** *(string) --* 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 will be set: "eksInfo". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **eksInfo** *(dict) --* The information about the Amazon EKS cluster. * **namespace** *(string) --* The namespaces of the Amazon EKS cluster. * **createdAt** *(datetime) --* The date and time when the virtual cluster is created. * **tags** *(dict) --* The assigned tags of the virtual cluster. * *(string) --* * *(string) --* * **securityConfigurationId** *(string) --* The ID of the security configuration. * **NextToken** *(string) --* A token to resume pagination. EMRContainers / Paginator / ListJobTemplates ListJobTemplates **************** class EMRContainers.Paginator.ListJobTemplates paginator = client.get_paginator('list_job_templates') paginate(**kwargs) Creates an iterator that will paginate through responses from "EMRContainers.Client.list_job_templates()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( createdAfter=datetime(2015, 1, 1), createdBefore=datetime(2015, 1, 1), PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **createdAfter** (*datetime*) -- The date and time after which the job templates were created. * **createdBefore** (*datetime*) -- The date and time before which the job templates were created. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'templates': [ { 'name': 'string', 'id': 'string', 'arn': 'string', 'createdAt': datetime(2015, 1, 1), 'createdBy': 'string', 'tags': { 'string': 'string' }, 'jobTemplateData': { 'executionRoleArn': 'string', 'releaseLabel': 'string', 'configurationOverrides': { 'applicationConfiguration': [ { 'classification': 'string', 'properties': { 'string': 'string' }, 'configurations': {'... recursive ...'} }, ], 'monitoringConfiguration': { 'persistentAppUI': 'string', 'cloudWatchMonitoringConfiguration': { 'logGroupName': 'string', 'logStreamNamePrefix': 'string' }, 's3MonitoringConfiguration': { 'logUri': 'string' } } }, 'jobDriver': { 'sparkSubmitJobDriver': { 'entryPoint': 'string', 'entryPointArguments': [ 'string', ], 'sparkSubmitParameters': 'string' }, 'sparkSqlJobDriver': { 'entryPoint': 'string', 'sparkSqlParameters': 'string' } }, 'parameterConfiguration': { 'string': { 'type': 'NUMBER'|'STRING', 'defaultValue': 'string' } }, 'jobTags': { 'string': 'string' } }, 'kmsKeyArn': 'string', 'decryptionError': 'string' }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **templates** *(list) --* This output lists information about the specified job templates. * *(dict) --* This entity describes a job template. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request. * **name** *(string) --* The name of the job template. * **id** *(string) --* The ID of the job template. * **arn** *(string) --* The ARN of the job template. * **createdAt** *(datetime) --* The date and time when the job template was created. * **createdBy** *(string) --* The user who created the job template. * **tags** *(dict) --* The tags assigned to the job template. * *(string) --* * *(string) --* * **jobTemplateData** *(dict) --* The job template data which holds values of StartJobRun API request. * **executionRoleArn** *(string) --* The execution role ARN of the job run. * **releaseLabel** *(string) --* The release version of Amazon EMR. * **configurationOverrides** *(dict) --* The configuration settings that are used to override defaults configuration. * **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) --* 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. * **persistentAppUI** *(string) --* Monitoring configurations for the persistent application UI. * **cloudWatchMonitoringConfiguration** *(dict) --* Monitoring configurations for CloudWatch. * **logGroupName** *(string) --* 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) --* Amazon S3 destination URI for log publishing. * **jobDriver** *(dict) --* Specify the driver that the job runs on. Exactly one of the two available job drivers is required, either sparkSqlJobDriver or sparkSubmitJobDriver. * **sparkSubmitJobDriver** *(dict) --* The job driver parameters specified for spark submit. * **entryPoint** *(string) --* The entry point of job application. * **entryPointArguments** *(list) --* The arguments for job application. * *(string) --* * **sparkSubmitParameters** *(string) --* The Spark submit parameters that are used for job runs. * **sparkSqlJobDriver** *(dict) --* The job driver for job type. * **entryPoint** *(string) --* The SQL file to be executed. * **sparkSqlParameters** *(string) --* The Spark parameters to be included in the Spark SQL command. * **parameterConfiguration** *(dict) --* The configuration of parameters existing in the job template. * *(string) --* * *(dict) --* The configuration of a job template parameter. * **type** *(string) --* The type of the job template parameter. Allowed values are: ‘STRING’, ‘NUMBER’. * **defaultValue** *(string) --* The default value for the job template parameter. * **jobTags** *(dict) --* The tags assigned to jobs started using the job template. * *(string) --* * *(string) --* * **kmsKeyArn** *(string) --* The KMS key ARN used to encrypt the job template. * **decryptionError** *(string) --* The error message in case the decryption of job template fails. * **NextToken** *(string) --* A token to resume pagination. EMRContainers / Paginator / ListSecurityConfigurations ListSecurityConfigurations ************************** class EMRContainers.Paginator.ListSecurityConfigurations paginator = client.get_paginator('list_security_configurations') paginate(**kwargs) Creates an iterator that will paginate through responses from "EMRContainers.Client.list_security_configurations()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( createdAfter=datetime(2015, 1, 1), createdBefore=datetime(2015, 1, 1), PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **createdAfter** (*datetime*) -- The date and time after which the security configuration was created. * **createdBefore** (*datetime*) -- The date and time before which the security configuration was created. * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'securityConfigurations': [ { 'id': 'string', 'name': 'string', 'arn': 'string', 'createdAt': datetime(2015, 1, 1), 'createdBy': 'string', 'securityConfigurationData': { 'authorizationConfiguration': { 'lakeFormationConfiguration': { 'authorizedSessionTagValue': 'string', 'secureNamespaceInfo': { 'clusterId': 'string', 'namespace': 'string' }, 'queryEngineRoleArn': 'string' }, 'encryptionConfiguration': { 'inTransitEncryptionConfiguration': { 'tlsCertificateConfiguration': { 'certificateProviderType': 'PEM', 'publicCertificateSecretArn': 'string', 'privateCertificateSecretArn': 'string' } } } } }, 'tags': { 'string': 'string' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **securityConfigurations** *(list) --* The list of returned security configurations. * *(dict) --* Inputs related to the security configuration. Security configurations in Amazon EMR on EKS are templates for different security setups. You can use security configurations to configure the Lake Formation integration setup. You can also create a security configuration to re-use a security setup each time you create a virtual cluster. * **id** *(string) --* The ID of the security configuration. * **name** *(string) --* The name of the security configuration. * **arn** *(string) --* The ARN (Amazon Resource Name) of the security configuration. * **createdAt** *(datetime) --* The date and time that the job run was created. * **createdBy** *(string) --* The user who created the job run. * **securityConfigurationData** *(dict) --* Security configuration inputs for the request. * **authorizationConfiguration** *(dict) --* Authorization-related configuration input for the security configuration. * **lakeFormationConfiguration** *(dict) --* Lake Formation related configuration inputs for the security configuration. * **authorizedSessionTagValue** *(string) --* The session tag to authorize Amazon EMR on EKS for API calls to Lake Formation. * **secureNamespaceInfo** *(dict) --* The namespace input of the system job. * **clusterId** *(string) --* The ID of the Amazon EKS cluster where Amazon EMR on EKS jobs run. * **namespace** *(string) --* The namespace of the Amazon EKS cluster where the system jobs run. * **queryEngineRoleArn** *(string) --* The query engine IAM role ARN that is tied to the secure Spark job. The "QueryEngine" role assumes the "JobExecutionRole" to execute all the Lake Formation calls. * **encryptionConfiguration** *(dict) --* Encryption-related configuration input for the security configuration. * **inTransitEncryptionConfiguration** *(dict) --* In-transit encryption-related input for the security configuration. * **tlsCertificateConfiguration** *(dict) --* TLS certificate-related configuration input for the security configuration. * **certificateProviderType** *(string) --* The TLS certificate type. Acceptable values: "PEM" or "Custom". * **publicCertificateSecretArn** *(string) --* Secrets Manager ARN that contains the public TLS certificate contents, used for communication between the user job and the system job. * **privateCertificateSecretArn** *(string) --* Secrets Manager ARN that contains the private TLS certificate contents, used for communication between the user job and the system job. * **tags** *(dict) --* The tags to assign to the security configuration. * *(string) --* * *(string) --* * **NextToken** *(string) --* A token to resume pagination. EMRContainers / Paginator / ListJobRuns ListJobRuns *********** class EMRContainers.Paginator.ListJobRuns paginator = client.get_paginator('list_job_runs') paginate(**kwargs) Creates an iterator that will paginate through responses from "EMRContainers.Client.list_job_runs()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( virtualClusterId='string', createdBefore=datetime(2015, 1, 1), createdAfter=datetime(2015, 1, 1), name='string', states=[ 'PENDING'|'SUBMITTED'|'RUNNING'|'FAILED'|'CANCELLED'|'CANCEL_PENDING'|'COMPLETED', ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **virtualClusterId** (*string*) -- **[REQUIRED]** The ID of the virtual cluster for which to list the job run. * **createdBefore** (*datetime*) -- The date and time before which the job runs were submitted. * **createdAfter** (*datetime*) -- The date and time after which the job runs were submitted. * **name** (*string*) -- The name of the job run. * **states** (*list*) -- The states of the job run. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'jobRuns': [ { 'id': 'string', 'name': 'string', 'virtualClusterId': 'string', 'arn': 'string', 'state': 'PENDING'|'SUBMITTED'|'RUNNING'|'FAILED'|'CANCELLED'|'CANCEL_PENDING'|'COMPLETED', 'clientToken': 'string', 'executionRoleArn': 'string', 'releaseLabel': '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 } } }, 'jobDriver': { 'sparkSubmitJobDriver': { 'entryPoint': 'string', 'entryPointArguments': [ 'string', ], 'sparkSubmitParameters': 'string' }, 'sparkSqlJobDriver': { 'entryPoint': 'string', 'sparkSqlParameters': 'string' } }, 'createdAt': datetime(2015, 1, 1), 'createdBy': 'string', 'finishedAt': datetime(2015, 1, 1), 'stateDetails': 'string', 'failureReason': 'INTERNAL_ERROR'|'USER_ERROR'|'VALIDATION_ERROR'|'CLUSTER_UNAVAILABLE', 'tags': { 'string': 'string' }, 'retryPolicyConfiguration': { 'maxAttempts': 123 }, 'retryPolicyExecution': { 'currentAttemptCount': 123 } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **jobRuns** *(list) --* This output lists information about the specified job runs. * *(dict) --* This entity describes a job run. A job run is a unit of work, such as a Spark jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS. * **id** *(string) --* The ID of the job run. * **name** *(string) --* The name of the job run. * **virtualClusterId** *(string) --* The ID of the job run's virtual cluster. * **arn** *(string) --* The ARN of job run. * **state** *(string) --* The state of the job run. * **clientToken** *(string) --* The client token used to start a job run. * **executionRoleArn** *(string) --* The execution role ARN of the job run. * **releaseLabel** *(string) --* The release version of Amazon EMR. * **configurationOverrides** *(dict) --* The configuration settings that are used to override default configuration. * **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) --* 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) --* 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) --* Amazon S3 destination URI for log publishing. * **containerLogRotationConfiguration** *(dict) --* Enable or disable container log rotation. * **rotationSize** *(string) --* The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB. * **maxFilesToKeep** *(integer) --* The number of files to keep in container after rotation. * **jobDriver** *(dict) --* Parameters of job driver for the job run. * **sparkSubmitJobDriver** *(dict) --* The job driver parameters specified for spark submit. * **entryPoint** *(string) --* The entry point of job application. * **entryPointArguments** *(list) --* The arguments for job application. * *(string) --* * **sparkSubmitParameters** *(string) --* The Spark submit parameters that are used for job runs. * **sparkSqlJobDriver** *(dict) --* The job driver for job type. * **entryPoint** *(string) --* The SQL file to be executed. * **sparkSqlParameters** *(string) --* The Spark parameters to be included in the Spark SQL command. * **createdAt** *(datetime) --* The date and time when the job run was created. * **createdBy** *(string) --* The user who created the job run. * **finishedAt** *(datetime) --* The date and time when the job run has finished. * **stateDetails** *(string) --* Additional details of the job run state. * **failureReason** *(string) --* The reasons why the job run has failed. * **tags** *(dict) --* The assigned tags of the job run. * *(string) --* * *(string) --* * **retryPolicyConfiguration** *(dict) --* The configuration of the retry policy that the job runs on. * **maxAttempts** *(integer) --* The maximum number of attempts on the job's driver. * **retryPolicyExecution** *(dict) --* The current status of the retry policy executed on the job. * **currentAttemptCount** *(integer) --* The current number of attempts made on the driver of the job. * **NextToken** *(string) --* A token to resume pagination. EMRContainers / Paginator / ListManagedEndpoints ListManagedEndpoints ******************** class EMRContainers.Paginator.ListManagedEndpoints paginator = client.get_paginator('list_managed_endpoints') paginate(**kwargs) Creates an iterator that will paginate through responses from "EMRContainers.Client.list_managed_endpoints()". See also: AWS API Documentation **Request Syntax** response_iterator = paginator.paginate( virtualClusterId='string', createdBefore=datetime(2015, 1, 1), createdAfter=datetime(2015, 1, 1), types=[ 'string', ], states=[ 'CREATING'|'ACTIVE'|'TERMINATING'|'TERMINATED'|'TERMINATED_WITH_ERRORS', ], PaginationConfig={ 'MaxItems': 123, 'PageSize': 123, 'StartingToken': 'string' } ) Parameters: * **virtualClusterId** (*string*) -- **[REQUIRED]** The ID of the virtual cluster. * **createdBefore** (*datetime*) -- The date and time before which the endpoints are created. * **createdAfter** (*datetime*) -- The date and time after which the endpoints are created. * **types** (*list*) -- The types of the managed endpoints. * *(string) --* * **states** (*list*) -- The states of the managed endpoints. * *(string) --* * **PaginationConfig** (*dict*) -- A dictionary that provides parameters to control pagination. * **MaxItems** *(integer) --* The total number of items to return. If the total number of items available is more than the value specified in max-items then a "NextToken" will be provided in the output that you can use to resume pagination. * **PageSize** *(integer) --* The size of each page. * **StartingToken** *(string) --* A token to specify where to start paginating. This is the "NextToken" from a previous response. Return type: dict Returns: **Response Syntax** { 'endpoints': [ { 'id': 'string', 'name': 'string', 'arn': 'string', 'virtualClusterId': 'string', 'type': 'string', 'state': 'CREATING'|'ACTIVE'|'TERMINATING'|'TERMINATED'|'TERMINATED_WITH_ERRORS', 'releaseLabel': 'string', 'executionRoleArn': 'string', 'certificateArn': 'string', 'certificateAuthority': { 'certificateArn': 'string', 'certificateData': '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 } } }, 'serverUrl': 'string', 'createdAt': datetime(2015, 1, 1), 'securityGroup': 'string', 'subnetIds': [ 'string', ], 'stateDetails': 'string', 'failureReason': 'INTERNAL_ERROR'|'USER_ERROR'|'VALIDATION_ERROR'|'CLUSTER_UNAVAILABLE', 'tags': { 'string': 'string' } }, ], 'NextToken': 'string' } **Response Structure** * *(dict) --* * **endpoints** *(list) --* The managed endpoints to be listed. * *(dict) --* This entity represents the endpoint that is managed by Amazon EMR on EKS. * **id** *(string) --* The ID of the endpoint. * **name** *(string) --* The name of the endpoint. * **arn** *(string) --* The ARN of the endpoint. * **virtualClusterId** *(string) --* The ID of the endpoint's virtual cluster. * **type** *(string) --* The type of the endpoint. * **state** *(string) --* The state of the endpoint. * **releaseLabel** *(string) --* The EMR release version to be used for the endpoint. * **executionRoleArn** *(string) --* The execution role ARN of the endpoint. * **certificateArn** *(string) --* The certificate ARN of the endpoint. This field is under deprecation and will be removed in future. * **certificateAuthority** *(dict) --* The certificate generated by emr control plane on customer behalf to secure the managed endpoint. * **certificateArn** *(string) --* The ARN of the certificate generated for managed endpoint. * **certificateData** *(string) --* The base64 encoded PEM certificate data generated for managed endpoint. * **configurationOverrides** *(dict) --* The configuration settings that are used to override existing configurations for endpoints. * **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) --* 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) --* 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) --* Amazon S3 destination URI for log publishing. * **containerLogRotationConfiguration** *(dict) --* Enable or disable container log rotation. * **rotationSize** *(string) --* The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB. * **maxFilesToKeep** *(integer) --* The number of files to keep in container after rotation. * **serverUrl** *(string) --* The server URL of the endpoint. * **createdAt** *(datetime) --* The date and time when the endpoint was created. * **securityGroup** *(string) --* The security group configuration of the endpoint. * **subnetIds** *(list) --* The subnet IDs of the endpoint. * *(string) --* * **stateDetails** *(string) --* Additional details of the endpoint state. * **failureReason** *(string) --* The reasons why the endpoint has failed. * **tags** *(dict) --* The tags of the endpoint. * *(string) --* * *(string) --* * **NextToken** *(string) --* A token to resume pagination. EMRContainers / Client / describe_job_template describe_job_template ********************* EMRContainers.Client.describe_job_template(**kwargs) Displays detailed information about a specified job template. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request. See also: AWS API Documentation **Request Syntax** response = client.describe_job_template( id='string' ) Parameters: **id** (*string*) -- **[REQUIRED]** The ID of the job template that will be described. Return type: dict Returns: **Response Syntax** { 'jobTemplate': { 'name': 'string', 'id': 'string', 'arn': 'string', 'createdAt': datetime(2015, 1, 1), 'createdBy': 'string', 'tags': { 'string': 'string' }, 'jobTemplateData': { 'executionRoleArn': 'string', 'releaseLabel': 'string', 'configurationOverrides': { 'applicationConfiguration': [ { 'classification': 'string', 'properties': { 'string': 'string' }, 'configurations': {'... recursive ...'} }, ], 'monitoringConfiguration': { 'persistentAppUI': 'string', 'cloudWatchMonitoringConfiguration': { 'logGroupName': 'string', 'logStreamNamePrefix': 'string' }, 's3MonitoringConfiguration': { 'logUri': 'string' } } }, 'jobDriver': { 'sparkSubmitJobDriver': { 'entryPoint': 'string', 'entryPointArguments': [ 'string', ], 'sparkSubmitParameters': 'string' }, 'sparkSqlJobDriver': { 'entryPoint': 'string', 'sparkSqlParameters': 'string' } }, 'parameterConfiguration': { 'string': { 'type': 'NUMBER'|'STRING', 'defaultValue': 'string' } }, 'jobTags': { 'string': 'string' } }, 'kmsKeyArn': 'string', 'decryptionError': 'string' } } **Response Structure** * *(dict) --* * **jobTemplate** *(dict) --* This output displays information about the specified job template. * **name** *(string) --* The name of the job template. * **id** *(string) --* The ID of the job template. * **arn** *(string) --* The ARN of the job template. * **createdAt** *(datetime) --* The date and time when the job template was created. * **createdBy** *(string) --* The user who created the job template. * **tags** *(dict) --* The tags assigned to the job template. * *(string) --* * *(string) --* * **jobTemplateData** *(dict) --* The job template data which holds values of StartJobRun API request. * **executionRoleArn** *(string) --* The execution role ARN of the job run. * **releaseLabel** *(string) --* The release version of Amazon EMR. * **configurationOverrides** *(dict) --* The configuration settings that are used to override defaults configuration. * **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) --* 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. * **persistentAppUI** *(string) --* Monitoring configurations for the persistent application UI. * **cloudWatchMonitoringConfiguration** *(dict) --* Monitoring configurations for CloudWatch. * **logGroupName** *(string) --* 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) --* Amazon S3 destination URI for log publishing. * **jobDriver** *(dict) --* Specify the driver that the job runs on. Exactly one of the two available job drivers is required, either sparkSqlJobDriver or sparkSubmitJobDriver. * **sparkSubmitJobDriver** *(dict) --* The job driver parameters specified for spark submit. * **entryPoint** *(string) --* The entry point of job application. * **entryPointArguments** *(list) --* The arguments for job application. * *(string) --* * **sparkSubmitParameters** *(string) --* The Spark submit parameters that are used for job runs. * **sparkSqlJobDriver** *(dict) --* The job driver for job type. * **entryPoint** *(string) --* The SQL file to be executed. * **sparkSqlParameters** *(string) --* The Spark parameters to be included in the Spark SQL command. * **parameterConfiguration** *(dict) --* The configuration of parameters existing in the job template. * *(string) --* * *(dict) --* The configuration of a job template parameter. * **type** *(string) --* The type of the job template parameter. Allowed values are: ‘STRING’, ‘NUMBER’. * **defaultValue** *(string) --* The default value for the job template parameter. * **jobTags** *(dict) --* The tags assigned to jobs started using the job template. * *(string) --* * *(string) --* * **kmsKeyArn** *(string) --* The KMS key ARN used to encrypt the job template. * **decryptionError** *(string) --* The error message in case the decryption of job template fails. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / get_paginator get_paginator ************* EMRContainers.Client.get_paginator(operation_name) Create a paginator for an operation. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Raises: **OperationNotPageableError** -- Raised if the operation is not pageable. You can use the "client.can_paginate" method to check if an operation is pageable. Return type: "botocore.paginate.Paginator" Returns: A paginator object. EMRContainers / Client / delete_managed_endpoint delete_managed_endpoint *********************** EMRContainers.Client.delete_managed_endpoint(**kwargs) Deletes 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 **Request Syntax** response = client.delete_managed_endpoint( id='string', virtualClusterId='string' ) Parameters: * **id** (*string*) -- **[REQUIRED]** The ID of the managed endpoint. * **virtualClusterId** (*string*) -- **[REQUIRED]** The ID of the endpoint's virtual cluster. Return type: dict Returns: **Response Syntax** { 'id': 'string', 'virtualClusterId': 'string' } **Response Structure** * *(dict) --* * **id** *(string) --* The output displays the ID of the managed endpoint. * **virtualClusterId** *(string) --* The output displays the ID of the endpoint's virtual cluster. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / describe_managed_endpoint describe_managed_endpoint ************************* EMRContainers.Client.describe_managed_endpoint(**kwargs) Displays detailed information about 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 **Request Syntax** response = client.describe_managed_endpoint( id='string', virtualClusterId='string' ) Parameters: * **id** (*string*) -- **[REQUIRED]** This output displays ID of the managed endpoint. * **virtualClusterId** (*string*) -- **[REQUIRED]** The ID of the endpoint's virtual cluster. Return type: dict Returns: **Response Syntax** { 'endpoint': { 'id': 'string', 'name': 'string', 'arn': 'string', 'virtualClusterId': 'string', 'type': 'string', 'state': 'CREATING'|'ACTIVE'|'TERMINATING'|'TERMINATED'|'TERMINATED_WITH_ERRORS', 'releaseLabel': 'string', 'executionRoleArn': 'string', 'certificateArn': 'string', 'certificateAuthority': { 'certificateArn': 'string', 'certificateData': '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 } } }, 'serverUrl': 'string', 'createdAt': datetime(2015, 1, 1), 'securityGroup': 'string', 'subnetIds': [ 'string', ], 'stateDetails': 'string', 'failureReason': 'INTERNAL_ERROR'|'USER_ERROR'|'VALIDATION_ERROR'|'CLUSTER_UNAVAILABLE', 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **endpoint** *(dict) --* This output displays information about a managed endpoint. * **id** *(string) --* The ID of the endpoint. * **name** *(string) --* The name of the endpoint. * **arn** *(string) --* The ARN of the endpoint. * **virtualClusterId** *(string) --* The ID of the endpoint's virtual cluster. * **type** *(string) --* The type of the endpoint. * **state** *(string) --* The state of the endpoint. * **releaseLabel** *(string) --* The EMR release version to be used for the endpoint. * **executionRoleArn** *(string) --* The execution role ARN of the endpoint. * **certificateArn** *(string) --* The certificate ARN of the endpoint. This field is under deprecation and will be removed in future. * **certificateAuthority** *(dict) --* The certificate generated by emr control plane on customer behalf to secure the managed endpoint. * **certificateArn** *(string) --* The ARN of the certificate generated for managed endpoint. * **certificateData** *(string) --* The base64 encoded PEM certificate data generated for managed endpoint. * **configurationOverrides** *(dict) --* The configuration settings that are used to override existing configurations for endpoints. * **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) --* 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) --* 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) --* Amazon S3 destination URI for log publishing. * **containerLogRotationConfiguration** *(dict) --* Enable or disable container log rotation. * **rotationSize** *(string) --* The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB. * **maxFilesToKeep** *(integer) --* The number of files to keep in container after rotation. * **serverUrl** *(string) --* The server URL of the endpoint. * **createdAt** *(datetime) --* The date and time when the endpoint was created. * **securityGroup** *(string) --* The security group configuration of the endpoint. * **subnetIds** *(list) --* The subnet IDs of the endpoint. * *(string) --* * **stateDetails** *(string) --* Additional details of the endpoint state. * **failureReason** *(string) --* The reasons why the endpoint has failed. * **tags** *(dict) --* The tags of the endpoint. * *(string) --* * *(string) --* **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / can_paginate can_paginate ************ EMRContainers.Client.can_paginate(operation_name) Check if an operation can be paginated. Parameters: **operation_name** (*string*) -- The operation name. This is the same name as the method name on the client. For example, if the method name is "create_foo", and you'd normally invoke the operation as "client.create_foo(**kwargs)", if the "create_foo" operation can be paginated, you can use the call "client.get_paginator("create_foo")". Returns: "True" if the operation can be paginated, "False" otherwise. EMRContainers / Client / create_job_template create_job_template ******************* EMRContainers.Client.create_job_template(**kwargs) Creates a job template. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request. See also: AWS API Documentation **Request Syntax** response = client.create_job_template( name='string', clientToken='string', jobTemplateData={ 'executionRoleArn': 'string', 'releaseLabel': 'string', 'configurationOverrides': { 'applicationConfiguration': [ { 'classification': 'string', 'properties': { 'string': 'string' }, 'configurations': {'... recursive ...'} }, ], 'monitoringConfiguration': { 'persistentAppUI': 'string', 'cloudWatchMonitoringConfiguration': { 'logGroupName': 'string', 'logStreamNamePrefix': 'string' }, 's3MonitoringConfiguration': { 'logUri': 'string' } } }, 'jobDriver': { 'sparkSubmitJobDriver': { 'entryPoint': 'string', 'entryPointArguments': [ 'string', ], 'sparkSubmitParameters': 'string' }, 'sparkSqlJobDriver': { 'entryPoint': 'string', 'sparkSqlParameters': 'string' } }, 'parameterConfiguration': { 'string': { 'type': 'NUMBER'|'STRING', 'defaultValue': 'string' } }, 'jobTags': { 'string': 'string' } }, tags={ 'string': 'string' }, kmsKeyArn='string' ) Parameters: * **name** (*string*) -- **[REQUIRED]** The specified name of the job template. * **clientToken** (*string*) -- **[REQUIRED]** The client token of the job template. This field is autopopulated if not provided. * **jobTemplateData** (*dict*) -- **[REQUIRED]** The job template data which holds values of StartJobRun API request. * **executionRoleArn** *(string) --* **[REQUIRED]** The execution role ARN of the job run. * **releaseLabel** *(string) --* **[REQUIRED]** The release version of Amazon EMR. * **configurationOverrides** *(dict) --* The configuration settings that are used to override defaults configuration. * **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. * **persistentAppUI** *(string) --* Monitoring configurations for the persistent application UI. * **cloudWatchMonitoringConfiguration** *(dict) --* Monitoring configurations for CloudWatch. * **logGroupName** *(string) --* 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) --* Amazon S3 destination URI for log publishing. * **jobDriver** *(dict) --* **[REQUIRED]** Specify the driver that the job runs on. Exactly one of the two available job drivers is required, either sparkSqlJobDriver or sparkSubmitJobDriver. * **sparkSubmitJobDriver** *(dict) --* The job driver parameters specified for spark submit. * **entryPoint** *(string) --* **[REQUIRED]** The entry point of job application. * **entryPointArguments** *(list) --* The arguments for job application. * *(string) --* * **sparkSubmitParameters** *(string) --* The Spark submit parameters that are used for job runs. * **sparkSqlJobDriver** *(dict) --* The job driver for job type. * **entryPoint** *(string) --* The SQL file to be executed. * **sparkSqlParameters** *(string) --* The Spark parameters to be included in the Spark SQL command. * **parameterConfiguration** *(dict) --* The configuration of parameters existing in the job template. * *(string) --* * *(dict) --* The configuration of a job template parameter. * **type** *(string) --* The type of the job template parameter. Allowed values are: ‘STRING’, ‘NUMBER’. * **defaultValue** *(string) --* The default value for the job template parameter. * **jobTags** *(dict) --* The tags assigned to jobs started using the job template. * *(string) --* * *(string) --* * **tags** (*dict*) -- The tags that are associated with the job template. * *(string) --* * *(string) --* * **kmsKeyArn** (*string*) -- The KMS key ARN used to encrypt the job template. Return type: dict Returns: **Response Syntax** { 'id': 'string', 'name': 'string', 'arn': 'string', 'createdAt': datetime(2015, 1, 1) } **Response Structure** * *(dict) --* * **id** *(string) --* This output display the created job template ID. * **name** *(string) --* This output displays the name of the created job template. * **arn** *(string) --* This output display the ARN of the created job template. * **createdAt** *(datetime) --* This output displays the date and time when the job template was created. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / list_managed_endpoints list_managed_endpoints ********************** EMRContainers.Client.list_managed_endpoints(**kwargs) Lists managed endpoints based on a set of parameters. 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 **Request Syntax** response = client.list_managed_endpoints( virtualClusterId='string', createdBefore=datetime(2015, 1, 1), createdAfter=datetime(2015, 1, 1), types=[ 'string', ], states=[ 'CREATING'|'ACTIVE'|'TERMINATING'|'TERMINATED'|'TERMINATED_WITH_ERRORS', ], maxResults=123, nextToken='string' ) Parameters: * **virtualClusterId** (*string*) -- **[REQUIRED]** The ID of the virtual cluster. * **createdBefore** (*datetime*) -- The date and time before which the endpoints are created. * **createdAfter** (*datetime*) -- The date and time after which the endpoints are created. * **types** (*list*) -- The types of the managed endpoints. * *(string) --* * **states** (*list*) -- The states of the managed endpoints. * *(string) --* * **maxResults** (*integer*) -- The maximum number of managed endpoints that can be listed. * **nextToken** (*string*) -- The token for the next set of managed endpoints to return. Return type: dict Returns: **Response Syntax** { 'endpoints': [ { 'id': 'string', 'name': 'string', 'arn': 'string', 'virtualClusterId': 'string', 'type': 'string', 'state': 'CREATING'|'ACTIVE'|'TERMINATING'|'TERMINATED'|'TERMINATED_WITH_ERRORS', 'releaseLabel': 'string', 'executionRoleArn': 'string', 'certificateArn': 'string', 'certificateAuthority': { 'certificateArn': 'string', 'certificateData': '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 } } }, 'serverUrl': 'string', 'createdAt': datetime(2015, 1, 1), 'securityGroup': 'string', 'subnetIds': [ 'string', ], 'stateDetails': 'string', 'failureReason': 'INTERNAL_ERROR'|'USER_ERROR'|'VALIDATION_ERROR'|'CLUSTER_UNAVAILABLE', 'tags': { 'string': 'string' } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **endpoints** *(list) --* The managed endpoints to be listed. * *(dict) --* This entity represents the endpoint that is managed by Amazon EMR on EKS. * **id** *(string) --* The ID of the endpoint. * **name** *(string) --* The name of the endpoint. * **arn** *(string) --* The ARN of the endpoint. * **virtualClusterId** *(string) --* The ID of the endpoint's virtual cluster. * **type** *(string) --* The type of the endpoint. * **state** *(string) --* The state of the endpoint. * **releaseLabel** *(string) --* The EMR release version to be used for the endpoint. * **executionRoleArn** *(string) --* The execution role ARN of the endpoint. * **certificateArn** *(string) --* The certificate ARN of the endpoint. This field is under deprecation and will be removed in future. * **certificateAuthority** *(dict) --* The certificate generated by emr control plane on customer behalf to secure the managed endpoint. * **certificateArn** *(string) --* The ARN of the certificate generated for managed endpoint. * **certificateData** *(string) --* The base64 encoded PEM certificate data generated for managed endpoint. * **configurationOverrides** *(dict) --* The configuration settings that are used to override existing configurations for endpoints. * **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) --* 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) --* 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) --* Amazon S3 destination URI for log publishing. * **containerLogRotationConfiguration** *(dict) --* Enable or disable container log rotation. * **rotationSize** *(string) --* The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB. * **maxFilesToKeep** *(integer) --* The number of files to keep in container after rotation. * **serverUrl** *(string) --* The server URL of the endpoint. * **createdAt** *(datetime) --* The date and time when the endpoint was created. * **securityGroup** *(string) --* The security group configuration of the endpoint. * **subnetIds** *(list) --* The subnet IDs of the endpoint. * *(string) --* * **stateDetails** *(string) --* Additional details of the endpoint state. * **failureReason** *(string) --* The reasons why the endpoint has failed. * **tags** *(dict) --* The tags of the endpoint. * *(string) --* * *(string) --* * **nextToken** *(string) --* The token for the next set of endpoints to return. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / cancel_job_run cancel_job_run ************** EMRContainers.Client.cancel_job_run(**kwargs) Cancels a job run. A job run is a unit of work, such as a Spark jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS. See also: AWS API Documentation **Request Syntax** response = client.cancel_job_run( id='string', virtualClusterId='string' ) Parameters: * **id** (*string*) -- **[REQUIRED]** The ID of the job run to cancel. * **virtualClusterId** (*string*) -- **[REQUIRED]** The ID of the virtual cluster for which the job run will be canceled. Return type: dict Returns: **Response Syntax** { 'id': 'string', 'virtualClusterId': 'string' } **Response Structure** * *(dict) --* * **id** *(string) --* The output contains the ID of the cancelled job run. * **virtualClusterId** *(string) --* The output contains the virtual cluster ID for which the job run is cancelled. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / start_job_run start_job_run ************* EMRContainers.Client.start_job_run(**kwargs) Starts a job run. A job run is a unit of work, such as a Spark jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS. See also: AWS API Documentation **Request Syntax** response = client.start_job_run( name='string', virtualClusterId='string', clientToken='string', executionRoleArn='string', releaseLabel='string', jobDriver={ 'sparkSubmitJobDriver': { 'entryPoint': 'string', 'entryPointArguments': [ 'string', ], 'sparkSubmitParameters': 'string' }, 'sparkSqlJobDriver': { 'entryPoint': 'string', 'sparkSqlParameters': '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 } } }, tags={ 'string': 'string' }, jobTemplateId='string', jobTemplateParameters={ 'string': 'string' }, retryPolicyConfiguration={ 'maxAttempts': 123 } ) Parameters: * **name** (*string*) -- The name of the job run. * **virtualClusterId** (*string*) -- **[REQUIRED]** The virtual cluster ID for which the job run request is submitted. * **clientToken** (*string*) -- **[REQUIRED]** The client idempotency token of the job run request. This field is autopopulated if not provided. * **executionRoleArn** (*string*) -- The execution role ARN for the job run. * **releaseLabel** (*string*) -- The Amazon EMR release version to use for the job run. * **jobDriver** (*dict*) -- The job driver for the job run. * **sparkSubmitJobDriver** *(dict) --* The job driver parameters specified for spark submit. * **entryPoint** *(string) --* **[REQUIRED]** The entry point of job application. * **entryPointArguments** *(list) --* The arguments for job application. * *(string) --* * **sparkSubmitParameters** *(string) --* The Spark submit parameters that are used for job runs. * **sparkSqlJobDriver** *(dict) --* The job driver for job type. * **entryPoint** *(string) --* The SQL file to be executed. * **sparkSqlParameters** *(string) --* The Spark parameters to be included in the Spark SQL command. * **configurationOverrides** (*dict*) -- The configuration overrides for the job run. * **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. * **tags** (*dict*) -- The tags assigned to job runs. * *(string) --* * *(string) --* * **jobTemplateId** (*string*) -- The job template ID to be used to start the job run. * **jobTemplateParameters** (*dict*) -- The values of job template parameters to start a job run. * *(string) --* * *(string) --* * **retryPolicyConfiguration** (*dict*) -- The retry policy configuration for the job run. * **maxAttempts** *(integer) --* **[REQUIRED]** The maximum number of attempts on the job's driver. Return type: dict Returns: **Response Syntax** { 'id': 'string', 'name': 'string', 'arn': 'string', 'virtualClusterId': 'string' } **Response Structure** * *(dict) --* * **id** *(string) --* This output displays the started job run ID. * **name** *(string) --* This output displays the name of the started job run. * **arn** *(string) --* This output lists the ARN of job run. * **virtualClusterId** *(string) --* This output displays the virtual cluster ID for which the job run was submitted. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / list_tags_for_resource list_tags_for_resource ********************** EMRContainers.Client.list_tags_for_resource(**kwargs) Lists the tags assigned to the resources. See also: AWS API Documentation **Request Syntax** response = client.list_tags_for_resource( resourceArn='string' ) Parameters: **resourceArn** (*string*) -- **[REQUIRED]** The ARN of tagged resources. Return type: dict Returns: **Response Syntax** { 'tags': { 'string': 'string' } } **Response Structure** * *(dict) --* * **tags** *(dict) --* The tags assigned to resources. * *(string) --* * *(string) --* **Exceptions** * "EMRContainers.Client.exceptions.InternalServerException" * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" EMRContainers / Client / list_job_runs list_job_runs ************* EMRContainers.Client.list_job_runs(**kwargs) Lists job runs based on a set of parameters. A job run is a unit of work, such as a Spark jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS. See also: AWS API Documentation **Request Syntax** response = client.list_job_runs( virtualClusterId='string', createdBefore=datetime(2015, 1, 1), createdAfter=datetime(2015, 1, 1), name='string', states=[ 'PENDING'|'SUBMITTED'|'RUNNING'|'FAILED'|'CANCELLED'|'CANCEL_PENDING'|'COMPLETED', ], maxResults=123, nextToken='string' ) Parameters: * **virtualClusterId** (*string*) -- **[REQUIRED]** The ID of the virtual cluster for which to list the job run. * **createdBefore** (*datetime*) -- The date and time before which the job runs were submitted. * **createdAfter** (*datetime*) -- The date and time after which the job runs were submitted. * **name** (*string*) -- The name of the job run. * **states** (*list*) -- The states of the job run. * *(string) --* * **maxResults** (*integer*) -- The maximum number of job runs that can be listed. * **nextToken** (*string*) -- The token for the next set of job runs to return. Return type: dict Returns: **Response Syntax** { 'jobRuns': [ { 'id': 'string', 'name': 'string', 'virtualClusterId': 'string', 'arn': 'string', 'state': 'PENDING'|'SUBMITTED'|'RUNNING'|'FAILED'|'CANCELLED'|'CANCEL_PENDING'|'COMPLETED', 'clientToken': 'string', 'executionRoleArn': 'string', 'releaseLabel': '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 } } }, 'jobDriver': { 'sparkSubmitJobDriver': { 'entryPoint': 'string', 'entryPointArguments': [ 'string', ], 'sparkSubmitParameters': 'string' }, 'sparkSqlJobDriver': { 'entryPoint': 'string', 'sparkSqlParameters': 'string' } }, 'createdAt': datetime(2015, 1, 1), 'createdBy': 'string', 'finishedAt': datetime(2015, 1, 1), 'stateDetails': 'string', 'failureReason': 'INTERNAL_ERROR'|'USER_ERROR'|'VALIDATION_ERROR'|'CLUSTER_UNAVAILABLE', 'tags': { 'string': 'string' }, 'retryPolicyConfiguration': { 'maxAttempts': 123 }, 'retryPolicyExecution': { 'currentAttemptCount': 123 } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **jobRuns** *(list) --* This output lists information about the specified job runs. * *(dict) --* This entity describes a job run. A job run is a unit of work, such as a Spark jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS. * **id** *(string) --* The ID of the job run. * **name** *(string) --* The name of the job run. * **virtualClusterId** *(string) --* The ID of the job run's virtual cluster. * **arn** *(string) --* The ARN of job run. * **state** *(string) --* The state of the job run. * **clientToken** *(string) --* The client token used to start a job run. * **executionRoleArn** *(string) --* The execution role ARN of the job run. * **releaseLabel** *(string) --* The release version of Amazon EMR. * **configurationOverrides** *(dict) --* The configuration settings that are used to override default configuration. * **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) --* 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) --* 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) --* Amazon S3 destination URI for log publishing. * **containerLogRotationConfiguration** *(dict) --* Enable or disable container log rotation. * **rotationSize** *(string) --* The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB. * **maxFilesToKeep** *(integer) --* The number of files to keep in container after rotation. * **jobDriver** *(dict) --* Parameters of job driver for the job run. * **sparkSubmitJobDriver** *(dict) --* The job driver parameters specified for spark submit. * **entryPoint** *(string) --* The entry point of job application. * **entryPointArguments** *(list) --* The arguments for job application. * *(string) --* * **sparkSubmitParameters** *(string) --* The Spark submit parameters that are used for job runs. * **sparkSqlJobDriver** *(dict) --* The job driver for job type. * **entryPoint** *(string) --* The SQL file to be executed. * **sparkSqlParameters** *(string) --* The Spark parameters to be included in the Spark SQL command. * **createdAt** *(datetime) --* The date and time when the job run was created. * **createdBy** *(string) --* The user who created the job run. * **finishedAt** *(datetime) --* The date and time when the job run has finished. * **stateDetails** *(string) --* Additional details of the job run state. * **failureReason** *(string) --* The reasons why the job run has failed. * **tags** *(dict) --* The assigned tags of the job run. * *(string) --* * *(string) --* * **retryPolicyConfiguration** *(dict) --* The configuration of the retry policy that the job runs on. * **maxAttempts** *(integer) --* The maximum number of attempts on the job's driver. * **retryPolicyExecution** *(dict) --* The current status of the retry policy executed on the job. * **currentAttemptCount** *(integer) --* The current number of attempts made on the driver of the job. * **nextToken** *(string) --* This output displays the token for the next set of job runs. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / delete_virtual_cluster delete_virtual_cluster ********************** EMRContainers.Client.delete_virtual_cluster(**kwargs) Deletes a virtual cluster. Virtual cluster is a managed entity on Amazon EMR on EKS. You can create, 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.delete_virtual_cluster( id='string' ) Parameters: **id** (*string*) -- **[REQUIRED]** The ID of the virtual cluster that will be deleted. Return type: dict Returns: **Response Syntax** { 'id': 'string' } **Response Structure** * *(dict) --* * **id** *(string) --* This output contains the ID of the virtual cluster that will be deleted. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / untag_resource untag_resource ************** EMRContainers.Client.untag_resource(**kwargs) Removes tags from resources. See also: AWS API Documentation **Request Syntax** response = client.untag_resource( resourceArn='string', tagKeys=[ 'string', ] ) Parameters: * **resourceArn** (*string*) -- **[REQUIRED]** The ARN of resources. * **tagKeys** (*list*) -- **[REQUIRED]** The tag keys of the resources. * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "EMRContainers.Client.exceptions.InternalServerException" * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" EMRContainers / Client / get_waiter get_waiter ********** EMRContainers.Client.get_waiter(waiter_name) Returns an object that can wait for some condition. Parameters: **waiter_name** (*str*) -- The name of the waiter to get. See the waiters section of the service docs for a list of available waiters. Returns: The specified waiter object. Return type: "botocore.waiter.Waiter" 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, 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' } } }, clientToken='string', tags={ 'string': 'string' }, securityConfigurationId='string' ) 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. * **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. 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** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" * "EMRContainers.Client.exceptions.InternalServerException" * "EMRContainers.Client.exceptions.EKSRequestThrottledException" EMRContainers / Client / create_managed_endpoint create_managed_endpoint *********************** 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 **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' } ) Parameters: * **name** (*string*) -- **[REQUIRED]** The name of the managed endpoint. * **virtualClusterId** (*string*) -- **[REQUIRED]** The ID of the virtual cluster for which a managed endpoint is created. * **type** (*string*) -- **[REQUIRED]** The type of the managed endpoint. * **releaseLabel** (*string*) -- **[REQUIRED]** The Amazon EMR release version. * **executionRoleArn** (*string*) -- **[REQUIRED]** The ARN of the execution role. * **certificateArn** (*string*) -- The certificate ARN provided by users for the managed endpoint. This field is under deprecation and will be removed in future releases. * **configurationOverrides** (*dict*) -- 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. * **clientToken** (*string*) -- **[REQUIRED]** The client idempotency token for this create call. This field is autopopulated if not provided. * **tags** (*dict*) -- The tags of the managed endpoint. * *(string) --* * *(string) --* Return type: 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** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / describe_virtual_cluster describe_virtual_cluster ************************ EMRContainers.Client.describe_virtual_cluster(**kwargs) Displays detailed information about a specified virtual cluster. Virtual cluster is a managed entity on Amazon EMR on EKS. You can create, 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.describe_virtual_cluster( id='string' ) Parameters: **id** (*string*) -- **[REQUIRED]** The ID of the virtual cluster that will be described. Return type: dict Returns: **Response Syntax** { 'virtualCluster': { 'id': 'string', 'name': 'string', 'arn': 'string', 'state': 'RUNNING'|'TERMINATING'|'TERMINATED'|'ARRESTED', 'containerProvider': { 'type': 'EKS', 'id': 'string', 'info': { 'eksInfo': { 'namespace': 'string' } } }, 'createdAt': datetime(2015, 1, 1), 'tags': { 'string': 'string' }, 'securityConfigurationId': 'string' } } **Response Structure** * *(dict) --* * **virtualCluster** *(dict) --* This output displays information about the specified virtual cluster. * **id** *(string) --* The ID of the virtual cluster. * **name** *(string) --* The name of the virtual cluster. * **arn** *(string) --* The ARN of the virtual cluster. * **state** *(string) --* The state of the virtual cluster. * **containerProvider** *(dict) --* The container provider of the virtual cluster. * **type** *(string) --* The type of the container provider. Amazon EKS is the only supported type as of now. * **id** *(string) --* 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 will be set: "eksInfo". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **eksInfo** *(dict) --* The information about the Amazon EKS cluster. * **namespace** *(string) --* The namespaces of the Amazon EKS cluster. * **createdAt** *(datetime) --* The date and time when the virtual cluster is created. * **tags** *(dict) --* The assigned tags of the virtual cluster. * *(string) --* * *(string) --* * **securityConfigurationId** *(string) --* The ID of the security configuration. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / describe_job_run describe_job_run **************** EMRContainers.Client.describe_job_run(**kwargs) Displays detailed information about a job run. A job run is a unit of work, such as a Spark jar, PySpark script, or SparkSQL query, that you submit to Amazon EMR on EKS. See also: AWS API Documentation **Request Syntax** response = client.describe_job_run( id='string', virtualClusterId='string' ) Parameters: * **id** (*string*) -- **[REQUIRED]** The ID of the job run request. * **virtualClusterId** (*string*) -- **[REQUIRED]** The ID of the virtual cluster for which the job run is submitted. Return type: dict Returns: **Response Syntax** { 'jobRun': { 'id': 'string', 'name': 'string', 'virtualClusterId': 'string', 'arn': 'string', 'state': 'PENDING'|'SUBMITTED'|'RUNNING'|'FAILED'|'CANCELLED'|'CANCEL_PENDING'|'COMPLETED', 'clientToken': 'string', 'executionRoleArn': 'string', 'releaseLabel': '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 } } }, 'jobDriver': { 'sparkSubmitJobDriver': { 'entryPoint': 'string', 'entryPointArguments': [ 'string', ], 'sparkSubmitParameters': 'string' }, 'sparkSqlJobDriver': { 'entryPoint': 'string', 'sparkSqlParameters': 'string' } }, 'createdAt': datetime(2015, 1, 1), 'createdBy': 'string', 'finishedAt': datetime(2015, 1, 1), 'stateDetails': 'string', 'failureReason': 'INTERNAL_ERROR'|'USER_ERROR'|'VALIDATION_ERROR'|'CLUSTER_UNAVAILABLE', 'tags': { 'string': 'string' }, 'retryPolicyConfiguration': { 'maxAttempts': 123 }, 'retryPolicyExecution': { 'currentAttemptCount': 123 } } } **Response Structure** * *(dict) --* * **jobRun** *(dict) --* The output displays information about a job run. * **id** *(string) --* The ID of the job run. * **name** *(string) --* The name of the job run. * **virtualClusterId** *(string) --* The ID of the job run's virtual cluster. * **arn** *(string) --* The ARN of job run. * **state** *(string) --* The state of the job run. * **clientToken** *(string) --* The client token used to start a job run. * **executionRoleArn** *(string) --* The execution role ARN of the job run. * **releaseLabel** *(string) --* The release version of Amazon EMR. * **configurationOverrides** *(dict) --* The configuration settings that are used to override default configuration. * **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) --* 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) --* 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) --* Amazon S3 destination URI for log publishing. * **containerLogRotationConfiguration** *(dict) --* Enable or disable container log rotation. * **rotationSize** *(string) --* The file size at which to rotate logs. Minimum of 2KB, Maximum of 2GB. * **maxFilesToKeep** *(integer) --* The number of files to keep in container after rotation. * **jobDriver** *(dict) --* Parameters of job driver for the job run. * **sparkSubmitJobDriver** *(dict) --* The job driver parameters specified for spark submit. * **entryPoint** *(string) --* The entry point of job application. * **entryPointArguments** *(list) --* The arguments for job application. * *(string) --* * **sparkSubmitParameters** *(string) --* The Spark submit parameters that are used for job runs. * **sparkSqlJobDriver** *(dict) --* The job driver for job type. * **entryPoint** *(string) --* The SQL file to be executed. * **sparkSqlParameters** *(string) --* The Spark parameters to be included in the Spark SQL command. * **createdAt** *(datetime) --* The date and time when the job run was created. * **createdBy** *(string) --* The user who created the job run. * **finishedAt** *(datetime) --* The date and time when the job run has finished. * **stateDetails** *(string) --* Additional details of the job run state. * **failureReason** *(string) --* The reasons why the job run has failed. * **tags** *(dict) --* The assigned tags of the job run. * *(string) --* * *(string) --* * **retryPolicyConfiguration** *(dict) --* The configuration of the retry policy that the job runs on. * **maxAttempts** *(integer) --* The maximum number of attempts on the job's driver. * **retryPolicyExecution** *(dict) --* The current status of the retry policy executed on the job. * **currentAttemptCount** *(integer) --* The current number of attempts made on the driver of the job. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / create_security_configuration create_security_configuration ***************************** EMRContainers.Client.create_security_configuration(**kwargs) Creates a security configuration. Security configurations in Amazon EMR on EKS are templates for different security setups. You can use security configurations to configure the Lake Formation integration setup. You can also create a security configuration to re-use a security setup each time you create a virtual cluster. See also: AWS API Documentation **Request Syntax** response = client.create_security_configuration( clientToken='string', name='string', securityConfigurationData={ 'authorizationConfiguration': { 'lakeFormationConfiguration': { 'authorizedSessionTagValue': 'string', 'secureNamespaceInfo': { 'clusterId': 'string', 'namespace': 'string' }, 'queryEngineRoleArn': 'string' }, 'encryptionConfiguration': { 'inTransitEncryptionConfiguration': { 'tlsCertificateConfiguration': { 'certificateProviderType': 'PEM', 'publicCertificateSecretArn': 'string', 'privateCertificateSecretArn': 'string' } } } } }, tags={ 'string': 'string' } ) Parameters: * **clientToken** (*string*) -- **[REQUIRED]** The client idempotency token to use when creating the security configuration. This field is autopopulated if not provided. * **name** (*string*) -- **[REQUIRED]** The name of the security configuration. * **securityConfigurationData** (*dict*) -- **[REQUIRED]** Security configuration input for the request. * **authorizationConfiguration** *(dict) --* Authorization-related configuration input for the security configuration. * **lakeFormationConfiguration** *(dict) --* Lake Formation related configuration inputs for the security configuration. * **authorizedSessionTagValue** *(string) --* The session tag to authorize Amazon EMR on EKS for API calls to Lake Formation. * **secureNamespaceInfo** *(dict) --* The namespace input of the system job. * **clusterId** *(string) --* The ID of the Amazon EKS cluster where Amazon EMR on EKS jobs run. * **namespace** *(string) --* The namespace of the Amazon EKS cluster where the system jobs run. * **queryEngineRoleArn** *(string) --* The query engine IAM role ARN that is tied to the secure Spark job. The "QueryEngine" role assumes the "JobExecutionRole" to execute all the Lake Formation calls. * **encryptionConfiguration** *(dict) --* Encryption-related configuration input for the security configuration. * **inTransitEncryptionConfiguration** *(dict) --* In-transit encryption-related input for the security configuration. * **tlsCertificateConfiguration** *(dict) --* TLS certificate-related configuration input for the security configuration. * **certificateProviderType** *(string) --* The TLS certificate type. Acceptable values: "PEM" or "Custom". * **publicCertificateSecretArn** *(string) --* Secrets Manager ARN that contains the public TLS certificate contents, used for communication between the user job and the system job. * **privateCertificateSecretArn** *(string) --* Secrets Manager ARN that contains the private TLS certificate contents, used for communication between the user job and the system job. * **tags** (*dict*) -- The tags to add to the security configuration. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** { 'id': 'string', 'name': 'string', 'arn': 'string' } **Response Structure** * *(dict) --* * **id** *(string) --* The ID of the security configuration. * **name** *(string) --* The name of the security configuration. * **arn** *(string) --* The ARN (Amazon Resource Name) of the security configuration. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / close close ***** EMRContainers.Client.close() Closes underlying endpoint connections. EMRContainers / Client / describe_security_configuration describe_security_configuration ******************************* EMRContainers.Client.describe_security_configuration(**kwargs) Displays detailed information about a specified security configuration. Security configurations in Amazon EMR on EKS are templates for different security setups. You can use security configurations to configure the Lake Formation integration setup. You can also create a security configuration to re-use a security setup each time you create a virtual cluster. See also: AWS API Documentation **Request Syntax** response = client.describe_security_configuration( id='string' ) Parameters: **id** (*string*) -- **[REQUIRED]** The ID of the security configuration. Return type: dict Returns: **Response Syntax** { 'securityConfiguration': { 'id': 'string', 'name': 'string', 'arn': 'string', 'createdAt': datetime(2015, 1, 1), 'createdBy': 'string', 'securityConfigurationData': { 'authorizationConfiguration': { 'lakeFormationConfiguration': { 'authorizedSessionTagValue': 'string', 'secureNamespaceInfo': { 'clusterId': 'string', 'namespace': 'string' }, 'queryEngineRoleArn': 'string' }, 'encryptionConfiguration': { 'inTransitEncryptionConfiguration': { 'tlsCertificateConfiguration': { 'certificateProviderType': 'PEM', 'publicCertificateSecretArn': 'string', 'privateCertificateSecretArn': 'string' } } } } }, 'tags': { 'string': 'string' } } } **Response Structure** * *(dict) --* * **securityConfiguration** *(dict) --* Details of the security configuration. * **id** *(string) --* The ID of the security configuration. * **name** *(string) --* The name of the security configuration. * **arn** *(string) --* The ARN (Amazon Resource Name) of the security configuration. * **createdAt** *(datetime) --* The date and time that the job run was created. * **createdBy** *(string) --* The user who created the job run. * **securityConfigurationData** *(dict) --* Security configuration inputs for the request. * **authorizationConfiguration** *(dict) --* Authorization-related configuration input for the security configuration. * **lakeFormationConfiguration** *(dict) --* Lake Formation related configuration inputs for the security configuration. * **authorizedSessionTagValue** *(string) --* The session tag to authorize Amazon EMR on EKS for API calls to Lake Formation. * **secureNamespaceInfo** *(dict) --* The namespace input of the system job. * **clusterId** *(string) --* The ID of the Amazon EKS cluster where Amazon EMR on EKS jobs run. * **namespace** *(string) --* The namespace of the Amazon EKS cluster where the system jobs run. * **queryEngineRoleArn** *(string) --* The query engine IAM role ARN that is tied to the secure Spark job. The "QueryEngine" role assumes the "JobExecutionRole" to execute all the Lake Formation calls. * **encryptionConfiguration** *(dict) --* Encryption-related configuration input for the security configuration. * **inTransitEncryptionConfiguration** *(dict) --* In-transit encryption-related input for the security configuration. * **tlsCertificateConfiguration** *(dict) --* TLS certificate-related configuration input for the security configuration. * **certificateProviderType** *(string) --* The TLS certificate type. Acceptable values: "PEM" or "Custom". * **publicCertificateSecretArn** *(string) --* Secrets Manager ARN that contains the public TLS certificate contents, used for communication between the user job and the system job. * **privateCertificateSecretArn** *(string) --* Secrets Manager ARN that contains the private TLS certificate contents, used for communication between the user job and the system job. * **tags** *(dict) --* The tags to assign to the security configuration. * *(string) --* * *(string) --* **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / list_security_configurations list_security_configurations **************************** EMRContainers.Client.list_security_configurations(**kwargs) Lists security configurations based on a set of parameters. Security configurations in Amazon EMR on EKS are templates for different security setups. You can use security configurations to configure the Lake Formation integration setup. You can also create a security configuration to re-use a security setup each time you create a virtual cluster. See also: AWS API Documentation **Request Syntax** response = client.list_security_configurations( createdAfter=datetime(2015, 1, 1), createdBefore=datetime(2015, 1, 1), maxResults=123, nextToken='string' ) Parameters: * **createdAfter** (*datetime*) -- The date and time after which the security configuration was created. * **createdBefore** (*datetime*) -- The date and time before which the security configuration was created. * **maxResults** (*integer*) -- The maximum number of security configurations the operation can list. * **nextToken** (*string*) -- The token for the next set of security configurations to return. Return type: dict Returns: **Response Syntax** { 'securityConfigurations': [ { 'id': 'string', 'name': 'string', 'arn': 'string', 'createdAt': datetime(2015, 1, 1), 'createdBy': 'string', 'securityConfigurationData': { 'authorizationConfiguration': { 'lakeFormationConfiguration': { 'authorizedSessionTagValue': 'string', 'secureNamespaceInfo': { 'clusterId': 'string', 'namespace': 'string' }, 'queryEngineRoleArn': 'string' }, 'encryptionConfiguration': { 'inTransitEncryptionConfiguration': { 'tlsCertificateConfiguration': { 'certificateProviderType': 'PEM', 'publicCertificateSecretArn': 'string', 'privateCertificateSecretArn': 'string' } } } } }, 'tags': { 'string': 'string' } }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **securityConfigurations** *(list) --* The list of returned security configurations. * *(dict) --* Inputs related to the security configuration. Security configurations in Amazon EMR on EKS are templates for different security setups. You can use security configurations to configure the Lake Formation integration setup. You can also create a security configuration to re- use a security setup each time you create a virtual cluster. * **id** *(string) --* The ID of the security configuration. * **name** *(string) --* The name of the security configuration. * **arn** *(string) --* The ARN (Amazon Resource Name) of the security configuration. * **createdAt** *(datetime) --* The date and time that the job run was created. * **createdBy** *(string) --* The user who created the job run. * **securityConfigurationData** *(dict) --* Security configuration inputs for the request. * **authorizationConfiguration** *(dict) --* Authorization-related configuration input for the security configuration. * **lakeFormationConfiguration** *(dict) --* Lake Formation related configuration inputs for the security configuration. * **authorizedSessionTagValue** *(string) --* The session tag to authorize Amazon EMR on EKS for API calls to Lake Formation. * **secureNamespaceInfo** *(dict) --* The namespace input of the system job. * **clusterId** *(string) --* The ID of the Amazon EKS cluster where Amazon EMR on EKS jobs run. * **namespace** *(string) --* The namespace of the Amazon EKS cluster where the system jobs run. * **queryEngineRoleArn** *(string) --* The query engine IAM role ARN that is tied to the secure Spark job. The "QueryEngine" role assumes the "JobExecutionRole" to execute all the Lake Formation calls. * **encryptionConfiguration** *(dict) --* Encryption-related configuration input for the security configuration. * **inTransitEncryptionConfiguration** *(dict) --* In-transit encryption-related input for the security configuration. * **tlsCertificateConfiguration** *(dict) --* TLS certificate-related configuration input for the security configuration. * **certificateProviderType** *(string) --* The TLS certificate type. Acceptable values: "PEM" or "Custom". * **publicCertificateSecretArn** *(string) --* Secrets Manager ARN that contains the public TLS certificate contents, used for communication between the user job and the system job. * **privateCertificateSecretArn** *(string) --* Secrets Manager ARN that contains the private TLS certificate contents, used for communication between the user job and the system job. * **tags** *(dict) --* The tags to assign to the security configuration. * *(string) --* * *(string) --* * **nextToken** *(string) --* The token for the next set of security configurations to return. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / delete_job_template delete_job_template ******************* EMRContainers.Client.delete_job_template(**kwargs) Deletes a job template. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request. See also: AWS API Documentation **Request Syntax** response = client.delete_job_template( id='string' ) Parameters: **id** (*string*) -- **[REQUIRED]** The ID of the job template that will be deleted. Return type: dict Returns: **Response Syntax** { 'id': 'string' } **Response Structure** * *(dict) --* * **id** *(string) --* This output contains the ID of the job template that was deleted. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / tag_resource tag_resource ************ EMRContainers.Client.tag_resource(**kwargs) Assigns tags to resources. A tag is a label that you assign to an Amazon Web Services resource. Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize your Amazon Web Services resources by attributes such as purpose, owner, or environment. When you have many resources of the same type, you can quickly identify a specific resource based on the tags you've assigned to it. For example, you can define a set of tags for your Amazon EMR on EKS clusters to help you track each cluster's owner and stack level. We recommend that you devise a consistent set of tag keys for each resource type. You can then search and filter the resources based on the tags that you add. See also: AWS API Documentation **Request Syntax** response = client.tag_resource( resourceArn='string', tags={ 'string': 'string' } ) Parameters: * **resourceArn** (*string*) -- **[REQUIRED]** The ARN of resources. * **tags** (*dict*) -- **[REQUIRED]** The tags assigned to resources. * *(string) --* * *(string) --* Return type: dict Returns: **Response Syntax** {} **Response Structure** * *(dict) --* **Exceptions** * "EMRContainers.Client.exceptions.InternalServerException" * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" EMRContainers / Client / list_virtual_clusters list_virtual_clusters ********************* EMRContainers.Client.list_virtual_clusters(**kwargs) Lists information about the specified virtual cluster. Virtual cluster is a managed entity on Amazon EMR on EKS. You can create, 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.list_virtual_clusters( containerProviderId='string', containerProviderType='EKS', createdAfter=datetime(2015, 1, 1), createdBefore=datetime(2015, 1, 1), states=[ 'RUNNING'|'TERMINATING'|'TERMINATED'|'ARRESTED', ], maxResults=123, nextToken='string', eksAccessEntryIntegrated=True|False ) Parameters: * **containerProviderId** (*string*) -- The container provider ID of the virtual cluster. * **containerProviderType** (*string*) -- The container provider type of the virtual cluster. Amazon EKS is the only supported type as of now. * **createdAfter** (*datetime*) -- The date and time after which the virtual clusters are created. * **createdBefore** (*datetime*) -- The date and time before which the virtual clusters are created. * **states** (*list*) -- The states of the requested virtual clusters. * *(string) --* * **maxResults** (*integer*) -- The maximum number of virtual clusters that can be listed. * **nextToken** (*string*) -- The token for the next set of virtual clusters to return. * **eksAccessEntryIntegrated** (*boolean*) -- Optional Boolean that specifies whether the operation should return the virtual clusters that have the access entry integration enabled or disabled. If not specified, the operation returns all applicable virtual clusters. Return type: dict Returns: **Response Syntax** { 'virtualClusters': [ { 'id': 'string', 'name': 'string', 'arn': 'string', 'state': 'RUNNING'|'TERMINATING'|'TERMINATED'|'ARRESTED', 'containerProvider': { 'type': 'EKS', 'id': 'string', 'info': { 'eksInfo': { 'namespace': 'string' } } }, 'createdAt': datetime(2015, 1, 1), 'tags': { 'string': 'string' }, 'securityConfigurationId': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **virtualClusters** *(list) --* This output lists the specified virtual clusters. * *(dict) --* This entity describes a virtual cluster. A virtual cluster is a Kubernetes namespace that Amazon EMR is registered with. Amazon EMR uses virtual clusters to run jobs and host endpoints. Multiple virtual clusters can be backed by the same physical cluster. However, each virtual cluster maps to one namespace on an Amazon EKS cluster. Virtual clusters do not create any active resources that contribute to your bill or that require lifecycle management outside the service. * **id** *(string) --* The ID of the virtual cluster. * **name** *(string) --* The name of the virtual cluster. * **arn** *(string) --* The ARN of the virtual cluster. * **state** *(string) --* The state of the virtual cluster. * **containerProvider** *(dict) --* The container provider of the virtual cluster. * **type** *(string) --* The type of the container provider. Amazon EKS is the only supported type as of now. * **id** *(string) --* 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 will be set: "eksInfo". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **eksInfo** *(dict) --* The information about the Amazon EKS cluster. * **namespace** *(string) --* The namespaces of the Amazon EKS cluster. * **createdAt** *(datetime) --* The date and time when the virtual cluster is created. * **tags** *(dict) --* The assigned tags of the virtual cluster. * *(string) --* * *(string) --* * **securityConfigurationId** *(string) --* The ID of the security configuration. * **nextToken** *(string) --* This output displays the token for the next set of virtual clusters. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / get_managed_endpoint_session_credentials get_managed_endpoint_session_credentials **************************************** EMRContainers.Client.get_managed_endpoint_session_credentials(**kwargs) Generate a session token to connect to a managed endpoint. See also: AWS API Documentation **Request Syntax** response = client.get_managed_endpoint_session_credentials( endpointIdentifier='string', virtualClusterIdentifier='string', executionRoleArn='string', credentialType='string', durationInSeconds=123, logContext='string', clientToken='string' ) Parameters: * **endpointIdentifier** (*string*) -- **[REQUIRED]** The ARN of the managed endpoint for which the request is submitted. * **virtualClusterIdentifier** (*string*) -- **[REQUIRED]** The ARN of the Virtual Cluster which the Managed Endpoint belongs to. * **executionRoleArn** (*string*) -- **[REQUIRED]** The IAM Execution Role ARN that will be used by the job run. * **credentialType** (*string*) -- **[REQUIRED]** Type of the token requested. Currently supported and default value of this field is “TOKEN.” * **durationInSeconds** (*integer*) -- Duration in seconds for which the session token is valid. The default duration is 15 minutes and the maximum is 12 hours. * **logContext** (*string*) -- String identifier used to separate sections of the execution logs uploaded to S3. * **clientToken** (*string*) -- The client idempotency token of the job run request. This field is autopopulated if not provided. Return type: dict Returns: **Response Syntax** { 'id': 'string', 'credentials': { 'token': 'string' }, 'expiresAt': datetime(2015, 1, 1) } **Response Structure** * *(dict) --* * **id** *(string) --* The identifier of the session token returned. * **credentials** *(dict) --* The structure containing the session credentials. Note: This is a Tagged Union structure. Only one of the following top level keys will be set: "token". If a client receives an unknown member it will set "SDK_UNKNOWN_MEMBER" as the top level key, which maps to the name or tag of the unknown member. The structure of "SDK_UNKNOWN_MEMBER" is as follows: 'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'} * **token** *(string) --* The actual session token being returned. * **expiresAt** *(datetime) --* The date and time when the session token will expire. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.RequestThrottledException" * "EMRContainers.Client.exceptions.ResourceNotFoundException" * "EMRContainers.Client.exceptions.InternalServerException" EMRContainers / Client / list_job_templates list_job_templates ****************** EMRContainers.Client.list_job_templates(**kwargs) Lists job templates based on a set of parameters. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request. See also: AWS API Documentation **Request Syntax** response = client.list_job_templates( createdAfter=datetime(2015, 1, 1), createdBefore=datetime(2015, 1, 1), maxResults=123, nextToken='string' ) Parameters: * **createdAfter** (*datetime*) -- The date and time after which the job templates were created. * **createdBefore** (*datetime*) -- The date and time before which the job templates were created. * **maxResults** (*integer*) -- The maximum number of job templates that can be listed. * **nextToken** (*string*) -- The token for the next set of job templates to return. Return type: dict Returns: **Response Syntax** { 'templates': [ { 'name': 'string', 'id': 'string', 'arn': 'string', 'createdAt': datetime(2015, 1, 1), 'createdBy': 'string', 'tags': { 'string': 'string' }, 'jobTemplateData': { 'executionRoleArn': 'string', 'releaseLabel': 'string', 'configurationOverrides': { 'applicationConfiguration': [ { 'classification': 'string', 'properties': { 'string': 'string' }, 'configurations': {'... recursive ...'} }, ], 'monitoringConfiguration': { 'persistentAppUI': 'string', 'cloudWatchMonitoringConfiguration': { 'logGroupName': 'string', 'logStreamNamePrefix': 'string' }, 's3MonitoringConfiguration': { 'logUri': 'string' } } }, 'jobDriver': { 'sparkSubmitJobDriver': { 'entryPoint': 'string', 'entryPointArguments': [ 'string', ], 'sparkSubmitParameters': 'string' }, 'sparkSqlJobDriver': { 'entryPoint': 'string', 'sparkSqlParameters': 'string' } }, 'parameterConfiguration': { 'string': { 'type': 'NUMBER'|'STRING', 'defaultValue': 'string' } }, 'jobTags': { 'string': 'string' } }, 'kmsKeyArn': 'string', 'decryptionError': 'string' }, ], 'nextToken': 'string' } **Response Structure** * *(dict) --* * **templates** *(list) --* This output lists information about the specified job templates. * *(dict) --* This entity describes a job template. Job template stores values of StartJobRun API request in a template and can be used to start a job run. Job template allows two use cases: avoid repeating recurring StartJobRun API request values, enforcing certain values in StartJobRun API request. * **name** *(string) --* The name of the job template. * **id** *(string) --* The ID of the job template. * **arn** *(string) --* The ARN of the job template. * **createdAt** *(datetime) --* The date and time when the job template was created. * **createdBy** *(string) --* The user who created the job template. * **tags** *(dict) --* The tags assigned to the job template. * *(string) --* * *(string) --* * **jobTemplateData** *(dict) --* The job template data which holds values of StartJobRun API request. * **executionRoleArn** *(string) --* The execution role ARN of the job run. * **releaseLabel** *(string) --* The release version of Amazon EMR. * **configurationOverrides** *(dict) --* The configuration settings that are used to override defaults configuration. * **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) --* 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. * **persistentAppUI** *(string) --* Monitoring configurations for the persistent application UI. * **cloudWatchMonitoringConfiguration** *(dict) --* Monitoring configurations for CloudWatch. * **logGroupName** *(string) --* 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) --* Amazon S3 destination URI for log publishing. * **jobDriver** *(dict) --* Specify the driver that the job runs on. Exactly one of the two available job drivers is required, either sparkSqlJobDriver or sparkSubmitJobDriver. * **sparkSubmitJobDriver** *(dict) --* The job driver parameters specified for spark submit. * **entryPoint** *(string) --* The entry point of job application. * **entryPointArguments** *(list) --* The arguments for job application. * *(string) --* * **sparkSubmitParameters** *(string) --* The Spark submit parameters that are used for job runs. * **sparkSqlJobDriver** *(dict) --* The job driver for job type. * **entryPoint** *(string) --* The SQL file to be executed. * **sparkSqlParameters** *(string) --* The Spark parameters to be included in the Spark SQL command. * **parameterConfiguration** *(dict) --* The configuration of parameters existing in the job template. * *(string) --* * *(dict) --* The configuration of a job template parameter. * **type** *(string) --* The type of the job template parameter. Allowed values are: ‘STRING’, ‘NUMBER’. * **defaultValue** *(string) --* The default value for the job template parameter. * **jobTags** *(dict) --* The tags assigned to jobs started using the job template. * *(string) --* * *(string) --* * **kmsKeyArn** *(string) --* The KMS key ARN used to encrypt the job template. * **decryptionError** *(string) --* The error message in case the decryption of job template fails. * **nextToken** *(string) --* This output displays the token for the next set of job templates. **Exceptions** * "EMRContainers.Client.exceptions.ValidationException" * "EMRContainers.Client.exceptions.InternalServerException"