**Description**

The operator is arguably unnecessarily limited to AI Platform’s standard images. The only change that is required to lift this constraint is making `package_uris` and `training_python_module` optional with default values `[]` and `None`, respectively. Then, using `master_config`, one can supply `imageUri` and run any image of choice.

**Use case / motivation**

This will open up for running arbitrary images on AI Platform.

**Are you willing to submit a PR?**

If the above sounds reasonable, I can open pull requests.
tests/providers/google/cloud/operators/test_mlengine.py
MLEngineDeleteModelOperator,
    MLEngineDeleteVersionOperator,
    MLEngineGetModelOperator,
    MLEngineListVersionsOperator,
    MLEngineManageModelOperator,
    MLEngineManageVersionOperator,
    MLEngineSetDefaultVersionOperator,
    MLEngineStartBatchPredictionJobOperator,
    MLEngineStartTrainingJobOperator,
    MLEngineTrainingCancelJobOperator,
)
from airflow.serialization.serialized_objects import SerializedDAG
from airflow.utils.dates import days_ago
DEFAULT_DATE = datetime.datetime(2017, 6, 6)
TEST_DAG_ID = "test-mlengine-operators"
TEST_PROJECT_ID = "test-project-id"
TEST_MODEL_NAME = "test-model-name"
TEST_VERSION_NAME = "test-version"
TEST_GCP_CONN_ID = "test-gcp-conn-id"
TEST_DELEGATE_TO = "test-delegate-to"
TEST_IMPERSONATION_CHAIN = ["ACCOUNT_1", "ACCOUNT_2", "ACCOUNT_3"]
TEST_MODEL = {
    'name': TEST_MODEL_NAME,
}
TEST_VERSION = {
    'name': 'v1',
    'deploymentUri': 'gs://some-bucket/jobs/test_training/model.pb',
    'runtimeVersion': '1.6',
}
class TestMLEngineBatchPredictionOperator(unittest.TestCase):