<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def endpoint_from_job(self, job_name, initial_instance_count, instance_type, deployment_image=None, name=None, role=None, wait=True, model_environment_vars=None, vpc_config_override=vpc_utils.VPC_CONFIG_DEFAULT, accelerator_type=None):
 """Create an ``Endpoint`` using the results of a successful training job. Specify the job name, Docker image containing the inference code, and hardware configuration to deploy the model. Internally the API, creates an Amazon SageMaker model (that describes the model artifacts and the Docker image containing inference code), endpoint configuration (describing the hardware to deploy for hosting the model), and creates an ``Endpoint`` (launches the EC2 instances and deploys the model on them). In response, the API returns the endpoint name to which you can send requests for inferences. Args: job_name (str):
 Name of the training job to deploy the results of. initial_instance_count (int):
 Minimum number of EC2 instances to launch. The actual number of active instances for an endpoint at any given time varies due to autoscaling. instance_type (str):
 Type of EC2 instance to deploy to an endpoint for prediction, for example, 'ml.c4.xlarge'. deployment_image (str):
 The Docker image which defines the inference code to be used as the entry point for accepting prediction requests. If not specified, uses the image used for the training job. name (str):
 Name of the ``Endpoint`` to create. If not specified, uses the training job name. role (str):
 An AWS IAM role (either name or full ARN). The Amazon SageMaker training jobs and APIs that create Amazon SageMaker endpoints use this role to access training data and model artifacts. You must grant sufficient permissions to this role. wait (bool):
 Whether to wait for the endpoint deployment to complete before returning (default: True). model_environment_vars (dict[str, str]):
 Environment variables to set on the model container (default: None). vpc_config_override (dict[str, list[str]]):
 Overrides VpcConfig set on the model. Default: use VpcConfig from training job. * 'Subnets' (list[str]):
 List of subnet ids. * 'SecurityGroupIds' (list[str]):
 List of security group ids. accelerator_type (str):
 Type of Elastic Inference accelerator to attach to the instance. For example, 'ml.eia1.medium'. For more information: https://docs.aws.amazon.com/sagemaker/latest/dg/ei.html Returns: str: Name of the ``Endpoint`` that is created. """

        job_desc = self.sagemaker_client.describe_training_job(TrainingJobName=job_name)
        output_url = job_desc['ModelArtifacts']['S3ModelArtifacts']
        deployment_image = deployment_image or job_desc['AlgorithmSpecification']['TrainingImage']
        role = role or job_desc['RoleArn']
        name = name or job_name
        vpc_config_override = _vpc_config_from_training_job(job_desc, vpc_config_override)

        return self.endpoint_from_model_data(model_s3_location=output_url, deployment_image=deployment_image,
                                             initial_instance_count=initial_instance_count, instance_type=instance_type,
                                             name=name, role=role, wait=wait,
                                             model_environment_vars=model_environment_vars,
                                             model_vpc_config=vpc_config_override, accelerator_type=accelerator_type)