diff env/lib/python3.7/site-packages/boto/machinelearning/layer1.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/boto/machinelearning/layer1.py	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,1408 +0,0 @@
-# Copyright (c) 2015 Amazon.com, Inc. or its affiliates.  All Rights Reserved
-#
-# Permission is hereby granted, free of charge, to any person obtaining a
-# copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish, dis-
-# tribute, sublicense, and/or sell copies of the Software, and to permit
-# persons to whom the Software is furnished to do so, subject to the fol-
-# lowing conditions:
-#
-# The above copyright notice and this permission notice shall be included
-# in all copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
-# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABIL-
-# ITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT
-# SHALL THE AUTHOR BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
-# IN THE SOFTWARE.
-#
-
-import boto
-from boto.compat import json, urlsplit
-from boto.connection import AWSQueryConnection
-from boto.regioninfo import RegionInfo
-from boto.exception import JSONResponseError
-from boto.machinelearning import exceptions
-
-
-class MachineLearningConnection(AWSQueryConnection):
-    """
-    Definition of the public APIs exposed by Amazon Machine Learning
-    """
-    APIVersion = "2014-12-12"
-    AuthServiceName = 'machinelearning'
-    DefaultRegionName = "us-east-1"
-    DefaultRegionEndpoint = "machinelearning.us-east-1.amazonaws.com"
-    ServiceName = "MachineLearning"
-    TargetPrefix = "AmazonML_20141212"
-    ResponseError = JSONResponseError
-
-    _faults = {
-        "InternalServerException": exceptions.InternalServerException,
-        "LimitExceededException": exceptions.LimitExceededException,
-        "ResourceNotFoundException": exceptions.ResourceNotFoundException,
-        "IdempotentParameterMismatchException": exceptions.IdempotentParameterMismatchException,
-        "PredictorNotMountedException": exceptions.PredictorNotMountedException,
-        "InvalidInputException": exceptions.InvalidInputException,
-    }
-
-
-    def __init__(self, **kwargs):
-        region = kwargs.pop('region', None)
-        if not region:
-            region = RegionInfo(self, self.DefaultRegionName,
-                                self.DefaultRegionEndpoint)
-
-        if 'host' not in kwargs or kwargs['host'] is None:
-            kwargs['host'] = region.endpoint
-
-        super(MachineLearningConnection, self).__init__(**kwargs)
-        self.region = region
-        self.auth_region_name = self.region.name
-
-    def _required_auth_capability(self):
-        return ['hmac-v4']
-
-    def create_batch_prediction(self, batch_prediction_id, ml_model_id,
-                                batch_prediction_data_source_id, output_uri,
-                                batch_prediction_name=None):
-        """
-        Generates predictions for a group of observations. The
-        observations to process exist in one or more data files
-        referenced by a `DataSource`. This operation creates a new
-        `BatchPrediction`, and uses an `MLModel` and the data files
-        referenced by the `DataSource` as information sources.
-
-        `CreateBatchPrediction` is an asynchronous operation. In
-        response to `CreateBatchPrediction`, Amazon Machine Learning
-        (Amazon ML) immediately returns and sets the `BatchPrediction`
-        status to `PENDING`. After the `BatchPrediction` completes,
-        Amazon ML sets the status to `COMPLETED`.
-
-        You can poll for status updates by using the
-        GetBatchPrediction operation and checking the `Status`
-        parameter of the result. After the `COMPLETED` status appears,
-        the results are available in the location specified by the
-        `OutputUri` parameter.
-
-        :type batch_prediction_id: string
-        :param batch_prediction_id: A user-supplied ID that uniquely identifies
-            the `BatchPrediction`.
-
-        :type batch_prediction_name: string
-        :param batch_prediction_name: A user-supplied name or description of
-            the `BatchPrediction`. `BatchPredictionName` can only use the UTF-8
-            character set.
-
-        :type ml_model_id: string
-        :param ml_model_id: The ID of the `MLModel` that will generate
-            predictions for the group of observations.
-
-        :type batch_prediction_data_source_id: string
-        :param batch_prediction_data_source_id: The ID of the `DataSource` that
-            points to the group of observations to predict.
-
-        :type output_uri: string
-        :param output_uri: The location of an Amazon Simple Storage Service
-            (Amazon S3) bucket or directory to store the batch prediction
-            results. The following substrings are not allowed in the s3 key
-            portion of the "outputURI" field: ':', '//', '/./', '/../'.
-        Amazon ML needs permissions to store and retrieve the logs on your
-            behalf. For information about how to set permissions, see the
-            `Amazon Machine Learning Developer Guide`_.
-
-        """
-        params = {
-            'BatchPredictionId': batch_prediction_id,
-            'MLModelId': ml_model_id,
-            'BatchPredictionDataSourceId': batch_prediction_data_source_id,
-            'OutputUri': output_uri,
-        }
-        if batch_prediction_name is not None:
-            params['BatchPredictionName'] = batch_prediction_name
-        return self.make_request(action='CreateBatchPrediction',
-                                 body=json.dumps(params))
-
-    def create_data_source_from_rds(self, data_source_id, rds_data, role_arn,
-                                    data_source_name=None,
-                                    compute_statistics=None):
-        """
-        Creates a `DataSource` object from an ` Amazon Relational
-        Database Service`_ (Amazon RDS). A `DataSource` references
-        data that can be used to perform CreateMLModel,
-        CreateEvaluation, or CreateBatchPrediction operations.
-
-        `CreateDataSourceFromRDS` is an asynchronous operation. In
-        response to `CreateDataSourceFromRDS`, Amazon Machine Learning
-        (Amazon ML) immediately returns and sets the `DataSource`
-        status to `PENDING`. After the `DataSource` is created and
-        ready for use, Amazon ML sets the `Status` parameter to
-        `COMPLETED`. `DataSource` in `COMPLETED` or `PENDING` status
-        can only be used to perform CreateMLModel, CreateEvaluation,
-        or CreateBatchPrediction operations.
-
-        If Amazon ML cannot accept the input source, it sets the
-        `Status` parameter to `FAILED` and includes an error message
-        in the `Message` attribute of the GetDataSource operation
-        response.
-
-        :type data_source_id: string
-        :param data_source_id: A user-supplied ID that uniquely identifies the
-            `DataSource`. Typically, an Amazon Resource Number (ARN) becomes
-            the ID for a `DataSource`.
-
-        :type data_source_name: string
-        :param data_source_name: A user-supplied name or description of the
-            `DataSource`.
-
-        :type rds_data: dict
-        :param rds_data:
-        The data specification of an Amazon RDS `DataSource`:
-
-
-        + DatabaseInformation -
-
-            + `DatabaseName ` - Name of the Amazon RDS database.
-            + ` InstanceIdentifier ` - Unique identifier for the Amazon RDS
-                  database instance.
-
-        + DatabaseCredentials - AWS Identity and Access Management (IAM)
-              credentials that are used to connect to the Amazon RDS database.
-        + ResourceRole - Role (DataPipelineDefaultResourceRole) assumed by an
-              Amazon Elastic Compute Cloud (EC2) instance to carry out the copy
-              task from Amazon RDS to Amazon S3. For more information, see `Role
-              templates`_ for data pipelines.
-        + ServiceRole - Role (DataPipelineDefaultRole) assumed by the AWS Data
-              Pipeline service to monitor the progress of the copy task from
-              Amazon RDS to Amazon Simple Storage Service (S3). For more
-              information, see `Role templates`_ for data pipelines.
-        + SecurityInfo - Security information to use to access an Amazon RDS
-              instance. You need to set up appropriate ingress rules for the
-              security entity IDs provided to allow access to the Amazon RDS
-              instance. Specify a [ `SubnetId`, `SecurityGroupIds`] pair for a
-              VPC-based Amazon RDS instance.
-        + SelectSqlQuery - Query that is used to retrieve the observation data
-              for the `Datasource`.
-        + S3StagingLocation - Amazon S3 location for staging RDS data. The data
-              retrieved from Amazon RDS using `SelectSqlQuery` is stored in this
-              location.
-        + DataSchemaUri - Amazon S3 location of the `DataSchema`.
-        + DataSchema - A JSON string representing the schema. This is not
-              required if `DataSchemaUri` is specified.
-        + DataRearrangement - A JSON string representing the splitting
-              requirement of a `Datasource`. Sample - ` "{\"randomSeed\":\"some-
-              random-seed\",
-              \"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"`
-
-        :type role_arn: string
-        :param role_arn: The role that Amazon ML assumes on behalf of the user
-            to create and activate a data pipeline in the users account and
-            copy data (using the `SelectSqlQuery`) query from Amazon RDS to
-            Amazon S3.
-
-        :type compute_statistics: boolean
-        :param compute_statistics: The compute statistics for a `DataSource`.
-            The statistics are generated from the observation data referenced
-            by a `DataSource`. Amazon ML uses the statistics internally during
-            an `MLModel` training. This parameter must be set to `True` if the
-            ``DataSource `` needs to be used for `MLModel` training.
-
-        """
-        params = {
-            'DataSourceId': data_source_id,
-            'RDSData': rds_data,
-            'RoleARN': role_arn,
-        }
-        if data_source_name is not None:
-            params['DataSourceName'] = data_source_name
-        if compute_statistics is not None:
-            params['ComputeStatistics'] = compute_statistics
-        return self.make_request(action='CreateDataSourceFromRDS',
-                                 body=json.dumps(params))
-
-    def create_data_source_from_redshift(self, data_source_id, data_spec,
-                                         role_arn, data_source_name=None,
-                                         compute_statistics=None):
-        """
-        Creates a `DataSource` from `Amazon Redshift`_. A `DataSource`
-        references data that can be used to perform either
-        CreateMLModel, CreateEvaluation or CreateBatchPrediction
-        operations.
-
-        `CreateDataSourceFromRedshift` is an asynchronous operation.
-        In response to `CreateDataSourceFromRedshift`, Amazon Machine
-        Learning (Amazon ML) immediately returns and sets the
-        `DataSource` status to `PENDING`. After the `DataSource` is
-        created and ready for use, Amazon ML sets the `Status`
-        parameter to `COMPLETED`. `DataSource` in `COMPLETED` or
-        `PENDING` status can only be used to perform CreateMLModel,
-        CreateEvaluation, or CreateBatchPrediction operations.
-
-        If Amazon ML cannot accept the input source, it sets the
-        `Status` parameter to `FAILED` and includes an error message
-        in the `Message` attribute of the GetDataSource operation
-        response.
-
-        The observations should exist in the database hosted on an
-        Amazon Redshift cluster and should be specified by a
-        `SelectSqlQuery`. Amazon ML executes ` Unload`_ command in
-        Amazon Redshift to transfer the result set of `SelectSqlQuery`
-        to `S3StagingLocation.`
-
-        After the `DataSource` is created, it's ready for use in
-        evaluations and batch predictions. If you plan to use the
-        `DataSource` to train an `MLModel`, the `DataSource` requires
-        another item -- a recipe. A recipe describes the observation
-        variables that participate in training an `MLModel`. A recipe
-        describes how each input variable will be used in training.
-        Will the variable be included or excluded from training? Will
-        the variable be manipulated, for example, combined with
-        another variable or split apart into word combinations? The
-        recipe provides answers to these questions. For more
-        information, see the Amazon Machine Learning Developer Guide.
-
-        :type data_source_id: string
-        :param data_source_id: A user-supplied ID that uniquely identifies the
-            `DataSource`.
-
-        :type data_source_name: string
-        :param data_source_name: A user-supplied name or description of the
-            `DataSource`.
-
-        :type data_spec: dict
-        :param data_spec:
-        The data specification of an Amazon Redshift `DataSource`:
-
-
-        + DatabaseInformation -
-
-            + `DatabaseName ` - Name of the Amazon Redshift database.
-            + ` ClusterIdentifier ` - Unique ID for the Amazon Redshift cluster.
-
-        + DatabaseCredentials - AWS Identity abd Access Management (IAM)
-              credentials that are used to connect to the Amazon Redshift
-              database.
-        + SelectSqlQuery - Query that is used to retrieve the observation data
-              for the `Datasource`.
-        + S3StagingLocation - Amazon Simple Storage Service (Amazon S3)
-              location for staging Amazon Redshift data. The data retrieved from
-              Amazon Relational Database Service (Amazon RDS) using
-              `SelectSqlQuery` is stored in this location.
-        + DataSchemaUri - Amazon S3 location of the `DataSchema`.
-        + DataSchema - A JSON string representing the schema. This is not
-              required if `DataSchemaUri` is specified.
-        + DataRearrangement - A JSON string representing the splitting
-              requirement of a `Datasource`. Sample - ` "{\"randomSeed\":\"some-
-              random-seed\",
-              \"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"`
-
-        :type role_arn: string
-        :param role_arn: A fully specified role Amazon Resource Name (ARN).
-            Amazon ML assumes the role on behalf of the user to create the
-            following:
-
-
-        + A security group to allow Amazon ML to execute the `SelectSqlQuery`
-              query on an Amazon Redshift cluster
-        + An Amazon S3 bucket policy to grant Amazon ML read/write permissions
-              on the `S3StagingLocation`
-
-        :type compute_statistics: boolean
-        :param compute_statistics: The compute statistics for a `DataSource`.
-            The statistics are generated from the observation data referenced
-            by a `DataSource`. Amazon ML uses the statistics internally during
-            `MLModel` training. This parameter must be set to `True` if the
-            ``DataSource `` needs to be used for `MLModel` training
-
-        """
-        params = {
-            'DataSourceId': data_source_id,
-            'DataSpec': data_spec,
-            'RoleARN': role_arn,
-        }
-        if data_source_name is not None:
-            params['DataSourceName'] = data_source_name
-        if compute_statistics is not None:
-            params['ComputeStatistics'] = compute_statistics
-        return self.make_request(action='CreateDataSourceFromRedshift',
-                                 body=json.dumps(params))
-
-    def create_data_source_from_s3(self, data_source_id, data_spec,
-                                   data_source_name=None,
-                                   compute_statistics=None):
-        """
-        Creates a `DataSource` object. A `DataSource` references data
-        that can be used to perform CreateMLModel, CreateEvaluation,
-        or CreateBatchPrediction operations.
-
-        `CreateDataSourceFromS3` is an asynchronous operation. In
-        response to `CreateDataSourceFromS3`, Amazon Machine Learning
-        (Amazon ML) immediately returns and sets the `DataSource`
-        status to `PENDING`. After the `DataSource` is created and
-        ready for use, Amazon ML sets the `Status` parameter to
-        `COMPLETED`. `DataSource` in `COMPLETED` or `PENDING` status
-        can only be used to perform CreateMLModel, CreateEvaluation or
-        CreateBatchPrediction operations.
-
-        If Amazon ML cannot accept the input source, it sets the
-        `Status` parameter to `FAILED` and includes an error message
-        in the `Message` attribute of the GetDataSource operation
-        response.
-
-        The observation data used in a `DataSource` should be ready to
-        use; that is, it should have a consistent structure, and
-        missing data values should be kept to a minimum. The
-        observation data must reside in one or more CSV files in an
-        Amazon Simple Storage Service (Amazon S3) bucket, along with a
-        schema that describes the data items by name and type. The
-        same schema must be used for all of the data files referenced
-        by the `DataSource`.
-
-        After the `DataSource` has been created, it's ready to use in
-        evaluations and batch predictions. If you plan to use the
-        `DataSource` to train an `MLModel`, the `DataSource` requires
-        another item: a recipe. A recipe describes the observation
-        variables that participate in training an `MLModel`. A recipe
-        describes how each input variable will be used in training.
-        Will the variable be included or excluded from training? Will
-        the variable be manipulated, for example, combined with
-        another variable, or split apart into word combinations? The
-        recipe provides answers to these questions. For more
-        information, see the `Amazon Machine Learning Developer
-        Guide`_.
-
-        :type data_source_id: string
-        :param data_source_id: A user-supplied identifier that uniquely
-            identifies the `DataSource`.
-
-        :type data_source_name: string
-        :param data_source_name: A user-supplied name or description of the
-            `DataSource`.
-
-        :type data_spec: dict
-        :param data_spec:
-        The data specification of a `DataSource`:
-
-
-        + DataLocationS3 - Amazon Simple Storage Service (Amazon S3) location
-              of the observation data.
-        + DataSchemaLocationS3 - Amazon S3 location of the `DataSchema`.
-        + DataSchema - A JSON string representing the schema. This is not
-              required if `DataSchemaUri` is specified.
-        + DataRearrangement - A JSON string representing the splitting
-              requirement of a `Datasource`. Sample - ` "{\"randomSeed\":\"some-
-              random-seed\",
-              \"splitting\":{\"percentBegin\":10,\"percentEnd\":60}}"`
-
-        :type compute_statistics: boolean
-        :param compute_statistics: The compute statistics for a `DataSource`.
-            The statistics are generated from the observation data referenced
-            by a `DataSource`. Amazon ML uses the statistics internally during
-            an `MLModel` training. This parameter must be set to `True` if the
-            ``DataSource `` needs to be used for `MLModel` training
-
-        """
-        params = {
-            'DataSourceId': data_source_id,
-            'DataSpec': data_spec,
-        }
-        if data_source_name is not None:
-            params['DataSourceName'] = data_source_name
-        if compute_statistics is not None:
-            params['ComputeStatistics'] = compute_statistics
-        return self.make_request(action='CreateDataSourceFromS3',
-                                 body=json.dumps(params))
-
-    def create_evaluation(self, evaluation_id, ml_model_id,
-                          evaluation_data_source_id, evaluation_name=None):
-        """
-        Creates a new `Evaluation` of an `MLModel`. An `MLModel` is
-        evaluated on a set of observations associated to a
-        `DataSource`. Like a `DataSource` for an `MLModel`, the
-        `DataSource` for an `Evaluation` contains values for the
-        Target Variable. The `Evaluation` compares the predicted
-        result for each observation to the actual outcome and provides
-        a summary so that you know how effective the `MLModel`
-        functions on the test data. Evaluation generates a relevant
-        performance metric such as BinaryAUC, RegressionRMSE or
-        MulticlassAvgFScore based on the corresponding `MLModelType`:
-        `BINARY`, `REGRESSION` or `MULTICLASS`.
-
-        `CreateEvaluation` is an asynchronous operation. In response
-        to `CreateEvaluation`, Amazon Machine Learning (Amazon ML)
-        immediately returns and sets the evaluation status to
-        `PENDING`. After the `Evaluation` is created and ready for
-        use, Amazon ML sets the status to `COMPLETED`.
-
-        You can use the GetEvaluation operation to check progress of
-        the evaluation during the creation operation.
-
-        :type evaluation_id: string
-        :param evaluation_id: A user-supplied ID that uniquely identifies the
-            `Evaluation`.
-
-        :type evaluation_name: string
-        :param evaluation_name: A user-supplied name or description of the
-            `Evaluation`.
-
-        :type ml_model_id: string
-        :param ml_model_id: The ID of the `MLModel` to evaluate.
-        The schema used in creating the `MLModel` must match the schema of the
-            `DataSource` used in the `Evaluation`.
-
-        :type evaluation_data_source_id: string
-        :param evaluation_data_source_id: The ID of the `DataSource` for the
-            evaluation. The schema of the `DataSource` must match the schema
-            used to create the `MLModel`.
-
-        """
-        params = {
-            'EvaluationId': evaluation_id,
-            'MLModelId': ml_model_id,
-            'EvaluationDataSourceId': evaluation_data_source_id,
-        }
-        if evaluation_name is not None:
-            params['EvaluationName'] = evaluation_name
-        return self.make_request(action='CreateEvaluation',
-                                 body=json.dumps(params))
-
-    def create_ml_model(self, ml_model_id, ml_model_type,
-                        training_data_source_id, ml_model_name=None,
-                        parameters=None, recipe=None, recipe_uri=None):
-        """
-        Creates a new `MLModel` using the data files and the recipe as
-        information sources.
-
-        An `MLModel` is nearly immutable. Users can only update the
-        `MLModelName` and the `ScoreThreshold` in an `MLModel` without
-        creating a new `MLModel`.
-
-        `CreateMLModel` is an asynchronous operation. In response to
-        `CreateMLModel`, Amazon Machine Learning (Amazon ML)
-        immediately returns and sets the `MLModel` status to
-        `PENDING`. After the `MLModel` is created and ready for use,
-        Amazon ML sets the status to `COMPLETED`.
-
-        You can use the GetMLModel operation to check progress of the
-        `MLModel` during the creation operation.
-
-        CreateMLModel requires a `DataSource` with computed
-        statistics, which can be created by setting
-        `ComputeStatistics` to `True` in CreateDataSourceFromRDS,
-        CreateDataSourceFromS3, or CreateDataSourceFromRedshift
-        operations.
-
-        :type ml_model_id: string
-        :param ml_model_id: A user-supplied ID that uniquely identifies the
-            `MLModel`.
-
-        :type ml_model_name: string
-        :param ml_model_name: A user-supplied name or description of the
-            `MLModel`.
-
-        :type ml_model_type: string
-        :param ml_model_type: The category of supervised learning that this
-            `MLModel` will address. Choose from the following types:
-
-        + Choose `REGRESSION` if the `MLModel` will be used to predict a
-              numeric value.
-        + Choose `BINARY` if the `MLModel` result has two possible values.
-        + Choose `MULTICLASS` if the `MLModel` result has a limited number of
-              values.
-
-
-        For more information, see the `Amazon Machine Learning Developer
-            Guide`_.
-
-        :type parameters: map
-        :param parameters:
-        A list of the training parameters in the `MLModel`. The list is
-            implemented as a map of key/value pairs.
-
-        The following is the current set of training parameters:
-
-
-        + `sgd.l1RegularizationAmount` - Coefficient regularization L1 norm. It
-              controls overfitting the data by penalizing large coefficients.
-              This tends to drive coefficients to zero, resulting in sparse
-              feature set. If you use this parameter, start by specifying a small
-              value such as 1.0E-08. The value is a double that ranges from 0 to
-              MAX_DOUBLE. The default is not to use L1 normalization. The
-              parameter cannot be used when `L2` is specified. Use this parameter
-              sparingly.
-        + `sgd.l2RegularizationAmount` - Coefficient regularization L2 norm. It
-              controls overfitting the data by penalizing large coefficients.
-              This tends to drive coefficients to small, nonzero values. If you
-              use this parameter, start by specifying a small value such as
-              1.0E-08. The valuseis a double that ranges from 0 to MAX_DOUBLE.
-              The default is not to use L2 normalization. This cannot be used
-              when `L1` is specified. Use this parameter sparingly.
-        + `sgd.maxPasses` - Number of times that the training process traverses
-              the observations to build the `MLModel`. The value is an integer
-              that ranges from 1 to 10000. The default value is 10.
-        + `sgd.maxMLModelSizeInBytes` - Maximum allowed size of the model.
-              Depending on the input data, the size of the model might affect its
-              performance. The value is an integer that ranges from 100000 to
-              2147483648. The default value is 33554432.
-
-        :type training_data_source_id: string
-        :param training_data_source_id: The `DataSource` that points to the
-            training data.
-
-        :type recipe: string
-        :param recipe: The data recipe for creating `MLModel`. You must specify
-            either the recipe or its URI. If you dont specify a recipe or its
-            URI, Amazon ML creates a default.
-
-        :type recipe_uri: string
-        :param recipe_uri: The Amazon Simple Storage Service (Amazon S3)
-            location and file name that contains the `MLModel` recipe. You must
-            specify either the recipe or its URI. If you dont specify a recipe
-            or its URI, Amazon ML creates a default.
-
-        """
-        params = {
-            'MLModelId': ml_model_id,
-            'MLModelType': ml_model_type,
-            'TrainingDataSourceId': training_data_source_id,
-        }
-        if ml_model_name is not None:
-            params['MLModelName'] = ml_model_name
-        if parameters is not None:
-            params['Parameters'] = parameters
-        if recipe is not None:
-            params['Recipe'] = recipe
-        if recipe_uri is not None:
-            params['RecipeUri'] = recipe_uri
-        return self.make_request(action='CreateMLModel',
-                                 body=json.dumps(params))
-
-    def create_realtime_endpoint(self, ml_model_id):
-        """
-        Creates a real-time endpoint for the `MLModel`. The endpoint
-        contains the URI of the `MLModel`; that is, the location to
-        send real-time prediction requests for the specified
-        `MLModel`.
-
-        :type ml_model_id: string
-        :param ml_model_id: The ID assigned to the `MLModel` during creation.
-
-        """
-        params = {'MLModelId': ml_model_id, }
-        return self.make_request(action='CreateRealtimeEndpoint',
-                                 body=json.dumps(params))
-
-    def delete_batch_prediction(self, batch_prediction_id):
-        """
-        Assigns the DELETED status to a `BatchPrediction`, rendering
-        it unusable.
-
-        After using the `DeleteBatchPrediction` operation, you can use
-        the GetBatchPrediction operation to verify that the status of
-        the `BatchPrediction` changed to DELETED.
-
-        The result of the `DeleteBatchPrediction` operation is
-        irreversible.
-
-        :type batch_prediction_id: string
-        :param batch_prediction_id: A user-supplied ID that uniquely identifies
-            the `BatchPrediction`.
-
-        """
-        params = {'BatchPredictionId': batch_prediction_id, }
-        return self.make_request(action='DeleteBatchPrediction',
-                                 body=json.dumps(params))
-
-    def delete_data_source(self, data_source_id):
-        """
-        Assigns the DELETED status to a `DataSource`, rendering it
-        unusable.
-
-        After using the `DeleteDataSource` operation, you can use the
-        GetDataSource operation to verify that the status of the
-        `DataSource` changed to DELETED.
-
-        The results of the `DeleteDataSource` operation are
-        irreversible.
-
-        :type data_source_id: string
-        :param data_source_id: A user-supplied ID that uniquely identifies the
-            `DataSource`.
-
-        """
-        params = {'DataSourceId': data_source_id, }
-        return self.make_request(action='DeleteDataSource',
-                                 body=json.dumps(params))
-
-    def delete_evaluation(self, evaluation_id):
-        """
-        Assigns the `DELETED` status to an `Evaluation`, rendering it
-        unusable.
-
-        After invoking the `DeleteEvaluation` operation, you can use
-        the GetEvaluation operation to verify that the status of the
-        `Evaluation` changed to `DELETED`.
-
-        The results of the `DeleteEvaluation` operation are
-        irreversible.
-
-        :type evaluation_id: string
-        :param evaluation_id: A user-supplied ID that uniquely identifies the
-            `Evaluation` to delete.
-
-        """
-        params = {'EvaluationId': evaluation_id, }
-        return self.make_request(action='DeleteEvaluation',
-                                 body=json.dumps(params))
-
-    def delete_ml_model(self, ml_model_id):
-        """
-        Assigns the DELETED status to an `MLModel`, rendering it
-        unusable.
-
-        After using the `DeleteMLModel` operation, you can use the
-        GetMLModel operation to verify that the status of the
-        `MLModel` changed to DELETED.
-
-        The result of the `DeleteMLModel` operation is irreversible.
-
-        :type ml_model_id: string
-        :param ml_model_id: A user-supplied ID that uniquely identifies the
-            `MLModel`.
-
-        """
-        params = {'MLModelId': ml_model_id, }
-        return self.make_request(action='DeleteMLModel',
-                                 body=json.dumps(params))
-
-    def delete_realtime_endpoint(self, ml_model_id):
-        """
-        Deletes a real time endpoint of an `MLModel`.
-
-        :type ml_model_id: string
-        :param ml_model_id: The ID assigned to the `MLModel` during creation.
-
-        """
-        params = {'MLModelId': ml_model_id, }
-        return self.make_request(action='DeleteRealtimeEndpoint',
-                                 body=json.dumps(params))
-
-    def describe_batch_predictions(self, filter_variable=None, eq=None,
-                                   gt=None, lt=None, ge=None, le=None,
-                                   ne=None, prefix=None, sort_order=None,
-                                   next_token=None, limit=None):
-        """
-        Returns a list of `BatchPrediction` operations that match the
-        search criteria in the request.
-
-        :type filter_variable: string
-        :param filter_variable:
-        Use one of the following variables to filter a list of
-            `BatchPrediction`:
-
-
-        + `CreatedAt` - Sets the search criteria to the `BatchPrediction`
-              creation date.
-        + `Status` - Sets the search criteria to the `BatchPrediction` status.
-        + `Name` - Sets the search criteria to the contents of the
-              `BatchPrediction` ** ** `Name`.
-        + `IAMUser` - Sets the search criteria to the user account that invoked
-              the `BatchPrediction` creation.
-        + `MLModelId` - Sets the search criteria to the `MLModel` used in the
-              `BatchPrediction`.
-        + `DataSourceId` - Sets the search criteria to the `DataSource` used in
-              the `BatchPrediction`.
-        + `DataURI` - Sets the search criteria to the data file(s) used in the
-              `BatchPrediction`. The URL can identify either a file or an Amazon
-              Simple Storage Solution (Amazon S3) bucket or directory.
-
-        :type eq: string
-        :param eq: The equal to operator. The `BatchPrediction` results will
-            have `FilterVariable` values that exactly match the value specified
-            with `EQ`.
-
-        :type gt: string
-        :param gt: The greater than operator. The `BatchPrediction` results
-            will have `FilterVariable` values that are greater than the value
-            specified with `GT`.
-
-        :type lt: string
-        :param lt: The less than operator. The `BatchPrediction` results will
-            have `FilterVariable` values that are less than the value specified
-            with `LT`.
-
-        :type ge: string
-        :param ge: The greater than or equal to operator. The `BatchPrediction`
-            results will have `FilterVariable` values that are greater than or
-            equal to the value specified with `GE`.
-
-        :type le: string
-        :param le: The less than or equal to operator. The `BatchPrediction`
-            results will have `FilterVariable` values that are less than or
-            equal to the value specified with `LE`.
-
-        :type ne: string
-        :param ne: The not equal to operator. The `BatchPrediction` results
-            will have `FilterVariable` values not equal to the value specified
-            with `NE`.
-
-        :type prefix: string
-        :param prefix:
-        A string that is found at the beginning of a variable, such as `Name`
-            or `Id`.
-
-        For example, a `Batch Prediction` operation could have the `Name`
-            `2014-09-09-HolidayGiftMailer`. To search for this
-            `BatchPrediction`, select `Name` for the `FilterVariable` and any
-            of the following strings for the `Prefix`:
-
-
-        + 2014-09
-        + 2014-09-09
-        + 2014-09-09-Holiday
-
-        :type sort_order: string
-        :param sort_order: A two-value parameter that determines the sequence
-            of the resulting list of `MLModel`s.
-
-        + `asc` - Arranges the list in ascending order (A-Z, 0-9).
-        + `dsc` - Arranges the list in descending order (Z-A, 9-0).
-
-
-        Results are sorted by `FilterVariable`.
-
-        :type next_token: string
-        :param next_token: An ID of the page in the paginated results.
-
-        :type limit: integer
-        :param limit: The number of pages of information to include in the
-            result. The range of acceptable values is 1 through 100. The
-            default value is 100.
-
-        """
-        params = {}
-        if filter_variable is not None:
-            params['FilterVariable'] = filter_variable
-        if eq is not None:
-            params['EQ'] = eq
-        if gt is not None:
-            params['GT'] = gt
-        if lt is not None:
-            params['LT'] = lt
-        if ge is not None:
-            params['GE'] = ge
-        if le is not None:
-            params['LE'] = le
-        if ne is not None:
-            params['NE'] = ne
-        if prefix is not None:
-            params['Prefix'] = prefix
-        if sort_order is not None:
-            params['SortOrder'] = sort_order
-        if next_token is not None:
-            params['NextToken'] = next_token
-        if limit is not None:
-            params['Limit'] = limit
-        return self.make_request(action='DescribeBatchPredictions',
-                                 body=json.dumps(params))
-
-    def describe_data_sources(self, filter_variable=None, eq=None, gt=None,
-                              lt=None, ge=None, le=None, ne=None,
-                              prefix=None, sort_order=None, next_token=None,
-                              limit=None):
-        """
-        Returns a list of `DataSource` that match the search criteria
-        in the request.
-
-        :type filter_variable: string
-        :param filter_variable:
-        Use one of the following variables to filter a list of `DataSource`:
-
-
-        + `CreatedAt` - Sets the search criteria to `DataSource` creation
-              dates.
-        + `Status` - Sets the search criteria to `DataSource` statuses.
-        + `Name` - Sets the search criteria to the contents of `DataSource` **
-              ** `Name`.
-        + `DataUri` - Sets the search criteria to the URI of data files used to
-              create the `DataSource`. The URI can identify either a file or an
-              Amazon Simple Storage Service (Amazon S3) bucket or directory.
-        + `IAMUser` - Sets the search criteria to the user account that invoked
-              the `DataSource` creation.
-
-        :type eq: string
-        :param eq: The equal to operator. The `DataSource` results will have
-            `FilterVariable` values that exactly match the value specified with
-            `EQ`.
-
-        :type gt: string
-        :param gt: The greater than operator. The `DataSource` results will
-            have `FilterVariable` values that are greater than the value
-            specified with `GT`.
-
-        :type lt: string
-        :param lt: The less than operator. The `DataSource` results will have
-            `FilterVariable` values that are less than the value specified with
-            `LT`.
-
-        :type ge: string
-        :param ge: The greater than or equal to operator. The `DataSource`
-            results will have `FilterVariable` values that are greater than or
-            equal to the value specified with `GE`.
-
-        :type le: string
-        :param le: The less than or equal to operator. The `DataSource` results
-            will have `FilterVariable` values that are less than or equal to
-            the value specified with `LE`.
-
-        :type ne: string
-        :param ne: The not equal to operator. The `DataSource` results will
-            have `FilterVariable` values not equal to the value specified with
-            `NE`.
-
-        :type prefix: string
-        :param prefix:
-        A string that is found at the beginning of a variable, such as `Name`
-            or `Id`.
-
-        For example, a `DataSource` could have the `Name`
-            `2014-09-09-HolidayGiftMailer`. To search for this `DataSource`,
-            select `Name` for the `FilterVariable` and any of the following
-            strings for the `Prefix`:
-
-
-        + 2014-09
-        + 2014-09-09
-        + 2014-09-09-Holiday
-
-        :type sort_order: string
-        :param sort_order: A two-value parameter that determines the sequence
-            of the resulting list of `DataSource`.
-
-        + `asc` - Arranges the list in ascending order (A-Z, 0-9).
-        + `dsc` - Arranges the list in descending order (Z-A, 9-0).
-
-
-        Results are sorted by `FilterVariable`.
-
-        :type next_token: string
-        :param next_token: The ID of the page in the paginated results.
-
-        :type limit: integer
-        :param limit: The maximum number of `DataSource` to include in the
-            result.
-
-        """
-        params = {}
-        if filter_variable is not None:
-            params['FilterVariable'] = filter_variable
-        if eq is not None:
-            params['EQ'] = eq
-        if gt is not None:
-            params['GT'] = gt
-        if lt is not None:
-            params['LT'] = lt
-        if ge is not None:
-            params['GE'] = ge
-        if le is not None:
-            params['LE'] = le
-        if ne is not None:
-            params['NE'] = ne
-        if prefix is not None:
-            params['Prefix'] = prefix
-        if sort_order is not None:
-            params['SortOrder'] = sort_order
-        if next_token is not None:
-            params['NextToken'] = next_token
-        if limit is not None:
-            params['Limit'] = limit
-        return self.make_request(action='DescribeDataSources',
-                                 body=json.dumps(params))
-
-    def describe_evaluations(self, filter_variable=None, eq=None, gt=None,
-                             lt=None, ge=None, le=None, ne=None, prefix=None,
-                             sort_order=None, next_token=None, limit=None):
-        """
-        Returns a list of `DescribeEvaluations` that match the search
-        criteria in the request.
-
-        :type filter_variable: string
-        :param filter_variable:
-        Use one of the following variable to filter a list of `Evaluation`
-            objects:
-
-
-        + `CreatedAt` - Sets the search criteria to the `Evaluation` creation
-              date.
-        + `Status` - Sets the search criteria to the `Evaluation` status.
-        + `Name` - Sets the search criteria to the contents of `Evaluation` **
-              ** `Name`.
-        + `IAMUser` - Sets the search criteria to the user account that invoked
-              an `Evaluation`.
-        + `MLModelId` - Sets the search criteria to the `MLModel` that was
-              evaluated.
-        + `DataSourceId` - Sets the search criteria to the `DataSource` used in
-              `Evaluation`.
-        + `DataUri` - Sets the search criteria to the data file(s) used in
-              `Evaluation`. The URL can identify either a file or an Amazon
-              Simple Storage Solution (Amazon S3) bucket or directory.
-
-        :type eq: string
-        :param eq: The equal to operator. The `Evaluation` results will have
-            `FilterVariable` values that exactly match the value specified with
-            `EQ`.
-
-        :type gt: string
-        :param gt: The greater than operator. The `Evaluation` results will
-            have `FilterVariable` values that are greater than the value
-            specified with `GT`.
-
-        :type lt: string
-        :param lt: The less than operator. The `Evaluation` results will have
-            `FilterVariable` values that are less than the value specified with
-            `LT`.
-
-        :type ge: string
-        :param ge: The greater than or equal to operator. The `Evaluation`
-            results will have `FilterVariable` values that are greater than or
-            equal to the value specified with `GE`.
-
-        :type le: string
-        :param le: The less than or equal to operator. The `Evaluation` results
-            will have `FilterVariable` values that are less than or equal to
-            the value specified with `LE`.
-
-        :type ne: string
-        :param ne: The not equal to operator. The `Evaluation` results will
-            have `FilterVariable` values not equal to the value specified with
-            `NE`.
-
-        :type prefix: string
-        :param prefix:
-        A string that is found at the beginning of a variable, such as `Name`
-            or `Id`.
-
-        For example, an `Evaluation` could have the `Name`
-            `2014-09-09-HolidayGiftMailer`. To search for this `Evaluation`,
-            select `Name` for the `FilterVariable` and any of the following
-            strings for the `Prefix`:
-
-
-        + 2014-09
-        + 2014-09-09
-        + 2014-09-09-Holiday
-
-        :type sort_order: string
-        :param sort_order: A two-value parameter that determines the sequence
-            of the resulting list of `Evaluation`.
-
-        + `asc` - Arranges the list in ascending order (A-Z, 0-9).
-        + `dsc` - Arranges the list in descending order (Z-A, 9-0).
-
-
-        Results are sorted by `FilterVariable`.
-
-        :type next_token: string
-        :param next_token: The ID of the page in the paginated results.
-
-        :type limit: integer
-        :param limit: The maximum number of `Evaluation` to include in the
-            result.
-
-        """
-        params = {}
-        if filter_variable is not None:
-            params['FilterVariable'] = filter_variable
-        if eq is not None:
-            params['EQ'] = eq
-        if gt is not None:
-            params['GT'] = gt
-        if lt is not None:
-            params['LT'] = lt
-        if ge is not None:
-            params['GE'] = ge
-        if le is not None:
-            params['LE'] = le
-        if ne is not None:
-            params['NE'] = ne
-        if prefix is not None:
-            params['Prefix'] = prefix
-        if sort_order is not None:
-            params['SortOrder'] = sort_order
-        if next_token is not None:
-            params['NextToken'] = next_token
-        if limit is not None:
-            params['Limit'] = limit
-        return self.make_request(action='DescribeEvaluations',
-                                 body=json.dumps(params))
-
-    def describe_ml_models(self, filter_variable=None, eq=None, gt=None,
-                           lt=None, ge=None, le=None, ne=None, prefix=None,
-                           sort_order=None, next_token=None, limit=None):
-        """
-        Returns a list of `MLModel` that match the search criteria in
-        the request.
-
-        :type filter_variable: string
-        :param filter_variable:
-        Use one of the following variables to filter a list of `MLModel`:
-
-
-        + `CreatedAt` - Sets the search criteria to `MLModel` creation date.
-        + `Status` - Sets the search criteria to `MLModel` status.
-        + `Name` - Sets the search criteria to the contents of `MLModel` ** **
-              `Name`.
-        + `IAMUser` - Sets the search criteria to the user account that invoked
-              the `MLModel` creation.
-        + `TrainingDataSourceId` - Sets the search criteria to the `DataSource`
-              used to train one or more `MLModel`.
-        + `RealtimeEndpointStatus` - Sets the search criteria to the `MLModel`
-              real-time endpoint status.
-        + `MLModelType` - Sets the search criteria to `MLModel` type: binary,
-              regression, or multi-class.
-        + `Algorithm` - Sets the search criteria to the algorithm that the
-              `MLModel` uses.
-        + `TrainingDataURI` - Sets the search criteria to the data file(s) used
-              in training a `MLModel`. The URL can identify either a file or an
-              Amazon Simple Storage Service (Amazon S3) bucket or directory.
-
-        :type eq: string
-        :param eq: The equal to operator. The `MLModel` results will have
-            `FilterVariable` values that exactly match the value specified with
-            `EQ`.
-
-        :type gt: string
-        :param gt: The greater than operator. The `MLModel` results will have
-            `FilterVariable` values that are greater than the value specified
-            with `GT`.
-
-        :type lt: string
-        :param lt: The less than operator. The `MLModel` results will have
-            `FilterVariable` values that are less than the value specified with
-            `LT`.
-
-        :type ge: string
-        :param ge: The greater than or equal to operator. The `MLModel` results
-            will have `FilterVariable` values that are greater than or equal to
-            the value specified with `GE`.
-
-        :type le: string
-        :param le: The less than or equal to operator. The `MLModel` results
-            will have `FilterVariable` values that are less than or equal to
-            the value specified with `LE`.
-
-        :type ne: string
-        :param ne: The not equal to operator. The `MLModel` results will have
-            `FilterVariable` values not equal to the value specified with `NE`.
-
-        :type prefix: string
-        :param prefix:
-        A string that is found at the beginning of a variable, such as `Name`
-            or `Id`.
-
-        For example, an `MLModel` could have the `Name`
-            `2014-09-09-HolidayGiftMailer`. To search for this `MLModel`,
-            select `Name` for the `FilterVariable` and any of the following
-            strings for the `Prefix`:
-
-
-        + 2014-09
-        + 2014-09-09
-        + 2014-09-09-Holiday
-
-        :type sort_order: string
-        :param sort_order: A two-value parameter that determines the sequence
-            of the resulting list of `MLModel`.
-
-        + `asc` - Arranges the list in ascending order (A-Z, 0-9).
-        + `dsc` - Arranges the list in descending order (Z-A, 9-0).
-
-
-        Results are sorted by `FilterVariable`.
-
-        :type next_token: string
-        :param next_token: The ID of the page in the paginated results.
-
-        :type limit: integer
-        :param limit: The number of pages of information to include in the
-            result. The range of acceptable values is 1 through 100. The
-            default value is 100.
-
-        """
-        params = {}
-        if filter_variable is not None:
-            params['FilterVariable'] = filter_variable
-        if eq is not None:
-            params['EQ'] = eq
-        if gt is not None:
-            params['GT'] = gt
-        if lt is not None:
-            params['LT'] = lt
-        if ge is not None:
-            params['GE'] = ge
-        if le is not None:
-            params['LE'] = le
-        if ne is not None:
-            params['NE'] = ne
-        if prefix is not None:
-            params['Prefix'] = prefix
-        if sort_order is not None:
-            params['SortOrder'] = sort_order
-        if next_token is not None:
-            params['NextToken'] = next_token
-        if limit is not None:
-            params['Limit'] = limit
-        return self.make_request(action='DescribeMLModels',
-                                 body=json.dumps(params))
-
-    def get_batch_prediction(self, batch_prediction_id):
-        """
-        Returns a `BatchPrediction` that includes detailed metadata,
-        status, and data file information for a `Batch Prediction`
-        request.
-
-        :type batch_prediction_id: string
-        :param batch_prediction_id: An ID assigned to the `BatchPrediction` at
-            creation.
-
-        """
-        params = {'BatchPredictionId': batch_prediction_id, }
-        return self.make_request(action='GetBatchPrediction',
-                                 body=json.dumps(params))
-
-    def get_data_source(self, data_source_id, verbose=None):
-        """
-        Returns a `DataSource` that includes metadata and data file
-        information, as well as the current status of the
-        `DataSource`.
-
-        `GetDataSource` provides results in normal or verbose format.
-        The verbose format adds the schema description and the list of
-        files pointed to by the DataSource to the normal format.
-
-        :type data_source_id: string
-        :param data_source_id: The ID assigned to the `DataSource` at creation.
-
-        :type verbose: boolean
-        :param verbose: Specifies whether the `GetDataSource` operation should
-            return `DataSourceSchema`.
-        If true, `DataSourceSchema` is returned.
-
-        If false, `DataSourceSchema` is not returned.
-
-        """
-        params = {'DataSourceId': data_source_id, }
-        if verbose is not None:
-            params['Verbose'] = verbose
-        return self.make_request(action='GetDataSource',
-                                 body=json.dumps(params))
-
-    def get_evaluation(self, evaluation_id):
-        """
-        Returns an `Evaluation` that includes metadata as well as the
-        current status of the `Evaluation`.
-
-        :type evaluation_id: string
-        :param evaluation_id: The ID of the `Evaluation` to retrieve. The
-            evaluation of each `MLModel` is recorded and cataloged. The ID
-            provides the means to access the information.
-
-        """
-        params = {'EvaluationId': evaluation_id, }
-        return self.make_request(action='GetEvaluation',
-                                 body=json.dumps(params))
-
-    def get_ml_model(self, ml_model_id, verbose=None):
-        """
-        Returns an `MLModel` that includes detailed metadata, and data
-        source information as well as the current status of the
-        `MLModel`.
-
-        `GetMLModel` provides results in normal or verbose format.
-
-        :type ml_model_id: string
-        :param ml_model_id: The ID assigned to the `MLModel` at creation.
-
-        :type verbose: boolean
-        :param verbose: Specifies whether the `GetMLModel` operation should
-            return `Recipe`.
-        If true, `Recipe` is returned.
-
-        If false, `Recipe` is not returned.
-
-        """
-        params = {'MLModelId': ml_model_id, }
-        if verbose is not None:
-            params['Verbose'] = verbose
-        return self.make_request(action='GetMLModel',
-                                 body=json.dumps(params))
-
-    def predict(self, ml_model_id, record, predict_endpoint):
-        """
-        Generates a prediction for the observation using the specified
-        `MLModel`.
-
-
-        Not all response parameters will be populated because this is
-        dependent on the type of requested model.
-
-        :type ml_model_id: string
-        :param ml_model_id: A unique identifier of the `MLModel`.
-
-        :type record: map
-        :param record: A map of variable name-value pairs that represent an
-            observation.
-
-        :type predict_endpoint: string
-        :param predict_endpoint: The endpoint to send the predict request to.
-
-        """
-        predict_host =  urlsplit(predict_endpoint).hostname
-        if predict_host is None:
-            predict_host = predict_endpoint
-
-        params = {
-            'MLModelId': ml_model_id,
-            'Record': record,
-            'PredictEndpoint': predict_host,
-        }
-        return self.make_request(action='Predict',
-                                 body=json.dumps(params),
-                                 host=predict_host)
-
-    def update_batch_prediction(self, batch_prediction_id,
-                                batch_prediction_name):
-        """
-        Updates the `BatchPredictionName` of a `BatchPrediction`.
-
-        You can use the GetBatchPrediction operation to view the
-        contents of the updated data element.
-
-        :type batch_prediction_id: string
-        :param batch_prediction_id: The ID assigned to the `BatchPrediction`
-            during creation.
-
-        :type batch_prediction_name: string
-        :param batch_prediction_name: A new user-supplied name or description
-            of the `BatchPrediction`.
-
-        """
-        params = {
-            'BatchPredictionId': batch_prediction_id,
-            'BatchPredictionName': batch_prediction_name,
-        }
-        return self.make_request(action='UpdateBatchPrediction',
-                                 body=json.dumps(params))
-
-    def update_data_source(self, data_source_id, data_source_name):
-        """
-        Updates the `DataSourceName` of a `DataSource`.
-
-        You can use the GetDataSource operation to view the contents
-        of the updated data element.
-
-        :type data_source_id: string
-        :param data_source_id: The ID assigned to the `DataSource` during
-            creation.
-
-        :type data_source_name: string
-        :param data_source_name: A new user-supplied name or description of the
-            `DataSource` that will replace the current description.
-
-        """
-        params = {
-            'DataSourceId': data_source_id,
-            'DataSourceName': data_source_name,
-        }
-        return self.make_request(action='UpdateDataSource',
-                                 body=json.dumps(params))
-
-    def update_evaluation(self, evaluation_id, evaluation_name):
-        """
-        Updates the `EvaluationName` of an `Evaluation`.
-
-        You can use the GetEvaluation operation to view the contents
-        of the updated data element.
-
-        :type evaluation_id: string
-        :param evaluation_id: The ID assigned to the `Evaluation` during
-            creation.
-
-        :type evaluation_name: string
-        :param evaluation_name: A new user-supplied name or description of the
-            `Evaluation` that will replace the current content.
-
-        """
-        params = {
-            'EvaluationId': evaluation_id,
-            'EvaluationName': evaluation_name,
-        }
-        return self.make_request(action='UpdateEvaluation',
-                                 body=json.dumps(params))
-
-    def update_ml_model(self, ml_model_id, ml_model_name=None,
-                        score_threshold=None):
-        """
-        Updates the `MLModelName` and the `ScoreThreshold` of an
-        `MLModel`.
-
-        You can use the GetMLModel operation to view the contents of
-        the updated data element.
-
-        :type ml_model_id: string
-        :param ml_model_id: The ID assigned to the `MLModel` during creation.
-
-        :type ml_model_name: string
-        :param ml_model_name: A user-supplied name or description of the
-            `MLModel`.
-
-        :type score_threshold: float
-        :param score_threshold: The `ScoreThreshold` used in binary
-            classification `MLModel` that marks the boundary between a positive
-            prediction and a negative prediction.
-        Output values greater than or equal to the `ScoreThreshold` receive a
-            positive result from the `MLModel`, such as `True`. Output values
-            less than the `ScoreThreshold` receive a negative response from the
-            `MLModel`, such as `False`.
-
-        """
-        params = {'MLModelId': ml_model_id, }
-        if ml_model_name is not None:
-            params['MLModelName'] = ml_model_name
-        if score_threshold is not None:
-            params['ScoreThreshold'] = score_threshold
-        return self.make_request(action='UpdateMLModel',
-                                 body=json.dumps(params))
-
-    def make_request(self, action, body, host=None):
-        headers = {
-            'X-Amz-Target': '%s.%s' % (self.TargetPrefix, action),
-            'Host': self.region.endpoint,
-            'Content-Type': 'application/x-amz-json-1.1',
-            'Content-Length': str(len(body)),
-        }
-        http_request_kwargs = {
-            'method':'POST', 'path':'/', 'auth_path':'/', 'params':{},
-            'headers': headers, 'data':body
-        }
-        if host is not None:
-            headers['Host'] = host
-            http_request_kwargs['host'] = host
-        http_request = self.build_base_http_request(**http_request_kwargs)
-        response = self._mexe(http_request, sender=None,
-                              override_num_retries=10)
-        response_body = response.read().decode('utf-8')
-        boto.log.debug(response_body)
-        if response.status == 200:
-            if response_body:
-                return json.loads(response_body)
-        else:
-            json_body = json.loads(response_body)
-            fault_name = json_body.get('__type', None)
-            exception_class = self._faults.get(fault_name, self.ResponseError)
-            raise exception_class(response.status, response.reason,
-                                  body=json_body)
-