text: // NOTE: This file was generated by the ServiceGenerator.
  
  // ----------------------------------------------------------------------------
  // API:
  //   Cloud Machine Learning Engine (ml/v1)
  // Description:
  //   An API to enable creating and using machine learning models.
  // Documentation:
  //   https://cloud.google.com/ml/
  
  #if GTLR_BUILT_AS_FRAMEWORK
    #import "GTLR/GTLRObject.h"
  #else
    #import "GTLRObject.h"
  #endif
  
  #if GTLR_RUNTIME_VERSION != 3000
  #error This file was generated by a different version of ServiceGenerator which is incompatible with this GTLR library source.
  #endif
  
  @class GTLRCloudMachineLearningEngine_GoogleApiHttpBody;
  @class GTLRCloudMachineLearningEngine_GoogleApiHttpBody_Extensions_Item;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1AutoScaling;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1BuiltInAlgorithmOutput;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1Config;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_Hyperparameters;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutputHyperparameterMetric;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1Job;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_Labels;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1Location;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1ManualScaling;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1Model;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1Model_Labels;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_Labels;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionOutput;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1ReplicaConfig;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1RequestLoggingConfig;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingOutput;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1Version;
  @class GTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_Labels;
  @class GTLRCloudMachineLearningEngine_GoogleIamV1AuditConfig;
  @class GTLRCloudMachineLearningEngine_GoogleIamV1AuditLogConfig;
  @class GTLRCloudMachineLearningEngine_GoogleIamV1Binding;
  @class GTLRCloudMachineLearningEngine_GoogleIamV1Policy;
  @class GTLRCloudMachineLearningEngine_GoogleLongrunningOperation;
  @class GTLRCloudMachineLearningEngine_GoogleLongrunningOperation_Metadata;
  @class GTLRCloudMachineLearningEngine_GoogleLongrunningOperation_Response;
  @class GTLRCloudMachineLearningEngine_GoogleRpcStatus;
  @class GTLRCloudMachineLearningEngine_GoogleRpcStatus_Details_Item;
  @class GTLRCloudMachineLearningEngine_GoogleTypeExpr;
  
  // Generated comments include content from the discovery document; avoid them
  // causing warnings since clang's checks are some what arbitrary.
  #pragma clang diagnostic push
  #pragma clang diagnostic ignored "-Wdocumentation"
  
  NS_ASSUME_NONNULL_BEGIN
  
  // ----------------------------------------------------------------------------
  // Constants - For some of the classes' properties below.
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig.type
  
  /**
   *  Unspecified accelerator type. Default to no GPU.
   *
   *  Value: "ACCELERATOR_TYPE_UNSPECIFIED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_AcceleratorTypeUnspecified;
  /**
   *  Nvidia Tesla K80 GPU.
   *
   *  Value: "NVIDIA_TESLA_K80"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_NvidiaTeslaK80;
  /**
   *  Nvidia Tesla P100 GPU.
   *
   *  Value: "NVIDIA_TESLA_P100"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_NvidiaTeslaP100;
  /**
   *  Nvidia Tesla P4 GPU.
   *
   *  Value: "NVIDIA_TESLA_P4"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_NvidiaTeslaP4;
  /**
   *  Nvidia Tesla T4 GPU.
   *
   *  Value: "NVIDIA_TESLA_T4"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_NvidiaTeslaT4;
  /**
   *  Nvidia Tesla V100 GPU.
   *
   *  Value: "NVIDIA_TESLA_V100"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_NvidiaTeslaV100;
  /**
   *  TPU v2.
   *
   *  Value: "TPU_V2"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_TpuV2;
  /**
   *  TPU v3.
   *
   *  Value: "TPU_V3"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_TpuV3;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability.availableAccelerators
  
  /** Value: "ACCELERATOR_TYPE_UNSPECIFIED" */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_AvailableAccelerators_AcceleratorTypeUnspecified;
  /** Value: "NVIDIA_TESLA_K80" */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_AvailableAccelerators_NvidiaTeslaK80;
  /** Value: "NVIDIA_TESLA_P100" */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_AvailableAccelerators_NvidiaTeslaP100;
  /** Value: "NVIDIA_TESLA_P4" */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_AvailableAccelerators_NvidiaTeslaP4;
  /** Value: "NVIDIA_TESLA_T4" */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_AvailableAccelerators_NvidiaTeslaT4;
  /** Value: "NVIDIA_TESLA_V100" */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_AvailableAccelerators_NvidiaTeslaV100;
  /** Value: "TPU_V2" */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_AvailableAccelerators_TpuV2;
  /** Value: "TPU_V3" */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_AvailableAccelerators_TpuV3;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability.type
  
  /** Value: "BATCH_PREDICTION" */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_Type_BatchPrediction;
  /** Value: "ONLINE_PREDICTION" */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_Type_OnlinePrediction;
  /** Value: "TRAINING" */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_Type_Training;
  /** Value: "TYPE_UNSPECIFIED" */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_Type_TypeUnspecified;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput.state
  
  /**
   *  The job has been cancelled.
   *  `error_message` should describe the reason for the cancellation.
   *
   *  Value: "CANCELLED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Cancelled;
  /**
   *  The job is being cancelled.
   *  `error_message` should describe the reason for the cancellation.
   *
   *  Value: "CANCELLING"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Cancelling;
  /**
   *  The job failed.
   *  `error_message` should contain the details of the failure.
   *
   *  Value: "FAILED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Failed;
  /**
   *  The service is preparing to run the job.
   *
   *  Value: "PREPARING"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Preparing;
  /**
   *  The job has been just created and processing has not yet begun.
   *
   *  Value: "QUEUED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Queued;
  /**
   *  The job is in progress.
   *
   *  Value: "RUNNING"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Running;
  /**
   *  The job state is unspecified.
   *
   *  Value: "STATE_UNSPECIFIED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_StateUnspecified;
  /**
   *  The job completed successfully.
   *
   *  Value: "SUCCEEDED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Succeeded;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec.algorithm
  
  /**
   *  The default algorithm used by the hyperparameter tuning service. This is
   *  a Bayesian optimization algorithm.
   *
   *  Value: "ALGORITHM_UNSPECIFIED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec_Algorithm_AlgorithmUnspecified;
  /**
   *  Simple grid search within the feasible space. To use grid search,
   *  all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`.
   *
   *  Value: "GRID_SEARCH"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec_Algorithm_GridSearch;
  /**
   *  Simple random search within the feasible space.
   *
   *  Value: "RANDOM_SEARCH"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec_Algorithm_RandomSearch;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec.goal
  
  /**
   *  Goal Type will default to maximize.
   *
   *  Value: "GOAL_TYPE_UNSPECIFIED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec_Goal_GoalTypeUnspecified;
  /**
   *  Maximize the goal metric.
   *
   *  Value: "MAXIMIZE"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec_Goal_Maximize;
  /**
   *  Minimize the goal metric.
   *
   *  Value: "MINIMIZE"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec_Goal_Minimize;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1Job.state
  
  /**
   *  The job has been cancelled.
   *  `error_message` should describe the reason for the cancellation.
   *
   *  Value: "CANCELLED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Cancelled;
  /**
   *  The job is being cancelled.
   *  `error_message` should describe the reason for the cancellation.
   *
   *  Value: "CANCELLING"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Cancelling;
  /**
   *  The job failed.
   *  `error_message` should contain the details of the failure.
   *
   *  Value: "FAILED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Failed;
  /**
   *  The service is preparing to run the job.
   *
   *  Value: "PREPARING"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Preparing;
  /**
   *  The job has been just created and processing has not yet begun.
   *
   *  Value: "QUEUED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Queued;
  /**
   *  The job is in progress.
   *
   *  Value: "RUNNING"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Running;
  /**
   *  The job state is unspecified.
   *
   *  Value: "STATE_UNSPECIFIED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_StateUnspecified;
  /**
   *  The job completed successfully.
   *
   *  Value: "SUCCEEDED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Succeeded;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata.operationType
  
  /**
   *  An operation to create a new version.
   *
   *  Value: "CREATE_VERSION"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_CreateVersion;
  /**
   *  An operation to delete an existing model.
   *
   *  Value: "DELETE_MODEL"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_DeleteModel;
  /**
   *  An operation to delete an existing version.
   *
   *  Value: "DELETE_VERSION"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_DeleteVersion;
  /**
   *  Unspecified operation type.
   *
   *  Value: "OPERATION_TYPE_UNSPECIFIED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_OperationTypeUnspecified;
  /**
   *  An operation to update project configuration.
   *
   *  Value: "UPDATE_CONFIG"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_UpdateConfig;
  /**
   *  An operation to update an existing model.
   *
   *  Value: "UPDATE_MODEL"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_UpdateModel;
  /**
   *  An operation to update an existing version.
   *
   *  Value: "UPDATE_VERSION"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_UpdateVersion;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec.scaleType
  
  /**
   *  By default, no scaling is applied.
   *
   *  Value: "NONE"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_ScaleType_None;
  /**
   *  Scales the feasible space to (0, 1) linearly.
   *
   *  Value: "UNIT_LINEAR_SCALE"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_ScaleType_UnitLinearScale;
  /**
   *  Scales the feasible space logarithmically to (0, 1). The entire feasible
   *  space must be strictly positive.
   *
   *  Value: "UNIT_LOG_SCALE"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_ScaleType_UnitLogScale;
  /**
   *  Scales the feasible space "reverse" logarithmically to (0, 1). The result
   *  is that values close to the top of the feasible space are spread out more
   *  than points near the bottom. The entire feasible space must be strictly
   *  positive.
   *
   *  Value: "UNIT_REVERSE_LOG_SCALE"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_ScaleType_UnitReverseLogScale;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec.type
  
  /**
   *  The parameter is categorical, with a value chosen from the categories
   *  field.
   *
   *  Value: "CATEGORICAL"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_Type_Categorical;
  /**
   *  The parameter is real valued, with a fixed set of feasible points. If
   *  `type==DISCRETE`, feasible_points must be provided, and
   *  {`min_value`, `max_value`} will be ignored.
   *
   *  Value: "DISCRETE"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_Type_Discrete;
  /**
   *  Type for real-valued parameters.
   *
   *  Value: "DOUBLE"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_Type_Double;
  /**
   *  Type for integral parameters.
   *
   *  Value: "INTEGER"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_Type_Integer;
  /**
   *  You must specify a valid type. Using this unspecified type will result in
   *  an error.
   *
   *  Value: "PARAMETER_TYPE_UNSPECIFIED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_Type_ParameterTypeUnspecified;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput.dataFormat
  
  /**
   *  Values are comma-separated rows, with keys in a separate file.
   *  Currently available only for output data.
   *
   *  Value: "CSV"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_DataFormat_Csv;
  /**
   *  Unspecified format.
   *
   *  Value: "DATA_FORMAT_UNSPECIFIED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_DataFormat_DataFormatUnspecified;
  /**
   *  Each line of the file is a JSON dictionary representing one record.
   *
   *  Value: "JSON"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_DataFormat_Json;
  /**
   *  Deprecated. Use JSON instead.
   *
   *  Value: "TEXT"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_DataFormat_Text;
  /**
   *  The source file is a TFRecord file.
   *  Currently available only for input data.
   *
   *  Value: "TF_RECORD"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_DataFormat_TfRecord;
  /**
   *  The source file is a GZIP-compressed TFRecord file.
   *  Currently available only for input data.
   *
   *  Value: "TF_RECORD_GZIP"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_DataFormat_TfRecordGzip;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput.outputDataFormat
  
  /**
   *  Values are comma-separated rows, with keys in a separate file.
   *  Currently available only for output data.
   *
   *  Value: "CSV"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_OutputDataFormat_Csv;
  /**
   *  Unspecified format.
   *
   *  Value: "DATA_FORMAT_UNSPECIFIED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_OutputDataFormat_DataFormatUnspecified;
  /**
   *  Each line of the file is a JSON dictionary representing one record.
   *
   *  Value: "JSON"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_OutputDataFormat_Json;
  /**
   *  Deprecated. Use JSON instead.
   *
   *  Value: "TEXT"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_OutputDataFormat_Text;
  /**
   *  The source file is a TFRecord file.
   *  Currently available only for input data.
   *
   *  Value: "TF_RECORD"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_OutputDataFormat_TfRecord;
  /**
   *  The source file is a GZIP-compressed TFRecord file.
   *  Currently available only for input data.
   *
   *  Value: "TF_RECORD_GZIP"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_OutputDataFormat_TfRecordGzip;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput.scaleTier
  
  /**
   *  A single worker instance. This tier is suitable for learning how to use
   *  Cloud ML, and for experimenting with new models using small datasets.
   *
   *  Value: "BASIC"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput_ScaleTier_Basic;
  /**
   *  A single worker instance [with a
   *  GPU](/ml-engine/docs/tensorflow/using-gpus).
   *
   *  Value: "BASIC_GPU"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput_ScaleTier_BasicGpu;
  /**
   *  A single worker instance with a
   *  [Cloud TPU](/ml-engine/docs/tensorflow/using-tpus).
   *
   *  Value: "BASIC_TPU"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput_ScaleTier_BasicTpu;
  /**
   *  The CUSTOM tier is not a set tier, but rather enables you to use your
   *  own cluster specification. When you use this tier, set values to
   *  configure your processing cluster according to these guidelines:
   *  * You _must_ set `TrainingInput.masterType` to specify the type
   *  of machine to use for your master node. This is the only required
   *  setting.
   *  * You _may_ set `TrainingInput.workerCount` to specify the number of
   *  workers to use. If you specify one or more workers, you _must_ also
   *  set `TrainingInput.workerType` to specify the type of machine to use
   *  for your worker nodes.
   *  * You _may_ set `TrainingInput.parameterServerCount` to specify the
   *  number of parameter servers to use. If you specify one or more
   *  parameter servers, you _must_ also set
   *  `TrainingInput.parameterServerType` to specify the type of machine to
   *  use for your parameter servers.
   *  Note that all of your workers must use the same machine type, which can
   *  be different from your parameter server type and master type. Your
   *  parameter servers must likewise use the same machine type, which can be
   *  different from your worker type and master type.
   *
   *  Value: "CUSTOM"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput_ScaleTier_Custom;
  /**
   *  A large number of workers with many parameter servers.
   *
   *  Value: "PREMIUM_1"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput_ScaleTier_Premium1;
  /**
   *  Many workers and a few parameter servers.
   *
   *  Value: "STANDARD_1"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput_ScaleTier_Standard1;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1Version.framework
  
  /**
   *  Unspecified framework. Assigns a value based on the file suffix.
   *
   *  Value: "FRAMEWORK_UNSPECIFIED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_Framework_FrameworkUnspecified;
  /**
   *  Scikit-learn framework.
   *
   *  Value: "SCIKIT_LEARN"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_Framework_ScikitLearn;
  /**
   *  Tensorflow framework.
   *
   *  Value: "TENSORFLOW"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_Framework_Tensorflow;
  /**
   *  XGBoost framework.
   *
   *  Value: "XGBOOST"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_Framework_Xgboost;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleCloudMlV1Version.state
  
  /**
   *  The version is being created. New UpdateVersion and DeleteVersion
   *  requests will fail if a version is in the CREATING state.
   *
   *  Value: "CREATING"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_State_Creating;
  /**
   *  The version is being deleted. New UpdateVersion and DeleteVersion
   *  requests will fail if a version is in the DELETING state.
   *
   *  Value: "DELETING"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_State_Deleting;
  /**
   *  The version failed to be created, possibly cancelled.
   *  `error_message` should contain the details of the failure.
   *
   *  Value: "FAILED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_State_Failed;
  /**
   *  The version is ready for prediction.
   *
   *  Value: "READY"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_State_Ready;
  /**
   *  The version state is unspecified.
   *
   *  Value: "UNKNOWN"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_State_Unknown;
  /**
   *  The version is being updated. New UpdateVersion and DeleteVersion
   *  requests will fail if a version is in the UPDATING state.
   *
   *  Value: "UPDATING"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_State_Updating;
  
  // ----------------------------------------------------------------------------
  // GTLRCloudMachineLearningEngine_GoogleIamV1AuditLogConfig.logType
  
  /**
   *  Admin reads. Example: CloudIAM getIamPolicy
   *
   *  Value: "ADMIN_READ"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleIamV1AuditLogConfig_LogType_AdminRead;
  /**
   *  Data reads. Example: CloudSQL Users list
   *
   *  Value: "DATA_READ"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleIamV1AuditLogConfig_LogType_DataRead;
  /**
   *  Data writes. Example: CloudSQL Users create
   *
   *  Value: "DATA_WRITE"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleIamV1AuditLogConfig_LogType_DataWrite;
  /**
   *  Default case. Should never be this.
   *
   *  Value: "LOG_TYPE_UNSPECIFIED"
   */
  GTLR_EXTERN NSString * const kGTLRCloudMachineLearningEngine_GoogleIamV1AuditLogConfig_LogType_LogTypeUnspecified;
  
  /**
   *  Message that represents an arbitrary HTTP body. It should only be used for
   *  payload formats that can't be represented as JSON, such as raw binary or
   *  an HTML page.
   *  This message can be used both in streaming and non-streaming API methods in
   *  the request as well as the response.
   *  It can be used as a top-level request field, which is convenient if one
   *  wants to extract parameters from either the URL or HTTP template into the
   *  request fields and also want access to the raw HTTP body.
   *  Example:
   *  message GetResourceRequest {
   *  // A unique request id.
   *  string request_id = 1;
   *  // The raw HTTP body is bound to this field.
   *  google.api.HttpBody http_body = 2;
   *  }
   *  service ResourceService {
   *  rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);
   *  rpc UpdateResource(google.api.HttpBody) returns
   *  (google.protobuf.Empty);
   *  }
   *  Example with streaming methods:
   *  service CaldavService {
   *  rpc GetCalendar(stream google.api.HttpBody)
   *  returns (stream google.api.HttpBody);
   *  rpc UpdateCalendar(stream google.api.HttpBody)
   *  returns (stream google.api.HttpBody);
   *  }
   *  Use of this type only changes how the request and response bodies are
   *  handled, all other features will continue to work unchanged.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleApiHttpBody : GTLRObject
  
  /**
   *  The HTTP Content-Type header value specifying the content type of the body.
   */
  @property(nonatomic, copy, nullable) NSString *contentType;
  
  /**
   *  The HTTP request/response body as raw binary.
   *
   *  Contains encoded binary data; GTLRBase64 can encode/decode (probably
   *  web-safe format).
   */
  @property(nonatomic, copy, nullable) NSString *data;
  
  /**
   *  Application specific response metadata. Must be set in the first response
   *  for streaming APIs.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleApiHttpBody_Extensions_Item *> *extensions;
  
  @end
  
  
  /**
   *  GTLRCloudMachineLearningEngine_GoogleApiHttpBody_Extensions_Item
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleApiHttpBody_Extensions_Item : GTLRObject
  @end
  
  
  /**
   *  Represents a hardware accelerator request config.
   *  Note that the AcceleratorConfig could be used in both Jobs and Versions.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig : GTLRObject
  
  /**
   *  The number of accelerators to attach to each machine running the job.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *count;
  
  /**
   *  The type of accelerator to use.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_AcceleratorTypeUnspecified
   *        Unspecified accelerator type. Default to no GPU. (Value:
   *        "ACCELERATOR_TYPE_UNSPECIFIED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_NvidiaTeslaK80
   *        Nvidia Tesla K80 GPU. (Value: "NVIDIA_TESLA_K80")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_NvidiaTeslaP100
   *        Nvidia Tesla P100 GPU. (Value: "NVIDIA_TESLA_P100")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_NvidiaTeslaP4
   *        Nvidia Tesla P4 GPU. (Value: "NVIDIA_TESLA_P4")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_NvidiaTeslaT4
   *        Nvidia Tesla T4 GPU. (Value: "NVIDIA_TESLA_T4")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_NvidiaTeslaV100
   *        Nvidia Tesla V100 GPU. (Value: "NVIDIA_TESLA_V100")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_TpuV2
   *        TPU v2. (Value: "TPU_V2")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig_Type_TpuV3
   *        TPU v3. (Value: "TPU_V3")
   */
  @property(nonatomic, copy, nullable) NSString *type;
  
  @end
  
  
  /**
   *  Options for automatically scaling a model.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1AutoScaling : GTLRObject
  
  /**
   *  Optional. The minimum number of nodes to allocate for this model. These
   *  nodes are always up, starting from the time the model is deployed.
   *  Therefore, the cost of operating this model will be at least
   *  `rate` * `min_nodes` * number of hours since last billing cycle,
   *  where `rate` is the cost per node-hour as documented in the
   *  [pricing guide](/ml-engine/docs/pricing),
   *  even if no predictions are performed. There is additional cost for each
   *  prediction performed.
   *  Unlike manual scaling, if the load gets too heavy for the nodes
   *  that are up, the service will automatically add nodes to handle the
   *  increased load as well as scale back as traffic drops, always maintaining
   *  at least `min_nodes`. You will be charged for the time in which additional
   *  nodes are used.
   *  If not specified, `min_nodes` defaults to 0, in which case, when traffic
   *  to a model stops (and after a cool-down period), nodes will be shut down
   *  and no charges will be incurred until traffic to the model resumes.
   *  You can set `min_nodes` when creating the model version, and you can also
   *  update `min_nodes` for an existing version:
   *  <pre>
   *  update_body.json:
   *  {
   *  'autoScaling': {
   *  'minNodes': 5
   *  }
   *  }
   *  </pre>
   *  HTTP request:
   *  <pre>
   *  PATCH
   *  https://ml.googleapis.com/v1/{name=projects/ * /models/ * /versions/
   *  *}?update_mask=autoScaling.minNodes
   *  -d \@./update_body.json
   *  </pre>
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *minNodes;
  
  @end
  
  
  /**
   *  Represents output related to a built-in algorithm Job.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1BuiltInAlgorithmOutput : GTLRObject
  
  /** Framework on which the built-in algorithm was trained. */
  @property(nonatomic, copy, nullable) NSString *framework;
  
  /**
   *  The Cloud Storage path to the `model/` directory where the training job
   *  saves the trained model. Only set for successful jobs that don't use
   *  hyperparameter tuning.
   */
  @property(nonatomic, copy, nullable) NSString *modelPath;
  
  /** Python version on which the built-in algorithm was trained. */
  @property(nonatomic, copy, nullable) NSString *pythonVersion;
  
  /**
   *  AI Platform runtime version on which the built-in algorithm was
   *  trained.
   */
  @property(nonatomic, copy, nullable) NSString *runtimeVersion;
  
  @end
  
  
  /**
   *  Request message for the CancelJob method.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1CancelJobRequest : GTLRObject
  @end
  
  
  /**
   *  GTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability : GTLRObject
  
  /** Available accelerators for the capability. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *availableAccelerators;
  
  /**
   *  type
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_Type_BatchPrediction
   *        Value "BATCH_PREDICTION"
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_Type_OnlinePrediction
   *        Value "ONLINE_PREDICTION"
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_Type_Training
   *        Value "TRAINING"
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability_Type_TypeUnspecified
   *        Value "TYPE_UNSPECIFIED"
   */
  @property(nonatomic, copy, nullable) NSString *type;
  
  @end
  
  
  /**
   *  GTLRCloudMachineLearningEngine_GoogleCloudMlV1Config
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1Config : GTLRObject
  
  /** The service account Cloud ML uses to run on TPU node. */
  @property(nonatomic, copy, nullable) NSString *tpuServiceAccount;
  
  @end
  
  
  /**
   *  Returns service account information associated with a project.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1GetConfigResponse : GTLRObject
  
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1Config *config;
  
  /** The service account Cloud ML uses to access resources in the project. */
  @property(nonatomic, copy, nullable) NSString *serviceAccount;
  
  /**
   *  The project number for `service_account`.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *serviceAccountProject;
  
  @end
  
  
  /**
   *  Represents the result of a single hyperparameter tuning trial from a
   *  training job. The TrainingOutput object that is returned on successful
   *  completion of a training job with hyperparameter tuning includes a list
   *  of HyperparameterOutput objects, one for each successful trial.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput : GTLRObject
  
  /**
   *  All recorded object metrics for this trial. This field is not currently
   *  populated.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutputHyperparameterMetric *> *allMetrics;
  
  /**
   *  Details related to built-in algorithms jobs.
   *  Only set for trials of built-in algorithms jobs that have succeeded.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1BuiltInAlgorithmOutput *builtInAlgorithmOutput;
  
  /** Output only. End time for the trial. */
  @property(nonatomic, strong, nullable) GTLRDateTime *endTime;
  
  /** The final objective metric seen for this trial. */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutputHyperparameterMetric *finalMetric;
  
  /** The hyperparameters given to this trial. */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_Hyperparameters *hyperparameters;
  
  /**
   *  True if the trial is stopped early.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *isTrialStoppedEarly;
  
  /** Output only. Start time for the trial. */
  @property(nonatomic, strong, nullable) GTLRDateTime *startTime;
  
  /**
   *  Output only. The detailed state of the trial.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Cancelled
   *        The job has been cancelled.
   *        `error_message` should describe the reason for the cancellation.
   *        (Value: "CANCELLED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Cancelling
   *        The job is being cancelled.
   *        `error_message` should describe the reason for the cancellation.
   *        (Value: "CANCELLING")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Failed
   *        The job failed.
   *        `error_message` should contain the details of the failure. (Value:
   *        "FAILED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Preparing
   *        The service is preparing to run the job. (Value: "PREPARING")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Queued
   *        The job has been just created and processing has not yet begun.
   *        (Value: "QUEUED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Running
   *        The job is in progress. (Value: "RUNNING")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_StateUnspecified
   *        The job state is unspecified. (Value: "STATE_UNSPECIFIED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_State_Succeeded
   *        The job completed successfully. (Value: "SUCCEEDED")
   */
  @property(nonatomic, copy, nullable) NSString *state;
  
  /** The trial id for these results. */
  @property(nonatomic, copy, nullable) NSString *trialId;
  
  @end
  
  
  /**
   *  The hyperparameters given to this trial.
   *
   *  @note This class is documented as having more properties of NSString. Use @c
   *        -additionalJSONKeys and @c -additionalPropertyForName: to get the list
   *        of properties and then fetch them; or @c -additionalProperties to
   *        fetch them all at once.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput_Hyperparameters : GTLRObject
  @end
  
  
  /**
   *  An observed value of a metric.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutputHyperparameterMetric : GTLRObject
  
  /**
   *  The objective value at this training step.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *objectiveValue;
  
  /**
   *  The global training step for this metric.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *trainingStep;
  
  @end
  
  
  /**
   *  Represents a set of hyperparameters to optimize.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec : GTLRObject
  
  /**
   *  Optional. The search algorithm specified for the hyperparameter
   *  tuning job.
   *  Uses the default AI Platform hyperparameter tuning
   *  algorithm if unspecified.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec_Algorithm_AlgorithmUnspecified
   *        The default algorithm used by the hyperparameter tuning service. This
   *        is
   *        a Bayesian optimization algorithm. (Value: "ALGORITHM_UNSPECIFIED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec_Algorithm_GridSearch
   *        Simple grid search within the feasible space. To use grid search,
   *        all parameters must be `INTEGER`, `CATEGORICAL`, or `DISCRETE`.
   *        (Value: "GRID_SEARCH")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec_Algorithm_RandomSearch
   *        Simple random search within the feasible space. (Value:
   *        "RANDOM_SEARCH")
   */
  @property(nonatomic, copy, nullable) NSString *algorithm;
  
  /**
   *  Optional. Indicates if the hyperparameter tuning job enables auto trial
   *  early stopping.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *enableTrialEarlyStopping;
  
  /**
   *  Required. The type of goal to use for tuning. Available types are
   *  `MAXIMIZE` and `MINIMIZE`.
   *  Defaults to `MAXIMIZE`.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec_Goal_GoalTypeUnspecified
   *        Goal Type will default to maximize. (Value: "GOAL_TYPE_UNSPECIFIED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec_Goal_Maximize
   *        Maximize the goal metric. (Value: "MAXIMIZE")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec_Goal_Minimize
   *        Minimize the goal metric. (Value: "MINIMIZE")
   */
  @property(nonatomic, copy, nullable) NSString *goal;
  
  /**
   *  Optional. The TensorFlow summary tag name to use for optimizing trials. For
   *  current versions of TensorFlow, this tag name should exactly match what is
   *  shown in TensorBoard, including all scopes. For versions of TensorFlow
   *  prior to 0.12, this should be only the tag passed to tf.Summary.
   *  By default, "training/hptuning/metric" will be used.
   */
  @property(nonatomic, copy, nullable) NSString *hyperparameterMetricTag;
  
  /**
   *  Optional. The number of failed trials that need to be seen before failing
   *  the hyperparameter tuning job. You can specify this field to override the
   *  default failing criteria for AI Platform hyperparameter tuning jobs.
   *  Defaults to zero, which means the service decides when a hyperparameter
   *  job should fail.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *maxFailedTrials;
  
  /**
   *  Optional. The number of training trials to run concurrently.
   *  You can reduce the time it takes to perform hyperparameter tuning by adding
   *  trials in parallel. However, each trail only benefits from the information
   *  gained in completed trials. That means that a trial does not get access to
   *  the results of trials running at the same time, which could reduce the
   *  quality of the overall optimization.
   *  Each trial will use the same scale tier and machine types.
   *  Defaults to one.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *maxParallelTrials;
  
  /**
   *  Optional. How many training trials should be attempted to optimize
   *  the specified hyperparameters.
   *  Defaults to one.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *maxTrials;
  
  /** Required. The set of parameters to tune. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec *> *params;
  
  /**
   *  Optional. The prior hyperparameter tuning job id that users hope to
   *  continue with. The job id will be used to find the corresponding vizier
   *  study guid and resume the study.
   */
  @property(nonatomic, copy, nullable) NSString *resumePreviousJobId;
  
  @end
  
  
  /**
   *  Represents a training or prediction job.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1Job : GTLRObject
  
  /** Output only. When the job was created. */
  @property(nonatomic, strong, nullable) GTLRDateTime *createTime;
  
  /** Output only. When the job processing was completed. */
  @property(nonatomic, strong, nullable) GTLRDateTime *endTime;
  
  /** Output only. The details of a failure or a cancellation. */
  @property(nonatomic, copy, nullable) NSString *errorMessage;
  
  /**
   *  `etag` is used for optimistic concurrency control as a way to help
   *  prevent simultaneous updates of a job from overwriting each other.
   *  It is strongly suggested that systems make use of the `etag` in the
   *  read-modify-write cycle to perform job updates in order to avoid race
   *  conditions: An `etag` is returned in the response to `GetJob`, and
   *  systems are expected to put that etag in the request to `UpdateJob` to
   *  ensure that their change will be applied to the same version of the job.
   *
   *  Contains encoded binary data; GTLRBase64 can encode/decode (probably
   *  web-safe format).
   */
  @property(nonatomic, copy, nullable) NSString *ETag;
  
  /** Required. The user-specified id of the job. */
  @property(nonatomic, copy, nullable) NSString *jobId;
  
  /**
   *  Optional. One or more labels that you can add, to organize your jobs.
   *  Each label is a key-value pair, where both the key and the value are
   *  arbitrary strings that you supply.
   *  For more information, see the documentation on
   *  <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_Labels *labels;
  
  /** Input parameters to create a prediction job. */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput *predictionInput;
  
  /** The current prediction job result. */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionOutput *predictionOutput;
  
  /** Output only. When the job processing was started. */
  @property(nonatomic, strong, nullable) GTLRDateTime *startTime;
  
  /**
   *  Output only. The detailed state of a job.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Cancelled
   *        The job has been cancelled.
   *        `error_message` should describe the reason for the cancellation.
   *        (Value: "CANCELLED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Cancelling
   *        The job is being cancelled.
   *        `error_message` should describe the reason for the cancellation.
   *        (Value: "CANCELLING")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Failed
   *        The job failed.
   *        `error_message` should contain the details of the failure. (Value:
   *        "FAILED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Preparing
   *        The service is preparing to run the job. (Value: "PREPARING")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Queued
   *        The job has been just created and processing has not yet begun.
   *        (Value: "QUEUED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Running
   *        The job is in progress. (Value: "RUNNING")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_StateUnspecified
   *        The job state is unspecified. (Value: "STATE_UNSPECIFIED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_State_Succeeded
   *        The job completed successfully. (Value: "SUCCEEDED")
   */
  @property(nonatomic, copy, nullable) NSString *state;
  
  /** Input parameters to create a training job. */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput *trainingInput;
  
  /** The current training job result. */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingOutput *trainingOutput;
  
  @end
  
  
  /**
   *  Optional. One or more labels that you can add, to organize your jobs.
   *  Each label is a key-value pair, where both the key and the value are
   *  arbitrary strings that you supply.
   *  For more information, see the documentation on
   *  <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
   *
   *  @note This class is documented as having more properties of NSString. Use @c
   *        -additionalJSONKeys and @c -additionalPropertyForName: to get the list
   *        of properties and then fetch them; or @c -additionalProperties to
   *        fetch them all at once.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1Job_Labels : GTLRObject
  @end
  
  
  /**
   *  Response message for the ListJobs method.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "jobs" property. If returned as the result of a query, it should
   *        support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1ListJobsResponse : GTLRCollectionObject
  
  /**
   *  The list of jobs.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleCloudMlV1Job *> *jobs;
  
  /**
   *  Optional. Pass this token as the `page_token` field of the request for a
   *  subsequent call.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  @end
  
  
  /**
   *  GTLRCloudMachineLearningEngine_GoogleCloudMlV1ListLocationsResponse
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "locations" property. If returned as the result of a query, it
   *        should support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1ListLocationsResponse : GTLRCollectionObject
  
  /**
   *  Locations where at least one type of CMLE capability is available.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleCloudMlV1Location *> *locations;
  
  /**
   *  Optional. Pass this token as the `page_token` field of the request for a
   *  subsequent call.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  @end
  
  
  /**
   *  Response message for the ListModels method.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "models" property. If returned as the result of a query, it should
   *        support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1ListModelsResponse : GTLRCollectionObject
  
  /**
   *  The list of models.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleCloudMlV1Model *> *models;
  
  /**
   *  Optional. Pass this token as the `page_token` field of the request for a
   *  subsequent call.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  @end
  
  
  /**
   *  Response message for the ListVersions method.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "versions" property. If returned as the result of a query, it
   *        should support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1ListVersionsResponse : GTLRCollectionObject
  
  /**
   *  Optional. Pass this token as the `page_token` field of the request for a
   *  subsequent call.
   */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  /**
   *  The list of versions.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleCloudMlV1Version *> *versions;
  
  @end
  
  
  /**
   *  GTLRCloudMachineLearningEngine_GoogleCloudMlV1Location
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1Location : GTLRObject
  
  /** Capabilities available in the location. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleCloudMlV1Capability *> *capabilities;
  
  @property(nonatomic, copy, nullable) NSString *name;
  
  @end
  
  
  /**
   *  Options for manually scaling a model.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1ManualScaling : GTLRObject
  
  /**
   *  The number of nodes to allocate for this model. These nodes are always up,
   *  starting from the time the model is deployed, so the cost of operating
   *  this model will be proportional to `nodes` * number of hours since
   *  last billing cycle plus the cost for each prediction performed.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *nodes;
  
  @end
  
  
  /**
   *  Represents a machine learning solution.
   *  A model can have multiple versions, each of which is a deployed, trained
   *  model ready to receive prediction requests. The model itself is just a
   *  container.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1Model : GTLRObject
  
  /**
   *  Output only. The default version of the model. This version will be used to
   *  handle prediction requests that do not specify a version.
   *  You can change the default version by calling
   *  [projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault).
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1Version *defaultVersion;
  
  /**
   *  Optional. The description specified for the model when it was created.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /**
   *  `etag` is used for optimistic concurrency control as a way to help
   *  prevent simultaneous updates of a model from overwriting each other.
   *  It is strongly suggested that systems make use of the `etag` in the
   *  read-modify-write cycle to perform model updates in order to avoid race
   *  conditions: An `etag` is returned in the response to `GetModel`, and
   *  systems are expected to put that etag in the request to `UpdateModel` to
   *  ensure that their change will be applied to the model as intended.
   *
   *  Contains encoded binary data; GTLRBase64 can encode/decode (probably
   *  web-safe format).
   */
  @property(nonatomic, copy, nullable) NSString *ETag;
  
  /**
   *  Optional. One or more labels that you can add, to organize your models.
   *  Each label is a key-value pair, where both the key and the value are
   *  arbitrary strings that you supply.
   *  For more information, see the documentation on
   *  <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1Model_Labels *labels;
  
  /**
   *  Required. The name specified for the model when it was created.
   *  The model name must be unique within the project it is created in.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Optional. If true, online prediction nodes send `stderr` and `stdout`
   *  streams to Stackdriver Logging. These can be more verbose than the standard
   *  access logs (see `onlinePredictionLogging`) and can incur higher cost.
   *  However, they are helpful for debugging. Note that
   *  [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
   *  your project receives prediction requests at a high QPS. Estimate your
   *  costs before enabling this option.
   *  Default is false.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *onlinePredictionConsoleLogging;
  
  /**
   *  Optional. If true, online prediction access logs are sent to StackDriver
   *  Logging. These logs are like standard server access logs, containing
   *  information like timestamp and latency for each request. Note that
   *  [Stackdriver logs may incur a cost](/stackdriver/pricing), especially if
   *  your project receives prediction requests at a high queries per second rate
   *  (QPS). Estimate your costs before enabling this option.
   *  Default is false.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *onlinePredictionLogging;
  
  /**
   *  Optional. The list of regions where the model is going to be deployed.
   *  Currently only one region per model is supported.
   *  Defaults to 'us-central1' if nothing is set.
   *  See the <a href="/ml-engine/docs/tensorflow/regions">available regions</a>
   *  for AI Platform services.
   *  Note:
   *  * No matter where a model is deployed, it can always be accessed by
   *  users from anywhere, both for online and batch prediction.
   *  * The region for a batch prediction job is set by the region field when
   *  submitting the batch prediction job and does not take its value from
   *  this field.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *regions;
  
  @end
  
  
  /**
   *  Optional. One or more labels that you can add, to organize your models.
   *  Each label is a key-value pair, where both the key and the value are
   *  arbitrary strings that you supply.
   *  For more information, see the documentation on
   *  <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
   *
   *  @note This class is documented as having more properties of NSString. Use @c
   *        -additionalJSONKeys and @c -additionalPropertyForName: to get the list
   *        of properties and then fetch them; or @c -additionalProperties to
   *        fetch them all at once.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1Model_Labels : GTLRObject
  @end
  
  
  /**
   *  Represents the metadata of the long-running operation.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata : GTLRObject
  
  /** The time the operation was submitted. */
  @property(nonatomic, strong, nullable) GTLRDateTime *createTime;
  
  /** The time operation processing completed. */
  @property(nonatomic, strong, nullable) GTLRDateTime *endTime;
  
  /**
   *  Indicates whether a request to cancel this operation has been made.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *isCancellationRequested;
  
  /**
   *  The user labels, inherited from the model or the model version being
   *  operated on.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_Labels *labels;
  
  /** Contains the name of the model associated with the operation. */
  @property(nonatomic, copy, nullable) NSString *modelName;
  
  /**
   *  The operation type.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_CreateVersion
   *        An operation to create a new version. (Value: "CREATE_VERSION")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_DeleteModel
   *        An operation to delete an existing model. (Value: "DELETE_MODEL")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_DeleteVersion
   *        An operation to delete an existing version. (Value: "DELETE_VERSION")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_OperationTypeUnspecified
   *        Unspecified operation type. (Value: "OPERATION_TYPE_UNSPECIFIED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_UpdateConfig
   *        An operation to update project configuration. (Value: "UPDATE_CONFIG")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_UpdateModel
   *        An operation to update an existing model. (Value: "UPDATE_MODEL")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_OperationType_UpdateVersion
   *        An operation to update an existing version. (Value: "UPDATE_VERSION")
   */
  @property(nonatomic, copy, nullable) NSString *operationType;
  
  /**
   *  Contains the project number associated with the operation.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *projectNumber;
  
  /** The time operation processing started. */
  @property(nonatomic, strong, nullable) GTLRDateTime *startTime;
  
  /** Contains the version associated with the operation. */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1Version *version;
  
  @end
  
  
  /**
   *  The user labels, inherited from the model or the model version being
   *  operated on.
   *
   *  @note This class is documented as having more properties of NSString. Use @c
   *        -additionalJSONKeys and @c -additionalPropertyForName: to get the list
   *        of properties and then fetch them; or @c -additionalProperties to
   *        fetch them all at once.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1OperationMetadata_Labels : GTLRObject
  @end
  
  
  /**
   *  Represents a single hyperparameter to optimize.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec : GTLRObject
  
  /** Required if type is `CATEGORICAL`. The list of possible categories. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *categoricalValues;
  
  /**
   *  Required if type is `DISCRETE`.
   *  A list of feasible points.
   *  The list should be in strictly increasing order. For instance, this
   *  parameter might have possible settings of 1.5, 2.5, and 4.0. This list
   *  should not contain more than 1,000 values.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSArray<NSNumber *> *discreteValues;
  
  /**
   *  Required if type is `DOUBLE` or `INTEGER`. This field
   *  should be unset if type is `CATEGORICAL`. This value should be integers if
   *  type is `INTEGER`.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *maxValue;
  
  /**
   *  Required if type is `DOUBLE` or `INTEGER`. This field
   *  should be unset if type is `CATEGORICAL`. This value should be integers if
   *  type is INTEGER.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *minValue;
  
  /**
   *  Required. The parameter name must be unique amongst all ParameterConfigs in
   *  a HyperparameterSpec message. E.g., "learning_rate".
   */
  @property(nonatomic, copy, nullable) NSString *parameterName;
  
  /**
   *  Optional. How the parameter should be scaled to the hypercube.
   *  Leave unset for categorical parameters.
   *  Some kind of scaling is strongly recommended for real or integral
   *  parameters (e.g., `UNIT_LINEAR_SCALE`).
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_ScaleType_None
   *        By default, no scaling is applied. (Value: "NONE")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_ScaleType_UnitLinearScale
   *        Scales the feasible space to (0, 1) linearly. (Value:
   *        "UNIT_LINEAR_SCALE")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_ScaleType_UnitLogScale
   *        Scales the feasible space logarithmically to (0, 1). The entire
   *        feasible
   *        space must be strictly positive. (Value: "UNIT_LOG_SCALE")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_ScaleType_UnitReverseLogScale
   *        Scales the feasible space "reverse" logarithmically to (0, 1). The
   *        result
   *        is that values close to the top of the feasible space are spread out
   *        more
   *        than points near the bottom. The entire feasible space must be
   *        strictly
   *        positive. (Value: "UNIT_REVERSE_LOG_SCALE")
   */
  @property(nonatomic, copy, nullable) NSString *scaleType;
  
  /**
   *  Required. The type of the parameter.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_Type_Categorical
   *        The parameter is categorical, with a value chosen from the categories
   *        field. (Value: "CATEGORICAL")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_Type_Discrete
   *        The parameter is real valued, with a fixed set of feasible points. If
   *        `type==DISCRETE`, feasible_points must be provided, and
   *        {`min_value`, `max_value`} will be ignored. (Value: "DISCRETE")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_Type_Double
   *        Type for real-valued parameters. (Value: "DOUBLE")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_Type_Integer
   *        Type for integral parameters. (Value: "INTEGER")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1ParameterSpec_Type_ParameterTypeUnspecified
   *        You must specify a valid type. Using this unspecified type will result
   *        in
   *        an error. (Value: "PARAMETER_TYPE_UNSPECIFIED")
   */
  @property(nonatomic, copy, nullable) NSString *type;
  
  @end
  
  
  /**
   *  Represents input parameters for a prediction job.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput : GTLRObject
  
  /**
   *  Optional. Number of records per batch, defaults to 64.
   *  The service will buffer batch_size number of records in memory before
   *  invoking one Tensorflow prediction call internally. So take the record
   *  size and memory available into consideration when setting this parameter.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *batchSize;
  
  /**
   *  Required. The format of the input data files.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_DataFormat_Csv
   *        Values are comma-separated rows, with keys in a separate file.
   *        Currently available only for output data. (Value: "CSV")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_DataFormat_DataFormatUnspecified
   *        Unspecified format. (Value: "DATA_FORMAT_UNSPECIFIED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_DataFormat_Json
   *        Each line of the file is a JSON dictionary representing one record.
   *        (Value: "JSON")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_DataFormat_Text
   *        Deprecated. Use JSON instead. (Value: "TEXT")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_DataFormat_TfRecord
   *        The source file is a TFRecord file.
   *        Currently available only for input data. (Value: "TF_RECORD")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_DataFormat_TfRecordGzip
   *        The source file is a GZIP-compressed TFRecord file.
   *        Currently available only for input data. (Value: "TF_RECORD_GZIP")
   */
  @property(nonatomic, copy, nullable) NSString *dataFormat;
  
  /**
   *  Required. The Cloud Storage location of the input data files. May contain
   *  <a href="/storage/docs/gsutil/addlhelp/WildcardNames">wildcards</a>.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *inputPaths;
  
  /**
   *  Optional. The maximum number of workers to be used for parallel processing.
   *  Defaults to 10 if not specified.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *maxWorkerCount;
  
  /**
   *  Use this field if you want to use the default version for the specified
   *  model. The string must use the following format:
   *  `"projects/YOUR_PROJECT/models/YOUR_MODEL"`
   */
  @property(nonatomic, copy, nullable) NSString *modelName;
  
  /**
   *  Optional. Format of the output data files, defaults to JSON.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_OutputDataFormat_Csv
   *        Values are comma-separated rows, with keys in a separate file.
   *        Currently available only for output data. (Value: "CSV")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_OutputDataFormat_DataFormatUnspecified
   *        Unspecified format. (Value: "DATA_FORMAT_UNSPECIFIED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_OutputDataFormat_Json
   *        Each line of the file is a JSON dictionary representing one record.
   *        (Value: "JSON")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_OutputDataFormat_Text
   *        Deprecated. Use JSON instead. (Value: "TEXT")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_OutputDataFormat_TfRecord
   *        The source file is a TFRecord file.
   *        Currently available only for input data. (Value: "TF_RECORD")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionInput_OutputDataFormat_TfRecordGzip
   *        The source file is a GZIP-compressed TFRecord file.
   *        Currently available only for input data. (Value: "TF_RECORD_GZIP")
   */
  @property(nonatomic, copy, nullable) NSString *outputDataFormat;
  
  /** Required. The output Google Cloud Storage location. */
  @property(nonatomic, copy, nullable) NSString *outputPath;
  
  /**
   *  Required. The Google Compute Engine region to run the prediction job in.
   *  See the <a href="/ml-engine/docs/tensorflow/regions">available regions</a>
   *  for AI Platform services.
   */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Optional. The AI Platform runtime version to use for this batch
   *  prediction. If not set, AI Platform will pick the runtime version used
   *  during the CreateVersion request for this model version, or choose the
   *  latest stable version when model version information is not available
   *  such as when the model is specified by uri.
   */
  @property(nonatomic, copy, nullable) NSString *runtimeVersion;
  
  /**
   *  Optional. The name of the signature defined in the SavedModel to use for
   *  this job. Please refer to
   *  [SavedModel](https://tensorflow.github.io/serving/serving_basic.html)
   *  for information about how to use signatures.
   *  Defaults to
   *  [DEFAULT_SERVING_SIGNATURE_DEF_KEY](https://www.tensorflow.org/api_docs/python/tf/saved_model/signature_constants)
   *  , which is "serving_default".
   */
  @property(nonatomic, copy, nullable) NSString *signatureName;
  
  /**
   *  Use this field if you want to specify a Google Cloud Storage path for
   *  the model to use.
   */
  @property(nonatomic, copy, nullable) NSString *uri;
  
  /**
   *  Use this field if you want to specify a version of the model to use. The
   *  string is formatted the same way as `model_version`, with the addition
   *  of the version information:
   *  `"projects/YOUR_PROJECT/models/YOUR_MODEL/versions/YOUR_VERSION"`
   */
  @property(nonatomic, copy, nullable) NSString *versionName;
  
  @end
  
  
  /**
   *  Represents results of a prediction job.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictionOutput : GTLRObject
  
  /**
   *  The number of data instances which resulted in errors.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *errorCount;
  
  /**
   *  Node hours used by the batch prediction job.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *nodeHours;
  
  /**
   *  The output Google Cloud Storage location provided at the job creation time.
   */
  @property(nonatomic, copy, nullable) NSString *outputPath;
  
  /**
   *  The number of generated predictions.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *predictionCount;
  
  @end
  
  
  /**
   *  Request for predictions to be issued against a trained model.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1PredictRequest : GTLRObject
  
  /** Required. The prediction request body. */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleApiHttpBody *httpBody;
  
  @end
  
  
  /**
   *  Represents the configuration for a replica in a cluster.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1ReplicaConfig : GTLRObject
  
  /**
   *  Represents the type and number of accelerators used by the replica.
   *  [Learn about restrictions on accelerator configurations for
   *  training.](/ml-engine/docs/tensorflow/using-gpus#compute-engine-machine-types-with-gpu)
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig *acceleratorConfig;
  
  /**
   *  The Docker image to run on the replica. This image must be in Container
   *  Registry. Learn more about [configuring custom
   *  containers](/ml-engine/docs/distributed-training-containers).
   */
  @property(nonatomic, copy, nullable) NSString *imageUri;
  
  /**
   *  The AI Platform runtime version that includes a TensorFlow version matching
   *  the one used in the custom container. This field is required if the replica
   *  is a TPU worker that uses a custom container. Otherwise, do not specify
   *  this field. This must be a [runtime version that currently supports
   *  training with
   *  TPUs](/ml-engine/docs/tensorflow/runtime-version-list#tpu-support).
   *  Note that the version of TensorFlow included in a runtime version may
   *  differ from the numbering of the runtime version itself, because it may
   *  have a different [patch
   *  version](https://www.tensorflow.org/guide/version_compat#semantic_versioning_20).
   *  In this field, you must specify the runtime version (TensorFlow minor
   *  version). For example, if your custom container runs TensorFlow `1.x.y`,
   *  specify `1.x`.
   */
  @property(nonatomic, copy, nullable) NSString *tpuTfVersion;
  
  @end
  
  
  /**
   *  Configuration for logging request-response pairs to a BigQuery table.
   *  Online prediction requests to a model version and the responses to these
   *  requests are converted to raw strings and saved to the specified BigQuery
   *  table. Logging is constrained by [BigQuery quotas and
   *  limits](/bigquery/quotas). If your project exceeds BigQuery quotas or
   *  limits,
   *  AI Platform Prediction does not log request-response pairs, but it continues
   *  to serve predictions.
   *  If you are using [continuous
   *  evaluation](/ml-engine/docs/continuous-evaluation/), you do not need to
   *  specify this configuration manually. Setting up continuous evaluation
   *  automatically enables logging of request-response pairs.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1RequestLoggingConfig : GTLRObject
  
  /**
   *  Required. Fully qualified BigQuery table name in the following format:
   *  "<var>project_id</var>.<var>dataset_name</var>.<var>table_name</var>"
   *  The specifcied table must already exist, and the "Cloud ML Service Agent"
   *  for your project must have permission to write to it. The table must have
   *  the following [schema](/bigquery/docs/schemas):
   *  <table>
   *  <tr><th>Field name</th><th style="display: table-cell">Type</th>
   *  <th style="display: table-cell">Mode</th></tr>
   *  <tr><td>model</td><td>STRING</td><td>REQUIRED</td></tr>
   *  <tr><td>model_version</td><td>STRING</td><td>REQUIRED</td></tr>
   *  <tr><td>time</td><td>TIMESTAMP</td><td>REQUIRED</td></tr>
   *  <tr><td>raw_data</td><td>STRING</td><td>REQUIRED</td></tr>
   *  <tr><td>raw_prediction</td><td>STRING</td><td>NULLABLE</td></tr>
   *  <tr><td>groundtruth</td><td>STRING</td><td>NULLABLE</td></tr>
   *  </table>
   */
  @property(nonatomic, copy, nullable) NSString *bigqueryTableName;
  
  /**
   *  Percentage of requests to be logged, expressed as a fraction from 0 to 1.
   *  For example, if you want to log 10% of requests, enter `0.1`. The sampling
   *  window is the lifetime of the model version. Defaults to 0.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *samplingPercentage;
  
  @end
  
  
  /**
   *  Request message for the SetDefaultVersion request.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1SetDefaultVersionRequest : GTLRObject
  @end
  
  
  /**
   *  Represents input parameters for a training job. When using the
   *  gcloud command to submit your training job, you can specify
   *  the input parameters as command-line arguments and/or in a YAML
   *  configuration
   *  file referenced from the --config command-line argument. For
   *  details, see the guide to
   *  <a href="/ml-engine/docs/tensorflow/training-jobs">submitting a training
   *  job</a>.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput : GTLRObject
  
  /** Optional. Command line arguments to pass to the program. */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *args;
  
  /** Optional. The set of Hyperparameters to tune. */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterSpec *hyperparameters;
  
  /**
   *  Optional. A Google Cloud Storage path in which to store training outputs
   *  and other data needed for training. This path is passed to your TensorFlow
   *  program as the '--job-dir' command-line argument. The benefit of specifying
   *  this field is that Cloud ML validates the path for use in training.
   */
  @property(nonatomic, copy, nullable) NSString *jobDir;
  
  /**
   *  Optional. The configuration for your master worker.
   *  You should only set `masterConfig.acceleratorConfig` if `masterType` is set
   *  to a Compute Engine machine type. Learn about [restrictions on accelerator
   *  configurations for
   *  training.](/ml-engine/docs/tensorflow/using-gpus#compute-engine-machine-types-with-gpu)
   *  Set `masterConfig.imageUri` only if you build a custom image. Only one of
   *  `masterConfig.imageUri` and `runtimeVersion` should be set. Learn more about
   *  [configuring custom
   *  containers](/ml-engine/docs/distributed-training-containers).
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1ReplicaConfig *masterConfig;
  
  /**
   *  Optional. Specifies the type of virtual machine to use for your training
   *  job's master worker.
   *  The following types are supported:
   *  <dl>
   *  <dt>standard</dt>
   *  <dd>
   *  A basic machine configuration suitable for training simple models with
   *  small to moderate datasets.
   *  </dd>
   *  <dt>large_model</dt>
   *  <dd>
   *  A machine with a lot of memory, specially suited for parameter servers
   *  when your model is large (having many hidden layers or layers with very
   *  large numbers of nodes).
   *  </dd>
   *  <dt>complex_model_s</dt>
   *  <dd>
   *  A machine suitable for the master and workers of the cluster when your
   *  model requires more computation than the standard machine can handle
   *  satisfactorily.
   *  </dd>
   *  <dt>complex_model_m</dt>
   *  <dd>
   *  A machine with roughly twice the number of cores and roughly double the
   *  memory of <i>complex_model_s</i>.
   *  </dd>
   *  <dt>complex_model_l</dt>
   *  <dd>
   *  A machine with roughly twice the number of cores and roughly double the
   *  memory of <i>complex_model_m</i>.
   *  </dd>
   *  <dt>standard_gpu</dt>
   *  <dd>
   *  A machine equivalent to <i>standard</i> that
   *  also includes a single NVIDIA Tesla K80 GPU. See more about
   *  <a href="/ml-engine/docs/tensorflow/using-gpus">using GPUs to
   *  train your model</a>.
   *  </dd>
   *  <dt>complex_model_m_gpu</dt>
   *  <dd>
   *  A machine equivalent to <i>complex_model_m</i> that also includes
   *  four NVIDIA Tesla K80 GPUs.
   *  </dd>
   *  <dt>complex_model_l_gpu</dt>
   *  <dd>
   *  A machine equivalent to <i>complex_model_l</i> that also includes
   *  eight NVIDIA Tesla K80 GPUs.
   *  </dd>
   *  <dt>standard_p100</dt>
   *  <dd>
   *  A machine equivalent to <i>standard</i> that
   *  also includes a single NVIDIA Tesla P100 GPU.
   *  </dd>
   *  <dt>complex_model_m_p100</dt>
   *  <dd>
   *  A machine equivalent to <i>complex_model_m</i> that also includes
   *  four NVIDIA Tesla P100 GPUs.
   *  </dd>
   *  <dt>standard_v100</dt>
   *  <dd>
   *  A machine equivalent to <i>standard</i> that
   *  also includes a single NVIDIA Tesla V100 GPU.
   *  </dd>
   *  <dt>large_model_v100</dt>
   *  <dd>
   *  A machine equivalent to <i>large_model</i> that
   *  also includes a single NVIDIA Tesla V100 GPU.
   *  </dd>
   *  <dt>complex_model_m_v100</dt>
   *  <dd>
   *  A machine equivalent to <i>complex_model_m</i> that
   *  also includes four NVIDIA Tesla V100 GPUs.
   *  </dd>
   *  <dt>complex_model_l_v100</dt>
   *  <dd>
   *  A machine equivalent to <i>complex_model_l</i> that
   *  also includes eight NVIDIA Tesla V100 GPUs.
   *  </dd>
   *  <dt>cloud_tpu</dt>
   *  <dd>
   *  A TPU VM including one Cloud TPU. See more about
   *  <a href="/ml-engine/docs/tensorflow/using-tpus">using TPUs to train
   *  your model</a>.
   *  </dd>
   *  </dl>
   *  You may also use certain Compute Engine machine types directly in this
   *  field. The following types are supported:
   *  - `n1-standard-4`
   *  - `n1-standard-8`
   *  - `n1-standard-16`
   *  - `n1-standard-32`
   *  - `n1-standard-64`
   *  - `n1-standard-96`
   *  - `n1-highmem-2`
   *  - `n1-highmem-4`
   *  - `n1-highmem-8`
   *  - `n1-highmem-16`
   *  - `n1-highmem-32`
   *  - `n1-highmem-64`
   *  - `n1-highmem-96`
   *  - `n1-highcpu-16`
   *  - `n1-highcpu-32`
   *  - `n1-highcpu-64`
   *  - `n1-highcpu-96`
   *  See more about [using Compute Engine machine
   *  types](/ml-engine/docs/tensorflow/machine-types#compute-engine-machine-types).
   *  You must set this value when `scaleTier` is set to `CUSTOM`.
   */
  @property(nonatomic, copy, nullable) NSString *masterType;
  
  /**
   *  Required. The Google Cloud Storage location of the packages with
   *  the training program and any additional dependencies.
   *  The maximum number of package URIs is 100.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *packageUris;
  
  /**
   *  Optional. The configuration for parameter servers.
   *  You should only set `parameterServerConfig.acceleratorConfig` if
   *  `parameterServerConfigType` is set to a Compute Engine machine type. [Learn
   *  about restrictions on accelerator configurations for
   *  training.](/ml-engine/docs/tensorflow/using-gpus#compute-engine-machine-types-with-gpu)
   *  Set `parameterServerConfig.imageUri` only if you build a custom image for
   *  your parameter server. If `parameterServerConfig.imageUri` has not been
   *  set, AI Platform uses the value of `masterConfig.imageUri`.
   *  Learn more about [configuring custom
   *  containers](/ml-engine/docs/distributed-training-containers).
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1ReplicaConfig *parameterServerConfig;
  
  /**
   *  Optional. The number of parameter server replicas to use for the training
   *  job. Each replica in the cluster will be of the type specified in
   *  `parameter_server_type`.
   *  This value can only be used when `scale_tier` is set to `CUSTOM`.If you
   *  set this value, you must also set `parameter_server_type`.
   *  The default value is zero.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *parameterServerCount;
  
  /**
   *  Optional. Specifies the type of virtual machine to use for your training
   *  job's parameter server.
   *  The supported values are the same as those described in the entry for
   *  `master_type`.
   *  This value must be consistent with the category of machine type that
   *  `masterType` uses. In other words, both must be AI Platform machine
   *  types or both must be Compute Engine machine types.
   *  This value must be present when `scaleTier` is set to `CUSTOM` and
   *  `parameter_server_count` is greater than zero.
   */
  @property(nonatomic, copy, nullable) NSString *parameterServerType;
  
  /** Required. The Python module name to run after installing the packages. */
  @property(nonatomic, copy, nullable) NSString *pythonModule;
  
  /**
   *  Optional. The version of Python used in training. If not set, the default
   *  version is '2.7'. Python '3.5' is available when `runtime_version` is set
   *  to '1.4' and above. Python '2.7' works with all supported
   *  <a href="/ml-engine/docs/runtime-version-list">runtime versions</a>.
   */
  @property(nonatomic, copy, nullable) NSString *pythonVersion;
  
  /**
   *  Required. The Google Compute Engine region to run the training job in.
   *  See the <a href="/ml-engine/docs/tensorflow/regions">available regions</a>
   *  for AI Platform services.
   */
  @property(nonatomic, copy, nullable) NSString *region;
  
  /**
   *  Optional. The AI Platform runtime version to use for training. If not
   *  set, AI Platform uses the default stable version, 1.0. For more
   *  information, see the
   *  <a href="/ml-engine/docs/runtime-version-list">runtime version list</a>
   *  and
   *  <a href="/ml-engine/docs/versioning">how to manage runtime versions</a>.
   */
  @property(nonatomic, copy, nullable) NSString *runtimeVersion;
  
  /**
   *  Required. Specifies the machine types, the number of replicas for workers
   *  and parameter servers.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput_ScaleTier_Basic
   *        A single worker instance. This tier is suitable for learning how to
   *        use
   *        Cloud ML, and for experimenting with new models using small datasets.
   *        (Value: "BASIC")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput_ScaleTier_BasicGpu
   *        A single worker instance [with a
   *        GPU](/ml-engine/docs/tensorflow/using-gpus). (Value: "BASIC_GPU")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput_ScaleTier_BasicTpu
   *        A single worker instance with a
   *        [Cloud TPU](/ml-engine/docs/tensorflow/using-tpus). (Value:
   *        "BASIC_TPU")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput_ScaleTier_Custom
   *        The CUSTOM tier is not a set tier, but rather enables you to use your
   *        own cluster specification. When you use this tier, set values to
   *        configure your processing cluster according to these guidelines:
   *        * You _must_ set `TrainingInput.masterType` to specify the type
   *        of machine to use for your master node. This is the only required
   *        setting.
   *        * You _may_ set `TrainingInput.workerCount` to specify the number of
   *        workers to use. If you specify one or more workers, you _must_ also
   *        set `TrainingInput.workerType` to specify the type of machine to use
   *        for your worker nodes.
   *        * You _may_ set `TrainingInput.parameterServerCount` to specify the
   *        number of parameter servers to use. If you specify one or more
   *        parameter servers, you _must_ also set
   *        `TrainingInput.parameterServerType` to specify the type of machine to
   *        use for your parameter servers.
   *        Note that all of your workers must use the same machine type, which
   *        can
   *        be different from your parameter server type and master type. Your
   *        parameter servers must likewise use the same machine type, which can
   *        be
   *        different from your worker type and master type. (Value: "CUSTOM")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput_ScaleTier_Premium1
   *        A large number of workers with many parameter servers. (Value:
   *        "PREMIUM_1")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingInput_ScaleTier_Standard1
   *        Many workers and a few parameter servers. (Value: "STANDARD_1")
   */
  @property(nonatomic, copy, nullable) NSString *scaleTier;
  
  /**
   *  Optional. The configuration for workers.
   *  You should only set `workerConfig.acceleratorConfig` if `workerType` is set
   *  to a Compute Engine machine type. [Learn about restrictions on accelerator
   *  configurations for
   *  training.](/ml-engine/docs/tensorflow/using-gpus#compute-engine-machine-types-with-gpu)
   *  Set `workerConfig.imageUri` only if you build a custom image for your
   *  worker. If `workerConfig.imageUri` has not been set, AI Platform uses
   *  the value of `masterConfig.imageUri`. Learn more about
   *  [configuring custom
   *  containers](/ml-engine/docs/distributed-training-containers).
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1ReplicaConfig *workerConfig;
  
  /**
   *  Optional. The number of worker replicas to use for the training job. Each
   *  replica in the cluster will be of the type specified in `worker_type`.
   *  This value can only be used when `scale_tier` is set to `CUSTOM`. If you
   *  set this value, you must also set `worker_type`.
   *  The default value is zero.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *workerCount;
  
  /**
   *  Optional. Specifies the type of virtual machine to use for your training
   *  job's worker nodes.
   *  The supported values are the same as those described in the entry for
   *  `masterType`.
   *  This value must be consistent with the category of machine type that
   *  `masterType` uses. In other words, both must be AI Platform machine
   *  types or both must be Compute Engine machine types.
   *  If you use `cloud_tpu` for this value, see special instructions for
   *  [configuring a custom TPU
   *  machine](/ml-engine/docs/tensorflow/using-tpus#configuring_a_custom_tpu_machine).
   *  This value must be present when `scaleTier` is set to `CUSTOM` and
   *  `workerCount` is greater than zero.
   */
  @property(nonatomic, copy, nullable) NSString *workerType;
  
  @end
  
  
  /**
   *  Represents results of a training job. Output only.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1TrainingOutput : GTLRObject
  
  /**
   *  Details related to built-in algorithms jobs.
   *  Only set for built-in algorithms jobs.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1BuiltInAlgorithmOutput *builtInAlgorithmOutput;
  
  /**
   *  The number of hyperparameter tuning trials that completed successfully.
   *  Only set for hyperparameter tuning jobs.
   *
   *  Uses NSNumber of longLongValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *completedTrialCount;
  
  /**
   *  The amount of ML units consumed by the job.
   *
   *  Uses NSNumber of doubleValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *consumedMLUnits;
  
  /**
   *  The TensorFlow summary tag name used for optimizing hyperparameter tuning
   *  trials. See
   *  [`HyperparameterSpec.hyperparameterMetricTag`](#HyperparameterSpec.FIELDS.hyperparameter_metric_tag)
   *  for more information. Only set for hyperparameter tuning jobs.
   */
  @property(nonatomic, copy, nullable) NSString *hyperparameterMetricTag;
  
  /**
   *  Whether this job is a built-in Algorithm job.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *isBuiltInAlgorithmJob;
  
  /**
   *  Whether this job is a hyperparameter tuning job.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *isHyperparameterTuningJob;
  
  /**
   *  Results for individual Hyperparameter trials.
   *  Only set for hyperparameter tuning jobs.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleCloudMlV1HyperparameterOutput *> *trials;
  
  @end
  
  
  /**
   *  Represents a version of the model.
   *  Each version is a trained model deployed in the cloud, ready to handle
   *  prediction requests. A model can have multiple versions. You can get
   *  information about all of the versions of a given model by calling
   *  [projects.models.versions.list](/ml-engine/reference/rest/v1/projects.models.versions/list).
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1Version : GTLRObject
  
  /** Accelerator config for GPU serving. */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1AcceleratorConfig *acceleratorConfig;
  
  /**
   *  Automatically scale the number of nodes used to serve the model in
   *  response to increases and decreases in traffic. Care should be
   *  taken to ramp up traffic according to the model's ability to scale
   *  or you will start seeing increases in latency and 429 response codes.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1AutoScaling *autoScaling;
  
  /** Output only. The time the version was created. */
  @property(nonatomic, strong, nullable) GTLRDateTime *createTime;
  
  /**
   *  Required. The Cloud Storage location of the trained model used to
   *  create the version. See the
   *  [guide to model
   *  deployment](/ml-engine/docs/tensorflow/deploying-models) for more
   *  information.
   *  When passing Version to
   *  [projects.models.versions.create](/ml-engine/reference/rest/v1/projects.models.versions/create)
   *  the model service uses the specified location as the source of the model.
   *  Once deployed, the model version is hosted by the prediction service, so
   *  this location is useful only as a historical record.
   *  The total number of model files can't exceed 1000.
   */
  @property(nonatomic, copy, nullable) NSString *deploymentUri;
  
  /**
   *  Optional. The description specified for the version when it was created.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /** Output only. The details of a failure or a cancellation. */
  @property(nonatomic, copy, nullable) NSString *errorMessage;
  
  /**
   *  `etag` is used for optimistic concurrency control as a way to help
   *  prevent simultaneous updates of a model from overwriting each other.
   *  It is strongly suggested that systems make use of the `etag` in the
   *  read-modify-write cycle to perform model updates in order to avoid race
   *  conditions: An `etag` is returned in the response to `GetVersion`, and
   *  systems are expected to put that etag in the request to `UpdateVersion` to
   *  ensure that their change will be applied to the model as intended.
   *
   *  Contains encoded binary data; GTLRBase64 can encode/decode (probably
   *  web-safe format).
   */
  @property(nonatomic, copy, nullable) NSString *ETag;
  
  /**
   *  Optional. The machine learning framework AI Platform uses to train
   *  this version of the model. Valid values are `TENSORFLOW`, `SCIKIT_LEARN`,
   *  `XGBOOST`. If you do not specify a framework, AI Platform
   *  will analyze files in the deployment_uri to determine a framework. If you
   *  choose `SCIKIT_LEARN` or `XGBOOST`, you must also set the runtime version
   *  of the model to 1.4 or greater.
   *  Do **not** specify a framework if you're deploying a [custom
   *  prediction routine](/ml-engine/docs/tensorflow/custom-prediction-routines).
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_Framework_FrameworkUnspecified
   *        Unspecified framework. Assigns a value based on the file suffix.
   *        (Value: "FRAMEWORK_UNSPECIFIED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_Framework_ScikitLearn
   *        Scikit-learn framework. (Value: "SCIKIT_LEARN")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_Framework_Tensorflow
   *        Tensorflow framework. (Value: "TENSORFLOW")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_Framework_Xgboost
   *        XGBoost framework. (Value: "XGBOOST")
   */
  @property(nonatomic, copy, nullable) NSString *framework;
  
  /**
   *  Output only. If true, this version will be used to handle prediction
   *  requests that do not specify a version.
   *  You can change the default version by calling
   *  [projects.methods.versions.setDefault](/ml-engine/reference/rest/v1/projects.models.versions/setDefault).
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *isDefault;
  
  /**
   *  Optional. One or more labels that you can add, to organize your model
   *  versions. Each label is a key-value pair, where both the key and the value
   *  are arbitrary strings that you supply.
   *  For more information, see the documentation on
   *  <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_Labels *labels;
  
  /** Output only. The time the version was last used for prediction. */
  @property(nonatomic, strong, nullable) GTLRDateTime *lastUseTime;
  
  /**
   *  Optional. The type of machine on which to serve the model. Currently only
   *  applies to online prediction service.
   *  <dl>
   *  <dt>mls1-c1-m2</dt>
   *  <dd>
   *  The <b>default</b> machine type, with 1 core and 2 GB RAM. The deprecated
   *  name for this machine type is "mls1-highmem-1".
   *  </dd>
   *  <dt>mls1-c4-m2</dt>
   *  <dd>
   *  In <b>Beta</b>. This machine type has 4 cores and 2 GB RAM. The
   *  deprecated name for this machine type is "mls1-highcpu-4".
   *  </dd>
   *  </dl>
   */
  @property(nonatomic, copy, nullable) NSString *machineType;
  
  /**
   *  Manually select the number of nodes to use for serving the
   *  model. You should generally use `auto_scaling` with an appropriate
   *  `min_nodes` instead, but this option is available if you want more
   *  predictable billing. Beware that latency and error rates will increase
   *  if the traffic exceeds that capability of the system to serve it based
   *  on the selected number of nodes.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1ManualScaling *manualScaling;
  
  /**
   *  Required. The name specified for the version when it was created.
   *  The version name must be unique within the model it is created in.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  Optional. Cloud Storage paths (`gs://…`) of packages for [custom
   *  prediction routines](/ml-engine/docs/tensorflow/custom-prediction-routines)
   *  or [scikit-learn pipelines with custom
   *  code](/ml-engine/docs/scikit/exporting-for-prediction#custom-pipeline-code).
   *  For a custom prediction routine, one of these packages must contain your
   *  Predictor class (see
   *  [`predictionClass`](#Version.FIELDS.prediction_class)). Additionally,
   *  include any dependencies used by your Predictor or scikit-learn pipeline
   *  uses that are not already included in your selected [runtime
   *  version](/ml-engine/docs/tensorflow/runtime-version-list).
   *  If you specify this field, you must also set
   *  [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *packageUris;
  
  /**
   *  Optional. The fully qualified name
   *  (<var>module_name</var>.<var>class_name</var>) of a class that implements
   *  the Predictor interface described in this reference field. The module
   *  containing this class should be included in a package provided to the
   *  [`packageUris` field](#Version.FIELDS.package_uris).
   *  Specify this field if and only if you are deploying a [custom prediction
   *  routine (beta)](/ml-engine/docs/tensorflow/custom-prediction-routines).
   *  If you specify this field, you must set
   *  [`runtimeVersion`](#Version.FIELDS.runtime_version) to 1.4 or greater.
   *  The following code sample provides the Predictor interface:
   *  ```py
   *  class Predictor(object):
   *  """Interface for constructing custom predictors."""
   *  def predict(self, instances, **kwargs):
   *  """Performs custom prediction.
   *  Instances are the decoded values from the request. They have already
   *  been deserialized from JSON.
   *  Args:
   *  instances: A list of prediction input instances.
   *  **kwargs: A dictionary of keyword args provided as additional
   *  fields on the predict request body.
   *  Returns:
   *  A list of outputs containing the prediction results. This list must
   *  be JSON serializable.
   *  """
   *  raise NotImplementedError()
   *  \@classmethod
   *  def from_path(cls, model_dir):
   *  """Creates an instance of Predictor using the given path.
   *  Loading of the predictor should be done in this method.
   *  Args:
   *  model_dir: The local directory that contains the exported model
   *  file along with any additional files uploaded when creating the
   *  version resource.
   *  Returns:
   *  An instance implementing this Predictor class.
   *  """
   *  raise NotImplementedError()
   *  ```
   *  Learn more about [the Predictor interface and custom prediction
   *  routines](/ml-engine/docs/tensorflow/custom-prediction-routines).
   */
  @property(nonatomic, copy, nullable) NSString *predictionClass;
  
  /**
   *  Optional. The version of Python used in prediction. If not set, the default
   *  version is '2.7'. Python '3.5' is available when `runtime_version` is set
   *  to '1.4' and above. Python '2.7' works with all supported runtime versions.
   */
  @property(nonatomic, copy, nullable) NSString *pythonVersion;
  
  /**
   *  Optional. Configures the request-response pair logging on predictions from
   *  this Version.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleCloudMlV1RequestLoggingConfig *requestLoggingConfig;
  
  /**
   *  Optional. The AI Platform runtime version to use for this deployment.
   *  If not set, AI Platform uses the default stable version, 1.0. For more
   *  information, see the
   *  [runtime version list](/ml-engine/docs/runtime-version-list) and
   *  [how to manage runtime versions](/ml-engine/docs/versioning).
   */
  @property(nonatomic, copy, nullable) NSString *runtimeVersion;
  
  /** Optional. Specifies the service account for resource access control. */
  @property(nonatomic, copy, nullable) NSString *serviceAccount;
  
  /**
   *  Output only. The state of a version.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_State_Creating
   *        The version is being created. New UpdateVersion and DeleteVersion
   *        requests will fail if a version is in the CREATING state. (Value:
   *        "CREATING")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_State_Deleting
   *        The version is being deleted. New UpdateVersion and DeleteVersion
   *        requests will fail if a version is in the DELETING state. (Value:
   *        "DELETING")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_State_Failed
   *        The version failed to be created, possibly cancelled.
   *        `error_message` should contain the details of the failure. (Value:
   *        "FAILED")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_State_Ready
   *        The version is ready for prediction. (Value: "READY")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_State_Unknown
   *        The version state is unspecified. (Value: "UNKNOWN")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_State_Updating
   *        The version is being updated. New UpdateVersion and DeleteVersion
   *        requests will fail if a version is in the UPDATING state. (Value:
   *        "UPDATING")
   */
  @property(nonatomic, copy, nullable) NSString *state;
  
  @end
  
  
  /**
   *  Optional. One or more labels that you can add, to organize your model
   *  versions. Each label is a key-value pair, where both the key and the value
   *  are arbitrary strings that you supply.
   *  For more information, see the documentation on
   *  <a href="/ml-engine/docs/tensorflow/resource-labels">using labels</a>.
   *
   *  @note This class is documented as having more properties of NSString. Use @c
   *        -additionalJSONKeys and @c -additionalPropertyForName: to get the list
   *        of properties and then fetch them; or @c -additionalProperties to
   *        fetch them all at once.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleCloudMlV1Version_Labels : GTLRObject
  @end
  
  
  /**
   *  Specifies the audit configuration for a service.
   *  The configuration determines which permission types are logged, and what
   *  identities, if any, are exempted from logging.
   *  An AuditConfig must have one or more AuditLogConfigs.
   *  If there are AuditConfigs for both `allServices` and a specific service,
   *  the union of the two AuditConfigs is used for that service: the log_types
   *  specified in each AuditConfig are enabled, and the exempted_members in each
   *  AuditLogConfig are exempted.
   *  Example Policy with multiple AuditConfigs:
   *  {
   *  "audit_configs": [
   *  {
   *  "service": "allServices"
   *  "audit_log_configs": [
   *  {
   *  "log_type": "DATA_READ",
   *  "exempted_members": [
   *  "user:jose\@example.com"
   *  ]
   *  },
   *  {
   *  "log_type": "DATA_WRITE",
   *  },
   *  {
   *  "log_type": "ADMIN_READ",
   *  }
   *  ]
   *  },
   *  {
   *  "service": "sampleservice.googleapis.com"
   *  "audit_log_configs": [
   *  {
   *  "log_type": "DATA_READ",
   *  },
   *  {
   *  "log_type": "DATA_WRITE",
   *  "exempted_members": [
   *  "user:aliya\@example.com"
   *  ]
   *  }
   *  ]
   *  }
   *  ]
   *  }
   *  For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ
   *  logging. It also exempts jose\@example.com from DATA_READ logging, and
   *  aliya\@example.com from DATA_WRITE logging.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleIamV1AuditConfig : GTLRObject
  
  /** The configuration for logging of each type of permission. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleIamV1AuditLogConfig *> *auditLogConfigs;
  
  /**
   *  Specifies a service that will be enabled for audit logging.
   *  For example, `storage.googleapis.com`, `cloudsql.googleapis.com`.
   *  `allServices` is a special value that covers all services.
   */
  @property(nonatomic, copy, nullable) NSString *service;
  
  @end
  
  
  /**
   *  Provides the configuration for logging a type of permissions.
   *  Example:
   *  {
   *  "audit_log_configs": [
   *  {
   *  "log_type": "DATA_READ",
   *  "exempted_members": [
   *  "user:jose\@example.com"
   *  ]
   *  },
   *  {
   *  "log_type": "DATA_WRITE",
   *  }
   *  ]
   *  }
   *  This enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting
   *  jose\@example.com from DATA_READ logging.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleIamV1AuditLogConfig : GTLRObject
  
  /**
   *  Specifies the identities that do not cause logging for this type of
   *  permission.
   *  Follows the same format of Binding.members.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *exemptedMembers;
  
  /**
   *  The log type that this config enables.
   *
   *  Likely values:
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleIamV1AuditLogConfig_LogType_AdminRead
   *        Admin reads. Example: CloudIAM getIamPolicy (Value: "ADMIN_READ")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleIamV1AuditLogConfig_LogType_DataRead
   *        Data reads. Example: CloudSQL Users list (Value: "DATA_READ")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleIamV1AuditLogConfig_LogType_DataWrite
   *        Data writes. Example: CloudSQL Users create (Value: "DATA_WRITE")
   *    @arg @c kGTLRCloudMachineLearningEngine_GoogleIamV1AuditLogConfig_LogType_LogTypeUnspecified
   *        Default case. Should never be this. (Value: "LOG_TYPE_UNSPECIFIED")
   */
  @property(nonatomic, copy, nullable) NSString *logType;
  
  @end
  
  
  /**
   *  Associates `members` with a `role`.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleIamV1Binding : GTLRObject
  
  /**
   *  The condition that is associated with this binding.
   *  NOTE: An unsatisfied condition will not allow user access via current
   *  binding. Different bindings, including their conditions, are examined
   *  independently.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleTypeExpr *condition;
  
  /**
   *  Specifies the identities requesting access for a Cloud Platform resource.
   *  `members` can have the following values:
   *  * `allUsers`: A special identifier that represents anyone who is
   *  on the internet; with or without a Google account.
   *  * `allAuthenticatedUsers`: A special identifier that represents anyone
   *  who is authenticated with a Google account or a service account.
   *  * `user:{emailid}`: An email address that represents a specific Google
   *  account. For example, `alice\@example.com` .
   *  * `serviceAccount:{emailid}`: An email address that represents a service
   *  account. For example, `my-other-app\@appspot.gserviceaccount.com`.
   *  * `group:{emailid}`: An email address that represents a Google group.
   *  For example, `admins\@example.com`.
   *  * `domain:{domain}`: The G Suite domain (primary) that represents all the
   *  users of that domain. For example, `google.com` or `example.com`.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *members;
  
  /**
   *  Role that is assigned to `members`.
   *  For example, `roles/viewer`, `roles/editor`, or `roles/owner`.
   */
  @property(nonatomic, copy, nullable) NSString *role;
  
  @end
  
  
  /**
   *  Defines an Identity and Access Management (IAM) policy. It is used to
   *  specify access control policies for Cloud Platform resources.
   *  A `Policy` is a collection of `bindings`. A `binding` binds one or more
   *  `members` to a single `role`. Members can be user accounts, service
   *  accounts,
   *  Google groups, and domains (such as G Suite). A `role` is a named list of
   *  permissions (defined by IAM or configured by users). A `binding` can
   *  optionally specify a `condition`, which is a logic expression that further
   *  constrains the role binding based on attributes about the request and/or
   *  target resource.
   *  **JSON Example**
   *  {
   *  "bindings": [
   *  {
   *  "role": "roles/resourcemanager.organizationAdmin",
   *  "members": [
   *  "user:mike\@example.com",
   *  "group:admins\@example.com",
   *  "domain:google.com",
   *  "serviceAccount:my-project-id\@appspot.gserviceaccount.com"
   *  ]
   *  },
   *  {
   *  "role": "roles/resourcemanager.organizationViewer",
   *  "members": ["user:eve\@example.com"],
   *  "condition": {
   *  "title": "expirable access",
   *  "description": "Does not grant access after Sep 2020",
   *  "expression": "request.time <
   *  timestamp('2020-10-01T00:00:00.000Z')",
   *  }
   *  }
   *  ]
   *  }
   *  **YAML Example**
   *  bindings:
   *  - members:
   *  - user:mike\@example.com
   *  - group:admins\@example.com
   *  - domain:google.com
   *  - serviceAccount:my-project-id\@appspot.gserviceaccount.com
   *  role: roles/resourcemanager.organizationAdmin
   *  - members:
   *  - user:eve\@example.com
   *  role: roles/resourcemanager.organizationViewer
   *  condition:
   *  title: expirable access
   *  description: Does not grant access after Sep 2020
   *  expression: request.time < timestamp('2020-10-01T00:00:00.000Z')
   *  For a description of IAM and its features, see the
   *  [IAM developer's guide](https://cloud.google.com/iam/docs).
   */
  @interface GTLRCloudMachineLearningEngine_GoogleIamV1Policy : GTLRObject
  
  /** Specifies cloud audit logging configuration for this policy. */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleIamV1AuditConfig *> *auditConfigs;
  
  /**
   *  Associates a list of `members` to a `role`. Optionally may specify a
   *  `condition` that determines when binding is in effect.
   *  `bindings` with no members will result in an error.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleIamV1Binding *> *bindings;
  
  /**
   *  `etag` is used for optimistic concurrency control as a way to help
   *  prevent simultaneous updates of a policy from overwriting each other.
   *  It is strongly suggested that systems make use of the `etag` in the
   *  read-modify-write cycle to perform policy updates in order to avoid race
   *  conditions: An `etag` is returned in the response to `getIamPolicy`, and
   *  systems are expected to put that etag in the request to `setIamPolicy` to
   *  ensure that their change will be applied to the same version of the policy.
   *  If no `etag` is provided in the call to `setIamPolicy`, then the existing
   *  policy is overwritten. Due to blind-set semantics of an etag-less policy,
   *  'setIamPolicy' will not fail even if either of incoming or stored policy
   *  does not meet the version requirements.
   *
   *  Contains encoded binary data; GTLRBase64 can encode/decode (probably
   *  web-safe format).
   */
  @property(nonatomic, copy, nullable) NSString *ETag;
  
  /**
   *  Specifies the format of the policy.
   *  Valid values are 0, 1, and 3. Requests specifying an invalid value will be
   *  rejected.
   *  Operations affecting conditional bindings must specify version 3. This can
   *  be either setting a conditional policy, modifying a conditional binding,
   *  or removing a conditional binding from the stored conditional policy.
   *  Operations on non-conditional policies may specify any valid value or
   *  leave the field unset.
   *  If no etag is provided in the call to `setIamPolicy`, any version
   *  compliance checks on the incoming and/or stored policy is skipped.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *version;
  
  @end
  
  
  /**
   *  Request message for `SetIamPolicy` method.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleIamV1SetIamPolicyRequest : GTLRObject
  
  /**
   *  REQUIRED: The complete policy to be applied to the `resource`. The size of
   *  the policy is limited to a few 10s of KB. An empty policy is a
   *  valid policy but certain Cloud Platform services (such as Projects)
   *  might reject them.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleIamV1Policy *policy;
  
  /**
   *  OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only
   *  the fields in the mask will be modified. If no mask is provided, the
   *  following default mask is used:
   *  paths: "bindings, etag"
   *  This field is only used by Cloud IAM.
   *
   *  String format is a comma-separated list of fields.
   */
  @property(nonatomic, copy, nullable) NSString *updateMask;
  
  @end
  
  
  /**
   *  Request message for `TestIamPermissions` method.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleIamV1TestIamPermissionsRequest : GTLRObject
  
  /**
   *  The set of permissions to check for the `resource`. Permissions with
   *  wildcards (such as '*' or 'storage.*') are not allowed. For more
   *  information see
   *  [IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *permissions;
  
  @end
  
  
  /**
   *  Response message for `TestIamPermissions` method.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleIamV1TestIamPermissionsResponse : GTLRObject
  
  /**
   *  A subset of `TestPermissionsRequest.permissions` that the caller is
   *  allowed.
   */
  @property(nonatomic, strong, nullable) NSArray<NSString *> *permissions;
  
  @end
  
  
  /**
   *  The response message for Operations.ListOperations.
   *
   *  @note This class supports NSFastEnumeration and indexed subscripting over
   *        its "operations" property. If returned as the result of a query, it
   *        should support automatic pagination (when @c shouldFetchNextPages is
   *        enabled).
   */
  @interface GTLRCloudMachineLearningEngine_GoogleLongrunningListOperationsResponse : GTLRCollectionObject
  
  /** The standard List next-page token. */
  @property(nonatomic, copy, nullable) NSString *nextPageToken;
  
  /**
   *  A list of operations that matches the specified filter in the request.
   *
   *  @note This property is used to support NSFastEnumeration and indexed
   *        subscripting on this class.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleLongrunningOperation *> *operations;
  
  @end
  
  
  /**
   *  This resource represents a long-running operation that is the result of a
   *  network API call.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleLongrunningOperation : GTLRObject
  
  /**
   *  If the value is `false`, it means the operation is still in progress.
   *  If `true`, the operation is completed, and either `error` or `response` is
   *  available.
   *
   *  Uses NSNumber of boolValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *done;
  
  /** The error result of the operation in case of failure or cancellation. */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleRpcStatus *error;
  
  /**
   *  Service-specific metadata associated with the operation. It typically
   *  contains progress information and common metadata such as create time.
   *  Some services might not provide such metadata. Any method that returns a
   *  long-running operation should document the metadata type, if any.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleLongrunningOperation_Metadata *metadata;
  
  /**
   *  The server-assigned name, which is only unique within the same service that
   *  originally returns it. If you use the default HTTP mapping, the
   *  `name` should be a resource name ending with `operations/{unique_id}`.
   */
  @property(nonatomic, copy, nullable) NSString *name;
  
  /**
   *  The normal response of the operation in case of success. If the original
   *  method returns no data on success, such as `Delete`, the response is
   *  `google.protobuf.Empty`. If the original method is standard
   *  `Get`/`Create`/`Update`, the response should be the resource. For other
   *  methods, the response should have the type `XxxResponse`, where `Xxx`
   *  is the original method name. For example, if the original method name
   *  is `TakeSnapshot()`, the inferred response type is
   *  `TakeSnapshotResponse`.
   */
  @property(nonatomic, strong, nullable) GTLRCloudMachineLearningEngine_GoogleLongrunningOperation_Response *response;
  
  @end
  
  
  /**
   *  Service-specific metadata associated with the operation. It typically
   *  contains progress information and common metadata such as create time.
   *  Some services might not provide such metadata. Any method that returns a
   *  long-running operation should document the metadata type, if any.
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleLongrunningOperation_Metadata : GTLRObject
  @end
  
  
  /**
   *  The normal response of the operation in case of success. If the original
   *  method returns no data on success, such as `Delete`, the response is
   *  `google.protobuf.Empty`. If the original method is standard
   *  `Get`/`Create`/`Update`, the response should be the resource. For other
   *  methods, the response should have the type `XxxResponse`, where `Xxx`
   *  is the original method name. For example, if the original method name
   *  is `TakeSnapshot()`, the inferred response type is
   *  `TakeSnapshotResponse`.
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleLongrunningOperation_Response : GTLRObject
  @end
  
  
  /**
   *  A generic empty message that you can re-use to avoid defining duplicated
   *  empty messages in your APIs. A typical example is to use it as the request
   *  or the response type of an API method. For instance:
   *  service Foo {
   *  rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);
   *  }
   *  The JSON representation for `Empty` is empty JSON object `{}`.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleProtobufEmpty : GTLRObject
  @end
  
  
  /**
   *  The `Status` type defines a logical error model that is suitable for
   *  different programming environments, including REST APIs and RPC APIs. It is
   *  used by [gRPC](https://github.com/grpc). Each `Status` message contains
   *  three pieces of data: error code, error message, and error details.
   *  You can find out more about this error model and how to work with it in the
   *  [API Design Guide](https://cloud.google.com/apis/design/errors).
   */
  @interface GTLRCloudMachineLearningEngine_GoogleRpcStatus : GTLRObject
  
  /**
   *  The status code, which should be an enum value of google.rpc.Code.
   *
   *  Uses NSNumber of intValue.
   */
  @property(nonatomic, strong, nullable) NSNumber *code;
  
  /**
   *  A list of messages that carry the error details. There is a common set of
   *  message types for APIs to use.
   */
  @property(nonatomic, strong, nullable) NSArray<GTLRCloudMachineLearningEngine_GoogleRpcStatus_Details_Item *> *details;
  
  /**
   *  A developer-facing error message, which should be in English. Any
   *  user-facing error message should be localized and sent in the
   *  google.rpc.Status.details field, or localized by the client.
   */
  @property(nonatomic, copy, nullable) NSString *message;
  
  @end
  
  
  /**
   *  GTLRCloudMachineLearningEngine_GoogleRpcStatus_Details_Item
   *
   *  @note This class is documented as having more properties of any valid JSON
   *        type. Use @c -additionalJSONKeys and @c -additionalPropertyForName: to
   *        get the list of properties and then fetch them; or @c
   *        -additionalProperties to fetch them all at once.
   */
  @interface GTLRCloudMachineLearningEngine_GoogleRpcStatus_Details_Item : GTLRObject
  @end
  
  
  /**
   *  Represents an expression text. Example:
   *  title: "User account presence"
   *  description: "Determines whether the request has a user account"
   *  expression: "size(request.user) > 0"
   */
  @interface GTLRCloudMachineLearningEngine_GoogleTypeExpr : GTLRObject
  
  /**
   *  An optional description of the expression. This is a longer text which
   *  describes the expression, e.g. when hovered over it in a UI.
   *
   *  Remapped to 'descriptionProperty' to avoid NSObject's 'description'.
   */
  @property(nonatomic, copy, nullable) NSString *descriptionProperty;
  
  /**
   *  Textual representation of an expression in
   *  Common Expression Language syntax.
   *  The application context of the containing message determines which
   *  well-known feature set of CEL is supported.
   */
  @property(nonatomic, copy, nullable) NSString *expression;
  
  /**
   *  An optional string indicating the location of the expression for error
   *  reporting, e.g. a file name and a position in the file.
   */
  @property(nonatomic, copy, nullable) NSString *location;
  
  /**
   *  An optional title for the expression, i.e. a short string describing
   *  its purpose. This can be used e.g. in UIs which allow to enter the
   *  expression.
   */
  @property(nonatomic, copy, nullable) NSString *title;
  
  @end
  
  NS_ASSUME_NONNULL_END
  
  #pragma clang diagnostic pop
  