class_docstr: Hook for Google Cloud Vertex AI Auto ML APIs.
class_docstr_tok: ["Hook","for","Google","Cloud","Vertex","AI","Auto","ML","APIs","."]
docstr: Create an AutoML Forecasting Training Job.
  
  :param project_id: Required. Project to run training in.
  :param region: Required. Location to run training in.
  :param display_name: Required. The user-defined name of this TrainingPipeline.
  :param dataset: Required. The dataset within the same Project from which data will be used to train
      the Model. The Dataset must use schema compatible with Model being trained, and what is
      compatible should be described in the used TrainingPipeline's [training_task_definition]
      [google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]. For time series
      Datasets, all their data is exported to training, to pick and choose from.
  :param target_column: Required. Name of the column that the Model is to predict values for.
  :param time_column: Required. Name of the column that identifies time order in the time series.
  :param parent_model: Optional. The resource name or model ID of an existing model.
      The new model uploaded by this job will be a version of `parent_model`.
      Only set this field when training a new version of an existing model.
  :param is_default_version: Optional. When set to True, the newly uploaded model version will
      automatically have alias "default" included. Subsequent uses of
      the model produced by this job without a version specified will
      use this "default" version.
      When set to False, the "default" alias will not be moved.
      Actions targeting the model version produced by this job will need
      to specifically reference this version by ID or alias.
      New model uploads, i.e. version 1, will always be "default" aliased.
  :param model_version_aliases: Optional. User provided version aliases so that the model version
      uploaded by this job can be referenced via alias instead of
      auto-generated version ID. A default version alias will be created
      for the first version of the model.
      The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9]
  :param model_version_description: Optional. The description of the model version
      being uploaded by this job.
  :param time_series_identifier_column: Required. Name of the column that identifies the time series.
  :param unavailable_at_forecast_columns: Required. Column names of columns that are unavailable at
      forecast. Each column contains information for the given entity (identified by the
      [time_series_identifier_column]) that is unknown before the forecast (e.g. population of a city
      in a given year, or weather on a given day).
  :param available_at_forecast_columns: Required. Column names of columns that are available at
      forecast. Each column contains information for the given entity (identified by the
      [time_series_identifier_column]) that is known at forecast.
  :param forecast_horizon: Required. The amount of time into the future for which forecasted values for
      the target are returned. Expressed in number of units defined by the [data_granularity_unit] and
      [data_granularity_count] field. Inclusive.
  :param data_granularity_unit: Required. The data granularity unit. Accepted values are ``minute``,
      ``hour``, ``day``, ``week``, ``month``, ``year``.
  :param data_granularity_count: Required. The number of data granularity units between data points in
      the training data. If [data_granularity_unit] is `minute`, can be 1, 5, 10, 15, or 30. For all
      other values of [data_granularity_unit], must be 1.
  :param optimization_objective: Optional. Objective function the model is to be optimized towards. The
      training process creates a Model that optimizes the value of the objective function over the
      validation set. The supported optimization objectives:
      "minimize-rmse" (default) - Minimize root-mean-squared error (RMSE).
      "minimize-mae" - Minimize mean-absolute error (MAE).
      "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE).
      "minimize-rmspe" - Minimize root-mean-squared percentage error (RMSPE).
      "minimize-wape-mae" - Minimize the combination of weighted absolute percentage error (WAPE) and
      mean-absolute-error (MAE).
      "minimize-quantile-loss" - Minimize the quantile loss at the defined quantiles. (Set this
      objective to build quantile forecasts.)
  :param column_specs: Optional. Alternative to column_transformations where the keys of the dict are
      column names and their respective values are one of AutoMLTabularTrainingJob.column_data_types.
      When creating transformation for BigQuery Struct column, the column should be flattened using "."
      as the delimiter. Only columns with no child should have a transformation. If an input column has
      no transformations on it, such a column is ignored by the training, except for the targetColumn,
      which should have no transformations defined on. Only one of column_transformations or
      column_specs should be passed.
  :param column_transformations: Optional. Transformations to apply to the input columns (i.e. columns
      other than the targetColumn). Each transformation may produce multiple result values from the
      column's value, and all are used for training. When creating transformation for BigQuery Struct
      column, the column should be flattened using "." as the delimiter. Only columns with no child
      should have a transformation. If an input column has no transformations on it, such a column is
      ignored by the training, except for the targetColumn, which should have no transformations
      defined on. Only one of column_transformations or column_specs should be passed. Consider using
      column_specs as column_transformations will be deprecated eventually.
  :param labels: Optional. The labels with user-defined metadata to organize TrainingPipelines. Label
      keys and values can be no longer than 64 characters (Unicode codepoints), can only contain
      lowercase letters, numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of labels.
  :param training_encryption_spec_key_name: Optional. The Cloud KMS resource identifier of the customer
      managed encryption key used to protect the training pipeline. Has the form:
      ``projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key``. The key needs to be
      in the same region as where the compute resource is created. If set, this TrainingPipeline will
      be secured by this key.
      Note: Model trained by this TrainingPipeline is also secured by this key if ``model_to_upload``
      is not set separately.
  :param model_encryption_spec_key_name: Optional. The Cloud KMS resource identifier of the customer
      managed encryption key used to protect the model. Has the form:
      ``projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key``. The key needs to be
      in the same region as where the compute resource is created.
      If set, the trained Model will be secured by this key.
  :param training_fraction_split: Optional. The fraction of the input data that is to be used to train
      the Model. This is ignored if Dataset is not provided.
  :param validation_fraction_split: Optional. The fraction of the input data that is to be used to
      validate the Model. This is ignored if Dataset is not provided.
  :param test_fraction_split: Optional. The fraction of the input data that is to be used to evaluate
      the Model. This is ignored if Dataset is not provided.
  :param predefined_split_column_name: Optional. The key is a name of one of the Dataset's data
      columns. The value of the key (either the label's value or value in the column) must be one of
      {``TRAIN``, ``VALIDATE``, ``TEST``}, and it defines to which set the given piece of data is
      assigned. If for a piece of data the key is not present or has an invalid value, that piece is
      ignored by the pipeline.
      Supported only for tabular and time series Datasets.
  :param weight_column: Optional. Name of the column that should be used as the weight column. Higher
      values in this column give more importance to the row during Model training. The column must have
      numeric values between 0 and 10000 inclusively, and 0 value means that the row is ignored. If the
      weight column field is not set, then all rows are assumed to have equal weight of 1.
  :param time_series_attribute_columns: Optional. Column names that should be used as attribute
      columns. Each column is constant within a time series.
  :param context_window: Optional. The amount of time into the past training and prediction data is
      used for model training and prediction respectively. Expressed in number of units defined by the
      [data_granularity_unit] and [data_granularity_count] fields. When not provided uses the default
      value of 0 which means the model sets each series context window to be 0 (also known as "cold
      start"). Inclusive.
  :param export_evaluated_data_items: Whether to export the test set predictions to a BigQuery table.
      If False, then the export is not performed.
  :param export_evaluated_data_items_bigquery_destination_uri: Optional. URI of desired destination
      BigQuery table for exported test set predictions. Expected format:
      ``bq://<project_id>:<dataset_id>:<table>``
      If not specified, then results are exported to the following auto-created BigQuery table:
      ``<project_id>:export_evaluated_examples_<model_name>_<yyyy_MM_dd'T'HH_mm_ss_SSS'Z'>
      .evaluated_examples``
      Applies only if [export_evaluated_data_items] is True.
  :param export_evaluated_data_items_override_destination: Whether to override the contents of
      [export_evaluated_data_items_bigquery_destination_uri], if the table exists, for exported test
      set predictions. If False, and the table exists, then the training job will fail.
      Applies only if [export_evaluated_data_items] is True and
      [export_evaluated_data_items_bigquery_destination_uri] is specified.
  :param quantiles: Quantiles to use for the `minizmize-quantile-loss`
      [AutoMLForecastingTrainingJob.optimization_objective]. This argument is required in this case.
      Accepts up to 5 quantiles in the form of a double from 0 to 1, exclusive. Each quantile must be
      unique.
  :param validation_options: Validation options for the data validation component. The available
      options are: "fail-pipeline" - (default), will validate against the validation and fail the
      pipeline if it fails. "ignore-validation" - ignore the results of the validation and continue the
      pipeline
  :param budget_milli_node_hours: Optional. The train budget of creating this Model, expressed in milli
      node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will
      not exceed this budget. The final cost will be attempted to be close to the budget, though may
      end up being (even) noticeably smaller - at the backend's discretion. This especially may happen
      when further model training ceases to provide any improvements. If the budget is set to a value
      known to be insufficient to train a Model for the given training set, the training won't be
      attempted and will error. The minimum value is 1000 and the maximum is 72000.
  :param model_display_name: Optional. If the script produces a managed Vertex AI Model. The display
      name of the Model. The name can be up to 128 characters long and can be consist of any UTF-8
      characters. If not provided upon creation, the job's display_name is used.
  :param model_labels: Optional. The labels with user-defined metadata to organize your Models. Label
      keys and values can be no longer than 64 characters (Unicode codepoints), can only contain
      lowercase letters, numeric characters, underscores and dashes. International characters are
      allowed. See https://goo.gl/xmQnxf for more information and examples of labels.
  :param sync: Whether to execute this method synchronously. If False, this method will be executed in
      concurrent Future and any downstream object will be immediately returned and synced when the
      Future has completed.
docstr_tok: ["Create","an","AutoML","Forecasting","Training","Job",".",":","param","project_id",":","Required",".","Project","to","run","training","in",".",":","param","region",":","Required",".","Location","to","run","training","in",".",":","param","display_name",":","Required",".","The","user-defined","name","of","this","TrainingPipeline",".",":","param","dataset",":","Required",".","The","dataset","within","the","same","Project","from","which","data","will","be","used","to","train","the","Model",".","The","Dataset","must","use","schema","compatible","with","Model","being","trained",",","and","what","is","compatible","should","be","described","in","the","used","TrainingPipeline","'s","[","training_task_definition","]","[","google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition","]",".","For","time","series","Datasets",",","all","their","data","is","exported","to","training",",","to","pick","and","choose","from",".",":","param","target_column",":","Required",".","Name","of","the","column","that","the","Model","is","to","predict","values","for",".",":","param","time_column",":","Required",".","Name","of","the","column","that","identifies","time","order","in","the","time","series",".",":","param","parent_model",":","Optional",".","The","resource","name","or","model","ID","of","an","existing","model",".","The","new","model","uploaded","by","this","job","will","be","a","version","of","`","parent_model","`",".","Only","set","this","field","when","training","a","new","version","of","an","existing","model",".",":","param","is_default_version",":","Optional",".","When","set","to","True",",","the","newly","uploaded","model","version","will","automatically","have","alias","``","default","''","included",".","Subsequent","uses","of","the","model","produced","by","this","job","without","a","version","specified","will","use","this","``","default","''","version",".","When","set","to","False",",","the","``","default","''","alias","will","not","be","moved",".","Actions","targeting","the","model","version","produced","by","this","job","will","need","to","specifically","reference","this","version","by","ID","or","alias",".","New","model","uploads",",","i.e",".","version","1",",","will","always","be","``","default","''","aliased",".",":","param","model_version_aliases",":","Optional",".","User","provided","version","aliases","so","that","the","model","version","uploaded","by","this","job","can","be","referenced","via","alias","instead","of","auto-generated","version","ID",".","A","default","version","alias","will","be","created","for","the","first","version","of","the","model",".","The","format","is","[","a-z","]","[","a-zA-Z0-9-","]","{","0,126","}","[","a-z0-9","]",":","param","model_version_description",":","Optional",".","The","description","of","the","model","version","being","uploaded","by","this","job",".",":","param","time_series_identifier_column",":","Required",".","Name","of","the","column","that","identifies","the","time","series",".",":","param","unavailable_at_forecast_columns",":","Required",".","Column","names","of","columns","that","are","unavailable","at","forecast",".","Each","column","contains","information","for","the","given","entity","(","identified","by","the","[","time_series_identifier_column","]",")","that","is","unknown","before","the","forecast","(","e.g",".","population","of","a","city","in","a","given","year",",","or","weather","on","a","given","day",")",".",":","param","available_at_forecast_columns",":","Required",".","Column","names","of","columns","that","are","available","at","forecast",".","Each","column","contains","information","for","the","given","entity","(","identified","by","the","[","time_series_identifier_column","]",")","that","is","known","at","forecast",".",":","param","forecast_horizon",":","Required",".","The","amount","of","time","into","the","future","for","which","forecasted","values","for","the","target","are","returned",".","Expressed","in","number","of","units","defined","by","the","[","data_granularity_unit","]","and","[","data_granularity_count","]","field",".","Inclusive",".",":","param","data_granularity_unit",":","Required",".","The","data","granularity","unit",".","Accepted","values","are","``","minute","``",",","``","hour","``",",","``","day","``",",","``","week","``",",","``","month","``",",","``","year","``",".",":","param","data_granularity_count",":","Required",".","The","number","of","data","granularity","units","between","data","points","in","the","training","data",".","If","[","data_granularity_unit","]","is","`","minute","`",",","can","be","1",",","5",",","10",",","15",",","or","30",".","For","all","other","values","of","[","data_granularity_unit","]",",","must","be","1.",":","param","optimization_objective",":","Optional",".","Objective","function","the","model","is","to","be","optimized","towards",".","The","training","process","creates","a","Model","that","optimizes","the","value","of","the","objective","function","over","the","validation","set",".","The","supported","optimization","objectives",":","``","minimize-rmse","''","(","default",")","-","Minimize","root-mean-squared","error","(","RMSE",")",".","``","minimize-mae","''","-","Minimize","mean-absolute","error","(","MAE",")",".","``","minimize-rmsle","''","-","Minimize","root-mean-squared","log","error","(","RMSLE",")",".","``","minimize-rmspe","''","-","Minimize","root-mean-squared","percentage","error","(","RMSPE",")",".","``","minimize-wape-mae","''","-","Minimize","the","combination","of","weighted","absolute","percentage","error","(","WAPE",")","and","mean-absolute-error","(","MAE",")",".","``","minimize-quantile-loss","''","-","Minimize","the","quantile","loss","at","the","defined","quantiles",".","(","Set","this","objective","to","build","quantile","forecasts",".",")",":","param","column_specs",":","Optional",".","Alternative","to","column_transformations","where","the","keys","of","the","dict","are","column","names","and","their","respective","values","are","one","of","AutoMLTabularTrainingJob.column_data_types",".","When","creating","transformation","for","BigQuery","Struct","column",",","the","column","should","be","flattened","using","``",".","''","as","the","delimiter",".","Only","columns","with","no","child","should","have","a","transformation",".","If","an","input","column","has","no","transformations","on","it",",","such","a","column","is","ignored","by","the","training",",","except","for","the","targetColumn",",","which","should","have","no","transformations","defined","on",".","Only","one","of","column_transformations","or","column_specs","should","be","passed",".",":","param","column_transformations",":","Optional",".","Transformations","to","apply","to","the","input","columns","(","i.e",".","columns","other","than","the","targetColumn",")",".","Each","transformation","may","produce","multiple","result","values","from","the","column","'s","value",",","and","all","are","used","for","training",".","When","creating","transformation","for","BigQuery","Struct","column",",","the","column","should","be","flattened","using","``",".","''","as","the","delimiter",".","Only","columns","with","no","child","should","have","a","transformation",".","If","an","input","column","has","no","transformations","on","it",",","such","a","column","is","ignored","by","the","training",",","except","for","the","targetColumn",",","which","should","have","no","transformations","defined","on",".","Only","one","of","column_transformations","or","column_specs","should","be","passed",".","Consider","using","column_specs","as","column_transformations","will","be","deprecated","eventually",".",":","param","labels",":","Optional",".","The","labels","with","user-defined","metadata","to","organize","TrainingPipelines",".","Label","keys","and","values","can","be","no","longer","than","64","characters","(","Unicode","codepoints",")",",","can","only","contain","lowercase","letters",",","numeric","characters",",","underscores","and","dashes",".","International","characters","are","allowed",".","See","https",":","\/\/goo.gl\/xmQnxf","for","more","information","and","examples","of","labels",".",":","param","training_encryption_spec_key_name",":","Optional",".","The","Cloud","KMS","resource","identifier","of","the","customer","managed","encryption","key","used","to","protect","the","training","pipeline",".","Has","the","form",":","``","projects\/my-project\/locations\/my-region\/keyRings\/my-kr\/cryptoKeys\/my-key","``",".","The","key","needs","to","be","in","the","same","region","as","where","the","compute","resource","is","created",".","If","set",",","this","TrainingPipeline","will","be","secured","by","this","key",".","Note",":","Model","trained","by","this","TrainingPipeline","is","also","secured","by","this","key","if","``","model_to_upload","``","is","not","set","separately",".",":","param","model_encryption_spec_key_name",":","Optional",".","The","Cloud","KMS","resource","identifier","of","the","customer","managed","encryption","key","used","to","protect","the","model",".","Has","the","form",":","``","projects\/my-project\/locations\/my-region\/keyRings\/my-kr\/cryptoKeys\/my-key","``",".","The","key","needs","to","be","in","the","same","region","as","where","the","compute","resource","is","created",".","If","set",",","the","trained","Model","will","be","secured","by","this","key",".",":","param","training_fraction_split",":","Optional",".","The","fraction","of","the","input","data","that","is","to","be","used","to","train","the","Model",".","This","is","ignored","if","Dataset","is","not","provided",".",":","param","validation_fraction_split",":","Optional",".","The","fraction","of","the","input","data","that","is","to","be","used","to","validate","the","Model",".","This","is","ignored","if","Dataset","is","not","provided",".",":","param","test_fraction_split",":","Optional",".","The","fraction","of","the","input","data","that","is","to","be","used","to","evaluate","the","Model",".","This","is","ignored","if","Dataset","is","not","provided",".",":","param","predefined_split_column_name",":","Optional",".","The","key","is","a","name","of","one","of","the","Dataset","'s","data","columns",".","The","value","of","the","key","(","either","the","label","'s","value","or","value","in","the","column",")","must","be","one","of","{","``","TRAIN","``",",","``","VALIDATE","``",",","``","TEST","``","}",",","and","it","defines","to","which","set","the","given","piece","of","data","is","assigned",".","If","for","a","piece","of","data","the","key","is","not","present","or","has","an","invalid","value",",","that","piece","is","ignored","by","the","pipeline",".","Supported","only","for","tabular","and","time","series","Datasets",".",":","param","weight_column",":","Optional",".","Name","of","the","column","that","should","be","used","as","the","weight","column",".","Higher","values","in","this","column","give","more","importance","to","the","row","during","Model","training",".","The","column","must","have","numeric","values","between","0","and","10000","inclusively",",","and","0","value","means","that","the","row","is","ignored",".","If","the","weight","column","field","is","not","set",",","then","all","rows","are","assumed","to","have","equal","weight","of","1.",":","param","time_series_attribute_columns",":","Optional",".","Column","names","that","should","be","used","as","attribute","columns",".","Each","column","is","constant","within","a","time","series",".",":","param","context_window",":","Optional",".","The","amount","of","time","into","the","past","training","and","prediction","data","is","used","for","model","training","and","prediction","respectively",".","Expressed","in","number","of","units","defined","by","the","[","data_granularity_unit","]","and","[","data_granularity_count","]","fields",".","When","not","provided","uses","the","default","value","of","0","which","means","the","model","sets","each","series","context","window","to","be","0","(","also","known","as","``","cold","start","''",")",".","Inclusive",".",":","param","export_evaluated_data_items",":","Whether","to","export","the","test","set","predictions","to","a","BigQuery","table",".","If","False",",","then","the","export","is","not","performed",".",":","param","export_evaluated_data_items_bigquery_destination_uri",":","Optional",".","URI","of","desired","destination","BigQuery","table","for","exported","test","set","predictions",".","Expected","format",":","``","bq",":","\/\/","<","project_id",">",":","<","dataset_id",">",":","<","table",">","``","If","not","specified",",","then","results","are","exported","to","the","following","auto-created","BigQuery","table",":","``","<","project_id",">",":","export_evaluated_examples_","<","model_name",">","_","<","yyyy_MM_dd'T'HH_mm_ss_SSS","'","Z","'",">",".evaluated_examples","``","Applies","only","if","[","export_evaluated_data_items","]","is","True",".",":","param","export_evaluated_data_items_override_destination",":","Whether","to","override","the","contents","of","[","export_evaluated_data_items_bigquery_destination_uri","]",",","if","the","table","exists",",","for","exported","test","set","predictions",".","If","False",",","and","the","table","exists",",","then","the","training","job","will","fail",".","Applies","only","if","[","export_evaluated_data_items","]","is","True","and","[","export_evaluated_data_items_bigquery_destination_uri","]","is","specified",".",":","param","quantiles",":","Quantiles","to","use","for","the","`","minizmize-quantile-loss","`","[","AutoMLForecastingTrainingJob.optimization_objective","]",".","This","argument","is","required","in","this","case",".","Accepts","up","to","5","quantiles","in","the","form","of","a","double","from","0","to","1",",","exclusive",".","Each","quantile","must","be","unique",".",":","param","validation_options",":","Validation","options","for","the","data","validation","component",".","The","available","options","are",":","``","fail-pipeline","''","-","(","default",")",",","will","validate","against","the","validation","and","fail","the","pipeline","if","it","fails",".","``","ignore-validation","''","-","ignore","the","results","of","the","validation","and","continue","the","pipeline",":","param","budget_milli_node_hours",":","Optional",".","The","train","budget","of","creating","this","Model",",","expressed","in","milli","node","hours","i.e",".","1,000","value","in","this","field","means","1","node","hour",".","The","training","cost","of","the","model","will","not","exceed","this","budget",".","The","final","cost","will","be","attempted","to","be","close","to","the","budget",",","though","may","end","up","being","(","even",")","noticeably","smaller","-","at","the","backend","'s","discretion",".","This","especially","may","happen","when","further","model","training","ceases","to","provide","any","improvements",".","If","the","budget","is","set","to","a","value","known","to","be","insufficient","to","train","a","Model","for","the","given","training","set",",","the","training","wo","n't","be","attempted","and","will","error",".","The","minimum","value","is","1000","and","the","maximum","is","72000.",":","param","model_display_name",":","Optional",".","If","the","script","produces","a","managed","Vertex","AI","Model",".","The","display","name","of","the","Model",".","The","name","can","be","up","to","128","characters","long","and","can","be","consist","of","any","UTF-8","characters",".","If","not","provided","upon","creation",",","the","job","'s","display_name","is","used",".",":","param","model_labels",":","Optional",".","The","labels","with","user-defined","metadata","to","organize","your","Models",".","Label","keys","and","values","can","be","no","longer","than","64","characters","(","Unicode","codepoints",")",",","can","only","contain","lowercase","letters",",","numeric","characters",",","underscores","and","dashes",".","International","characters","are","allowed",".","See","https",":","\/\/goo.gl\/xmQnxf","for","more","information","and","examples","of","labels",".",":","param","sync",":","Whether","to","execute","this","method","synchronously",".","If","False",",","this","method","will","be","executed","in","concurrent","Future","and","any","downstream","object","will","be","immediately","returned","and","synced","when","the","Future","has","completed","."]
code: def create_auto_ml_forecasting_training_job(
      self,
      project_id: str,
      region: str,
      display_name: str,
      dataset: datasets.TimeSeriesDataset,
      target_column: str,
      time_column: str,
      time_series_identifier_column: str,
      unavailable_at_forecast_columns: list[str],
      available_at_forecast_columns: list[str],
      forecast_horizon: int,
      data_granularity_unit: str,
      data_granularity_count: int,
      optimization_objective: str | None = None,
      column_specs: dict[str, str] | None = None,
      column_transformations: list[dict[str, dict[str, str]]]
      | None = None,
      labels: dict[str, str] | None = None,
      training_encryption_spec_key_name: str | None = None,
      model_encryption_spec_key_name: str | None = None,
      training_fraction_split: float | None = None,
      validation_fraction_split: float | None = None,
      test_fraction_split: float | None = None,
      predefined_split_column_name: str | None = None,
      weight_column: str | None = None,
      time_series_attribute_columns: list[str] | None = None,
      context_window: int | None = None,
      export_evaluated_data_items: bool = False,
      export_evaluated_data_items_bigquery_destination_uri: str
      | None = None,
      export_evaluated_data_items_override_destination: bool = False,
      quantiles: list[float] | None = None,
      validation_options: str | None = None,
      budget_milli_node_hours: int = 1000,
      model_display_name: str | None = None,
      model_labels: dict[str, str] | None = None,
      sync: bool = True,
      parent_model: str | None = None,
      is_default_version: bool | None = None,
      model_version_aliases: list[str] | None = None,
      model_version_description: str | None = None,
  ) -> tuple[models.Model | None, str]:
      """
      Create an AutoML Forecasting Training Job.
  
      :param project_id: Required. Project to run training in.
      :param region: Required. Location to run training in.
      :param display_name: Required. The user-defined name of this TrainingPipeline.
      :param dataset: Required. The dataset within the same Project from which data will be used to train
          the Model. The Dataset must use schema compatible with Model being trained, and what is
          compatible should be described in the used TrainingPipeline's [training_task_definition]
          [google.cloud.aiplatform.v1beta1.TrainingPipeline.training_task_definition]. For time series
          Datasets, all their data is exported to training, to pick and choose from.
      :param target_column: Required. Name of the column that the Model is to predict values for.
      :param time_column: Required. Name of the column that identifies time order in the time series.
      :param parent_model: Optional. The resource name or model ID of an existing model.
          The new model uploaded by this job will be a version of `parent_model`.
          Only set this field when training a new version of an existing model.
      :param is_default_version: Optional. When set to True, the newly uploaded model version will
          automatically have alias "default" included. Subsequent uses of
          the model produced by this job without a version specified will
          use this "default" version.
          When set to False, the "default" alias will not be moved.
          Actions targeting the model version produced by this job will need
          to specifically reference this version by ID or alias.
          New model uploads, i.e. version 1, will always be "default" aliased.
      :param model_version_aliases: Optional. User provided version aliases so that the model version
          uploaded by this job can be referenced via alias instead of
          auto-generated version ID. A default version alias will be created
          for the first version of the model.
          The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9]
      :param model_version_description: Optional. The description of the model version
          being uploaded by this job.
      :param time_series_identifier_column: Required. Name of the column that identifies the time series.
      :param unavailable_at_forecast_columns: Required. Column names of columns that are unavailable at
          forecast. Each column contains information for the given entity (identified by the
          [time_series_identifier_column]) that is unknown before the forecast (e.g. population of a city
          in a given year, or weather on a given day).
      :param available_at_forecast_columns: Required. Column names of columns that are available at
          forecast. Each column contains information for the given entity (identified by the
          [time_series_identifier_column]) that is known at forecast.
      :param forecast_horizon: Required. The amount of time into the future for which forecasted values for
          the target are returned. Expressed in number of units defined by the [data_granularity_unit] and
          [data_granularity_count] field. Inclusive.
      :param data_granularity_unit: Required. The data granularity unit. Accepted values are ``minute``,
          ``hour``, ``day``, ``week``, ``month``, ``year``.
      :param data_granularity_count: Required. The number of data granularity units between data points in
          the training data. If [data_granularity_unit] is `minute`, can be 1, 5, 10, 15, or 30. For all
          other values of [data_granularity_unit], must be 1.
      :param optimization_objective: Optional. Objective function the model is to be optimized towards. The
          training process creates a Model that optimizes the value of the objective function over the
          validation set. The supported optimization objectives:
          "minimize-rmse" (default) - Minimize root-mean-squared error (RMSE).
          "minimize-mae" - Minimize mean-absolute error (MAE).
          "minimize-rmsle" - Minimize root-mean-squared log error (RMSLE).
          "minimize-rmspe" - Minimize root-mean-squared percentage error (RMSPE).
          "minimize-wape-mae" - Minimize the combination of weighted absolute percentage error (WAPE) and
          mean-absolute-error (MAE).
          "minimize-quantile-loss" - Minimize the quantile loss at the defined quantiles. (Set this
          objective to build quantile forecasts.)
      :param column_specs: Optional. Alternative to column_transformations where the keys of the dict are
          column names and their respective values are one of AutoMLTabularTrainingJob.column_data_types.
          When creating transformation for BigQuery Struct column, the column should be flattened using "."
          as the delimiter. Only columns with no child should have a transformation. If an input column has
          no transformations on it, such a column is ignored by the training, except for the targetColumn,
          which should have no transformations defined on. Only one of column_transformations or
          column_specs should be passed.
      :param column_transformations: Optional. Transformations to apply to the input columns (i.e. columns
          other than the targetColumn). Each transformation may produce multiple result values from the
          column's value, and all are used for training. When creating transformation for BigQuery Struct
          column, the column should be flattened using "." as the delimiter. Only columns with no child
          should have a transformation. If an input column has no transformations on it, such a column is
          ignored by the training, except for the targetColumn, which should have no transformations
          defined on. Only one of column_transformations or column_specs should be passed. Consider using
          column_specs as column_transformations will be deprecated eventually.
      :param labels: Optional. The labels with user-defined metadata to organize TrainingPipelines. Label
          keys and values can be no longer than 64 characters (Unicode codepoints), can only contain
          lowercase letters, numeric characters, underscores and dashes. International characters are
          allowed. See https://goo.gl/xmQnxf for more information and examples of labels.
      :param training_encryption_spec_key_name: Optional. The Cloud KMS resource identifier of the customer
          managed encryption key used to protect the training pipeline. Has the form:
          ``projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key``. The key needs to be
          in the same region as where the compute resource is created. If set, this TrainingPipeline will
          be secured by this key.
          Note: Model trained by this TrainingPipeline is also secured by this key if ``model_to_upload``
          is not set separately.
      :param model_encryption_spec_key_name: Optional. The Cloud KMS resource identifier of the customer
          managed encryption key used to protect the model. Has the form:
          ``projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key``. The key needs to be
          in the same region as where the compute resource is created.
          If set, the trained Model will be secured by this key.
      :param training_fraction_split: Optional. The fraction of the input data that is to be used to train
          the Model. This is ignored if Dataset is not provided.
      :param validation_fraction_split: Optional. The fraction of the input data that is to be used to
          validate the Model. This is ignored if Dataset is not provided.
      :param test_fraction_split: Optional. The fraction of the input data that is to be used to evaluate
          the Model. This is ignored if Dataset is not provided.
      :param predefined_split_column_name: Optional. The key is a name of one of the Dataset's data
          columns. The value of the key (either the label's value or value in the column) must be one of
          {``TRAIN``, ``VALIDATE``, ``TEST``}, and it defines to which set the given piece of data is
          assigned. If for a piece of data the key is not present or has an invalid value, that piece is
          ignored by the pipeline.
          Supported only for tabular and time series Datasets.
      :param weight_column: Optional. Name of the column that should be used as the weight column. Higher
          values in this column give more importance to the row during Model training. The column must have
          numeric values between 0 and 10000 inclusively, and 0 value means that the row is ignored. If the
          weight column field is not set, then all rows are assumed to have equal weight of 1.
      :param time_series_attribute_columns: Optional. Column names that should be used as attribute
          columns. Each column is constant within a time series.
      :param context_window: Optional. The amount of time into the past training and prediction data is
          used for model training and prediction respectively. Expressed in number of units defined by the
          [data_granularity_unit] and [data_granularity_count] fields. When not provided uses the default
          value of 0 which means the model sets each series context window to be 0 (also known as "cold
          start"). Inclusive.
      :param export_evaluated_data_items: Whether to export the test set predictions to a BigQuery table.
          If False, then the export is not performed.
      :param export_evaluated_data_items_bigquery_destination_uri: Optional. URI of desired destination
          BigQuery table for exported test set predictions. Expected format:
          ``bq://<project_id>:<dataset_id>:<table>``
          If not specified, then results are exported to the following auto-created BigQuery table:
          ``<project_id>:export_evaluated_examples_<model_name>_<yyyy_MM_dd'T'HH_mm_ss_SSS'Z'>
          .evaluated_examples``
          Applies only if [export_evaluated_data_items] is True.
      :param export_evaluated_data_items_override_destination: Whether to override the contents of
          [export_evaluated_data_items_bigquery_destination_uri], if the table exists, for exported test
          set predictions. If False, and the table exists, then the training job will fail.
          Applies only if [export_evaluated_data_items] is True and
          [export_evaluated_data_items_bigquery_destination_uri] is specified.
      :param quantiles: Quantiles to use for the `minizmize-quantile-loss`
          [AutoMLForecastingTrainingJob.optimization_objective]. This argument is required in this case.
          Accepts up to 5 quantiles in the form of a double from 0 to 1, exclusive. Each quantile must be
          unique.
      :param validation_options: Validation options for the data validation component. The available
          options are: "fail-pipeline" - (default), will validate against the validation and fail the
          pipeline if it fails. "ignore-validation" - ignore the results of the validation and continue the
          pipeline
      :param budget_milli_node_hours: Optional. The train budget of creating this Model, expressed in milli
          node hours i.e. 1,000 value in this field means 1 node hour. The training cost of the model will
          not exceed this budget. The final cost will be attempted to be close to the budget, though may
          end up being (even) noticeably smaller - at the backend's discretion. This especially may happen
          when further model training ceases to provide any improvements. If the budget is set to a value
          known to be insufficient to train a Model for the given training set, the training won't be
          attempted and will error. The minimum value is 1000 and the maximum is 72000.
      :param model_display_name: Optional. If the script produces a managed Vertex AI Model. The display
          name of the Model. The name can be up to 128 characters long and can be consist of any UTF-8
          characters. If not provided upon creation, the job's display_name is used.
      :param model_labels: Optional. The labels with user-defined metadata to organize your Models. Label
          keys and values can be no longer than 64 characters (Unicode codepoints), can only contain
          lowercase letters, numeric characters, underscores and dashes. International characters are
          allowed. See https://goo.gl/xmQnxf for more information and examples of labels.
      :param sync: Whether to execute this method synchronously. If False, this method will be executed in
          concurrent Future and any downstream object will be immediately returned and synced when the
          Future has completed.
      """
      if column_transformations:
          warnings.warn(
              "Consider using column_specs as column_transformations will be deprecated eventually.",
              AirflowProviderDeprecationWarning,
              stacklevel=2,
          )
  
      self._job = self.get_auto_ml_forecasting_training_job(
          project=project_id,
          location=region,
          display_name=display_name,
          optimization_objective=optimization_objective,
          column_specs=column_specs,
          column_transformations=column_transformations,
          labels=labels,
          training_encryption_spec_key_name=training_encryption_spec_key_name,
          model_encryption_spec_key_name=model_encryption_spec_key_name,
      )
  
      if not self._job:
          raise AirflowException(
              "AutoMLForecastingTrainingJob was not created"
          )
  
      model = self._job.run(
          dataset=dataset,
          target_column=target_column,
          time_column=time_column,
          time_series_identifier_column=time_series_identifier_column,
          unavailable_at_forecast_columns=unavailable_at_forecast_columns,
          available_at_forecast_columns=available_at_forecast_columns,
          forecast_horizon=forecast_horizon,
          data_granularity_unit=data_granularity_unit,
          data_granularity_count=data_granularity_count,
          training_fraction_split=training_fraction_split,
          validation_fraction_split=validation_fraction_split,
          test_fraction_split=test_fraction_split,
          predefined_split_column_name=predefined_split_column_name,
          weight_column=weight_column,
          time_series_attribute_columns=time_series_attribute_columns,
          context_window=context_window,
          export_evaluated_data_items=export_evaluated_data_items,
          export_evaluated_data_items_bigquery_destination_uri=(
              export_evaluated_data_items_bigquery_destination_uri
          ),
          export_evaluated_data_items_override_destination=export_evaluated_data_items_override_destination,
          quantiles=quantiles,
          validation_options=validation_options,
          budget_milli_node_hours=budget_milli_node_hours,
          model_display_name=model_display_name,
          model_labels=model_labels,
          sync=sync,
          parent_model=parent_model,
          is_default_version=is_default_version,
          model_version_aliases=model_version_aliases,
          model_version_description=model_version_description,
      )
      training_id = self.extract_training_id(self._job.resource_name)
      if model:
          model.wait()
      else:
          self.log.warning(
              "Training did not produce a Managed Model returning None. Training Pipeline is not "
              "configured to upload a Model."
          )
      return model, training_id
  
imports: from __future__ import annotations
  import warnings
  from typing import TYPE_CHECKING, Sequence
  from google.api_core.client_options import ClientOptions
  from google.api_core.gapic_v1.method import DEFAULT, _MethodDefault
  from google.cloud.aiplatform import AutoMLForecastingTrainingJob, AutoMLImageTrainingJob, AutoMLTabularTrainingJob, AutoMLTextTrainingJob, AutoMLVideoTrainingJob, datasets, models
  from google.cloud.aiplatform_v1 import JobServiceClient, PipelineServiceClient
  from airflow.exceptions import AirflowException, AirflowProviderDeprecationWarning
  from airflow.providers.google.common.hooks.base_google import GoogleBaseHook
label_desc: Use image node_id 14 for calling the AutoMLHook obj's underlying member method code with example usage: obj.create_auto_ml_forecasting_training_job(project_id, region, display_name, dataset, target_column, time_column, time_series_identifier_column, unavailable_at_forecast_columns, available_at_forecast_columns, forecast_horizon, data_granularity_unit, data_granularity_count, optimization_objective, column_specs, column_transformations, labels, training_encryption_spec_key_name, model_encryption_spec_key_name, training_fraction_split, validation_fraction_split, test_fraction_split, predefined_split_column_name, weight_column, time_series_attribute_columns, context_window, export_evaluated_data_items, export_evaluated_data_items_bigquery_destination_uri, export_evaluated_data_items_override_destination, quantiles, validation_options, budget_milli_node_hours, model_display_name, model_labels, sync, parent_model, is_default_version, model_version_aliases, model_version_description) and returns: model,  training_id