Skip to content

start_job_run

start_job_run(
    virtual_cluster_id: ResourceIdString,
    client_token: ClientToken,
    *,
    config_overrides: Optional[EMRcontainersClientConfig] = None,
    name: Optional[ResourceNameString] = None,
    execution_role_arn: Optional[IAMRoleArn] = None,
    release_label: Optional[ReleaseLabel] = None,
    job_driver: Optional[JobDriver] = None,
    configuration_overrides: Optional[ConfigurationOverrides] = None,
    tags: Optional[TagMap] = None,
    job_template_id: Optional[ResourceIdString] = None,
    job_template_parameters: Optional[TemplateParameterInputMap] = None,
    retry_policy_configuration: Optional[RetryPolicyConfiguration] = None,
) -> StartJobRunResponse

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.

Parameters:

Raises:

Source code in docs_src/capo_emr_containers/_services/em_rcontainers.py
def start_job_run(
    self,
    virtual_cluster_id: "capo_emr_containers.types.resource_id_string.ResourceIdString",
    client_token: "capo_emr_containers.types.client_token.ClientToken",
    *,
    config_overrides: Optional[EMRcontainersClientConfig] = None,
    name: Optional[
        "capo_emr_containers.types.resource_name_string.ResourceNameString"
    ] = None,
    execution_role_arn: Optional[
        "capo_emr_containers.types.iam_role_arn.IAMRoleArn"
    ] = None,
    release_label: Optional[
        "capo_emr_containers.types.release_label.ReleaseLabel"
    ] = None,
    job_driver: Optional["capo_emr_containers.types.job_driver.JobDriver"] = None,
    configuration_overrides: Optional[
        "capo_emr_containers.types.configuration_overrides.ConfigurationOverrides"
    ] = None,
    tags: Optional["capo_emr_containers.types.tag_map.TagMap"] = None,
    job_template_id: Optional[
        "capo_emr_containers.types.resource_id_string.ResourceIdString"
    ] = None,
    job_template_parameters: Optional[
        "capo_emr_containers.types.template_parameter_input_map.TemplateParameterInputMap"
    ] = None,
    retry_policy_configuration: Optional[
        "capo_emr_containers.types.retry_policy_configuration.RetryPolicyConfiguration"
    ] = None,
) -> "capo_emr_containers.types.start_job_run_response.StartJobRunResponse":
    """<p>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.</p>

    Args:
        name: <p>The name of the job run.</p>
        virtual_cluster_id: <p>The virtual cluster ID for which the job run request is submitted.</p>
        client_token: <p>The client idempotency token of the job run request. </p>
        execution_role_arn: <p>The execution role ARN for the job run.</p>
        release_label: <p>The Amazon EMR release version to use for the job run.</p>
        job_driver: <p>The job driver for the job run.</p>
        configuration_overrides: <p>The configuration overrides for the job run.</p>
        tags: <p>The tags assigned to job runs.</p>
        job_template_id: <p>The job template ID to be used to start the job run.</p>
        job_template_parameters: <p>The values of job template parameters to start a job run.</p>
        retry_policy_configuration: <p>The retry policy configuration for the job run.</p>

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

    def _handler(
        req: "OperationRequest[capo_emr_containers.types.start_job_run_request.StartJobRunRequest]",
    ) -> OperationResponse[
        "capo_emr_containers.types.start_job_run_response.StartJobRunResponse"
    ]:
        import capo_emr_containers._operations.aws_chicago_web_service.start_job_run

        output, http_response = (
            capo_emr_containers._operations.aws_chicago_web_service.start_job_run.start_job_run(
                req.options, req.input
            )
        )
        return OperationResponse(output=output, response=http_response)

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

        return capo_emr_containers.types.start_job_run_request.redact_sensitive(
            input_
        )

    interceptors_, options_ = self.operation_options(
        config_overrides,
        OperationLogging("StartJobRun", redact_input=_redact_input),
    )
    input_: capo_emr_containers.types.start_job_run_request.StartJobRunRequest = {
        "virtual_cluster_id": virtual_cluster_id,
        "client_token": client_token,
    }
    if name is not None:
        input_["name"] = name
    if execution_role_arn is not None:
        input_["execution_role_arn"] = execution_role_arn
    if release_label is not None:
        input_["release_label"] = release_label
    if job_driver is not None:
        input_["job_driver"] = job_driver
    if configuration_overrides is not None:
        input_["configuration_overrides"] = configuration_overrides
    if tags is not None:
        input_["tags"] = tags
    if job_template_id is not None:
        input_["job_template_id"] = job_template_id
    if job_template_parameters is not None:
        input_["job_template_parameters"] = job_template_parameters
    if retry_policy_configuration is not None:
        input_["retry_policy_configuration"] = retry_policy_configuration

    response = execute_pipeline(
        OperationRequest(input=input_, options=options_),
        handler=_handler,
        interceptors=list(interceptors_),
    )
    response.response.close()
    return response.output