async fn create_hyper_parameter_tuning_job(
        &self,
        input: CreateHyperParameterTuningJobRequest,
    ) -> Result<
        CreateHyperParameterTuningJobResponse,
        RusotoError<CreateHyperParameterTuningJobError>,
    > {
        let mut request = self.new_signed_request("POST", "/");
        request.add_header("x-amz-target", "SageMaker.CreateHyperParameterTuningJob");
        let encoded = serde_json::to_string(&input).unwrap();
        request.set_payload(Some(encoded));

        let response = self
            .sign_and_dispatch(request, CreateHyperParameterTuningJobError::from_response)
            .await?;
        let mut response = response;
        let response = response.buffer().await.map_err(RusotoError::HttpDispatch)?;
        proto::json::ResponsePayload::new(&response)
            .deserialize::<CreateHyperParameterTuningJobResponse, _>()
    }
<p>Starts a hyperparameter tuning job. A hyperparameter tuning job finds the best version of a model by running many training jobs on your dataset using the algorithm you choose and values for hyperparameters within ranges that you specify. It then chooses the hyperparameter values that result in a model that performs the best, as measured by an objective metric that you choose.</p>
rusoto/services/sagemaker/src/generated.rs