{
  "icons": {
    "x32": "http://www.google.com/images/icons/product/search-32.gif",
    "x16": "http://www.google.com/images/icons/product/search-16.gif"
  },
  "canonicalName": "Migration Service",
  "name": "bigquerymigration",
  "title": "BigQuery Migration API",
  "schemas": {
    "GoogleApiDistributionBucketOptionsExponential": {
      "id": "GoogleApiDistributionBucketOptionsExponential",
      "description": "Specifies an exponential sequence of buckets that have a width that is proportional to the value of the lower bound. Each bucket represents a constant relative uncertainty on a specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 \u003c= i \u003c N-1): scale * (growth_factor ^ i). Lower bound (1 \u003c= i \u003c N): scale * (growth_factor ^ (i - 1)).",
      "type": "object",
      "properties": {
        "growthFactor": {
          "description": "Must be greater than 1.",
          "type": "number",
          "format": "double"
        },
        "numFiniteBuckets": {
          "type": "integer",
          "description": "Must be greater than 0.",
          "format": "int32"
        },
        "scale": {
          "format": "double",
          "description": "Must be greater than 0.",
          "type": "number"
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaTranslationConfigDetails": {
      "properties": {
        "sourceTargetLocationMapping": {
          "description": "The mapping from source location paths to target location paths.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaSourceTargetLocationMapping"
          }
        },
        "targetDialect": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaDialect",
          "description": "The target dialect for the engine to translate the input to."
        },
        "targetTypes": {
          "type": "array",
          "description": "The types of output to generate, e.g. sql, metadata etc. If not specified, a default set of targets will be generated. Some additional target types may be slower to generate. See the documentation for the set of available target types.",
          "items": {
            "type": "string"
          }
        },
        "requestSource": {
          "description": "The indicator to show translation request initiator.",
          "type": "string"
        },
        "sourceEnv": {
          "description": "The default source environment values for the translation.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaSourceEnv"
        },
        "sourceDialect": {
          "description": "The dialect of the input files.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaDialect"
        },
        "gcsTargetPath": {
          "type": "string",
          "description": "The Cloud Storage path to write back the corresponding input files to."
        },
        "gcsSourcePath": {
          "description": "The Cloud Storage path for a directory of files to translate in a task.",
          "type": "string"
        },
        "dialectDetectionConfig": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaDialectDetectionConfig",
          "description": "Optional. Configuration for detecting the dialect of the input files. If unset, dialect detection uses the default `AUTO` mode."
        },
        "nameMappingList": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaObjectNameMappingList",
          "description": "The mapping of objects to their desired output names in list form."
        }
      },
      "description": "The translation config to capture necessary settings for a translation task and subtask.",
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaTranslationConfigDetails"
    },
    "GoogleCloudBigqueryMigrationV2alphaTranslationTaskDetails": {
      "id": "GoogleCloudBigqueryMigrationV2alphaTranslationTaskDetails",
      "properties": {
        "specialTokenMap": {
          "description": "The map capturing special tokens to be replaced during translation. The key is special token in string. The value is the token data type. This is used to translate SQL query template which contains special token as place holder. The special token makes a query invalid to parse. This map will be applied to annotate those special token with types to let parser understand how to parse them into proper structure with type information.",
          "type": "object",
          "additionalProperties": {
            "type": "string",
            "enumDescriptions": [
              "Token type is not specified.",
              "Token type as string.",
              "Token type as integer.",
              "Token type as numeric.",
              "Token type as boolean.",
              "Token type as float.",
              "Token type as date.",
              "Token type as timestamp."
            ],
            "enum": [
              "TOKEN_TYPE_UNSPECIFIED",
              "STRING",
              "INT64",
              "NUMERIC",
              "BOOL",
              "FLOAT64",
              "DATE",
              "TIMESTAMP"
            ]
          }
        },
        "filePaths": {
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaTranslationFileMapping"
          },
          "description": "Cloud Storage files to be processed for translation.",
          "type": "array"
        },
        "identifierSettings": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaIdentifierSettings",
          "description": "The settings for SQL identifiers."
        },
        "bteqOptions": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaBteqOptions",
          "description": "The BTEQ specific settings for the translation task."
        },
        "schemaPath": {
          "type": "string",
          "description": "The Cloud Storage path to DDL files as table schema to assist semantic translation."
        },
        "filter": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaFilter",
          "description": "The filter applied to translation details."
        },
        "translationExceptionTable": {
          "type": "string",
          "description": "Specifies the exact name of the bigquery table (\"dataset.table\") to be used for surfacing raw translation errors. If the table does not exist, we will create it. If it already exists and the schema is the same, we will re-use. If the table exists and the schema is different, we will throw an error."
        },
        "fileEncoding": {
          "type": "string",
          "enum": [
            "FILE_ENCODING_UNSPECIFIED",
            "UTF_8",
            "ISO_8859_1",
            "US_ASCII",
            "UTF_16",
            "UTF_16LE",
            "UTF_16BE"
          ],
          "description": "The file encoding type.",
          "enumDescriptions": [
            "File encoding setting is not specified.",
            "File encoding is UTF_8.",
            "File encoding is ISO_8859_1.",
            "File encoding is US_ASCII.",
            "File encoding is UTF_16.",
            "File encoding is UTF_16LE.",
            "File encoding is UTF_16BE."
          ]
        },
        "outputPath": {
          "description": "The Cloud Storage path for translation output files.",
          "type": "string"
        },
        "teradataOptions": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaTeradataOptions",
          "description": "The Teradata SQL specific settings for the translation task."
        },
        "inputPath": {
          "description": "The Cloud Storage path for translation input files.",
          "type": "string"
        }
      },
      "description": "The translation task config to capture necessary settings for a translation task and subtask.",
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaSuggestionConfig": {
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaSuggestionConfig",
      "description": "The configuration for the suggestion if requested as a target type.",
      "properties": {
        "skipSuggestionSteps": {
          "type": "array",
          "description": "The list of suggestion steps to skip.",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaSuggestionStep"
          }
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaLineageOutputRecognizedInput": {
      "id": "GoogleCloudBigqueryMigrationV2alphaLineageOutputRecognizedInput",
      "properties": {
        "uncompressedSizeBytes": {
          "description": "Output only. The uncompressed size of the recognized input of the given type.",
          "type": "string",
          "readOnly": true,
          "format": "int64"
        },
        "type": {
          "enum": [
            "TYPE_UNSPECIFIED",
            "METADATA",
            "QUERY_LOG",
            "SCRIPT"
          ],
          "description": "Output only. The type of the input.",
          "type": "string",
          "enumDescriptions": [
            "The type is not specified.",
            "The input is metadata.",
            "The input is a query log.",
            "The input is a SQL script."
          ],
          "readOnly": true
        }
      },
      "type": "object",
      "description": "Information about lineage input of the given type that lineage generation recognized. If you expected to process more of the given input, verify your input was uploaded and is in the correct format and the request to generate lineage correctly specified the input location."
    },
    "GoogleCloudBigqueryMigrationTasksTranslationV2alphaDatasetReference": {
      "type": "object",
      "properties": {
        "datasetId": {
          "type": "string",
          "description": "Required. A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters."
        },
        "projectId": {
          "type": "string",
          "description": "Optional. The ID of the project containing this dataset."
        }
      },
      "id": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaDatasetReference"
    },
    "GoogleCloudBigqueryMigrationV2alphaLineageOutput": {
      "id": "GoogleCloudBigqueryMigrationV2alphaLineageOutput",
      "type": "object",
      "description": "The output of a task with output type \"LINEAGE\". Actual generated lineage can be queried separately (see webapp_uri), this message contains only metadata: processing status, errors, etc.",
      "properties": {
        "recognizedInputs": {
          "type": "array",
          "description": "Output only. Recognized lineage inputs. All inputs are processed only if the task succeeds and all work is in state `SUCCEEDED` (in particular, nothing is `SKIPPED`). Even with all inputs processed successfully, there may be transpiler errors present leading to inaccurate lineage.",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaLineageOutputRecognizedInput"
          }
        },
        "processingProgressReports": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaLineageOutputProgressReport"
          },
          "readOnly": true,
          "description": "Output only. Work processing progress reports broken up by processing stage."
        },
        "webappUri": {
          "description": "The URI of the webapp that visualizes the lineage. The user needs the `bigquerymigration.googleapis.com/lineageDbs.query` IAM permission to use the webapp.",
          "type": "string"
        }
      }
    },
    "GoogleCloudBigqueryMigrationTasksTranslationV2alphaTranslationFileMapping": {
      "type": "object",
      "properties": {
        "inputPath": {
          "type": "string",
          "description": "The Cloud Storage path for a file to translation in a subtask."
        },
        "outputPath": {
          "description": "The Cloud Storage path to write back the corresponding input file to.",
          "type": "string"
        }
      },
      "description": "Mapping between an input and output file to be translated in a subtask.",
      "id": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaTranslationFileMapping"
    },
    "GoogleCloudBigqueryMigrationV2alphaNameMappingValue": {
      "id": "GoogleCloudBigqueryMigrationV2alphaNameMappingValue",
      "description": "The potential components of a full name mapping that will be mapped during translation in the target data warehouse.",
      "type": "object",
      "properties": {
        "schema": {
          "description": "The schema name (BigQuery dataset equivalent in the target data warehouse).",
          "type": "string"
        },
        "database": {
          "type": "string",
          "description": "The database name (BigQuery project ID equivalent in the target data warehouse)."
        },
        "relation": {
          "description": "The relation name (BigQuery table or view equivalent in the target data warehouse).",
          "type": "string"
        },
        "attribute": {
          "description": "The attribute name (BigQuery column equivalent in the target data warehouse).",
          "type": "string"
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaResourceErrorDetail": {
      "type": "object",
      "description": "Provides details for errors and the corresponding resources.",
      "id": "GoogleCloudBigqueryMigrationV2alphaResourceErrorDetail",
      "properties": {
        "resourceInfo": {
          "$ref": "GoogleRpcResourceInfo",
          "description": "Required. Information about the resource where the error is located."
        },
        "errorCount": {
          "type": "integer",
          "format": "int32",
          "description": "Required. How many errors there are in total for the resource. Truncation can be indicated by having an `error_count` that is higher than the size of `error_details`."
        },
        "errorDetails": {
          "description": "Required. The error details for the resource.",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaErrorDetail"
          },
          "type": "array"
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaOracleDialect": {
      "id": "GoogleCloudBigqueryMigrationV2alphaOracleDialect",
      "type": "object",
      "description": "The dialect definition for Oracle.",
      "properties": {}
    },
    "GoogleCloudBigqueryMigrationV2alphaDialect": {
      "description": "The possible dialect options for translation.",
      "properties": {
        "redshiftDialect": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaRedshiftDialect",
          "description": "The Redshift dialect"
        },
        "verticaDialect": {
          "description": "The Vertica dialect",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaVerticaDialect"
        },
        "hiveqlDialect": {
          "description": "The HiveQL dialect",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaHiveQLDialect"
        },
        "teradataDialect": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaTeradataDialect",
          "description": "The Teradata dialect"
        },
        "oracleDialect": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaOracleDialect",
          "description": "The Oracle dialect"
        },
        "prestoDialect": {
          "description": "The Presto dialect",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaPrestoDialect"
        },
        "sqliteDialect": {
          "description": "SQLite dialect",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaSQLiteDialect"
        },
        "bigqueryDialect": {
          "description": "The BigQuery dialect",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaBigQueryDialect"
        },
        "mysqlDialect": {
          "description": "The MySQL dialect",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaMySQLDialect"
        },
        "db2Dialect": {
          "description": "DB2 dialect",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaDB2Dialect"
        },
        "azureSynapseDialect": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaAzureSynapseDialect",
          "description": "The Azure Synapse dialect"
        },
        "postgresqlDialect": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaPostgresqlDialect",
          "description": "The Postgresql dialect"
        },
        "sparksqlDialect": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaSparkSQLDialect",
          "description": "The SparkSQL dialect"
        },
        "greenplumDialect": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaGreenplumDialect",
          "description": "Greenplum dialect"
        },
        "netezzaDialect": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaNetezzaDialect",
          "description": "The Netezza dialect"
        },
        "snowflakeDialect": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaSnowflakeDialect",
          "description": "The Snowflake dialect"
        },
        "sqlServerDialect": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaSQLServerDialect",
          "description": "The SQL Server dialect"
        }
      },
      "id": "GoogleCloudBigqueryMigrationV2alphaDialect",
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaTranslationTaskResult": {
      "properties": {
        "translatedLiterals": {
          "description": "The list of the translated literals.",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaLiteral"
          },
          "type": "array"
        },
        "consoleUri": {
          "type": "string",
          "description": "The Cloud Console URI for the migration workflow."
        },
        "reportLogMessages": {
          "type": "array",
          "description": "The records from the aggregate CSV report for a migration workflow.",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaGcsReportLogMessage"
          }
        }
      },
      "description": "Translation specific result details from the migration task.",
      "id": "GoogleCloudBigqueryMigrationV2alphaTranslationTaskResult",
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaDB2Dialect": {
      "id": "GoogleCloudBigqueryMigrationV2alphaDB2Dialect",
      "description": "The dialect definition for DB2.",
      "properties": {},
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaVerticaDialect": {
      "type": "object",
      "properties": {},
      "id": "GoogleCloudBigqueryMigrationV2alphaVerticaDialect",
      "description": "The dialect definition for Vertica."
    },
    "GoogleCloudBigqueryMigrationTasksTranslationV2alphaFilter": {
      "description": "The filter applied to fields of translation details.",
      "properties": {
        "inputFileExclusionPrefixes": {
          "description": "The list of prefixes used to exclude processing for input files.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaFilter"
    },
    "GoogleCloudBigqueryMigrationV2alphaLineageOutputProgressReport": {
      "type": "object",
      "description": "Breaks down processing progress of work.",
      "id": "GoogleCloudBigqueryMigrationV2alphaLineageOutputProgressReport",
      "properties": {
        "processingStage": {
          "enumDescriptions": [
            "The stage is not specified.",
            "The input ingestion stage.",
            "The lineage DB postprocessing stage."
          ],
          "description": "Output only. The processing stage this progress report describes.",
          "enum": [
            "PROCESSING_STAGE_UNSPECIFIED",
            "INPUT_INGESTION",
            "POSTPROCESSING"
          ],
          "readOnly": true,
          "type": "string"
        },
        "workSummaries": {
          "type": "array",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaLineageOutputProgressReportWorkSummary"
          },
          "description": "Output only. Summaries of work broken up by the state of the work. Each work summary describes how much work is in the given state. To get numbers for the total work covered, aggregate the numbers from all summaries.",
          "readOnly": true
        }
      }
    },
    "GoogleProtobufEmpty": {
      "type": "object",
      "properties": {},
      "description": "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); }",
      "id": "GoogleProtobufEmpty"
    },
    "GoogleCloudBigqueryMigrationV2alphaScriptLocation": {
      "properties": {
        "column": {
          "type": "integer",
          "format": "int32",
          "description": "Specifies the column of a script (0 based). Example: 6."
        },
        "length": {
          "type": "integer",
          "description": "Specifies the length of a script from the starting location. Example 10.",
          "format": "int32"
        },
        "line": {
          "format": "int32",
          "description": "Specifies the row of a script (0 based). Example: 2.",
          "type": "integer"
        },
        "offset": {
          "type": "integer",
          "description": "Specifies the offset of a script in row of the starting location. Example 0.",
          "format": "int32"
        }
      },
      "id": "GoogleCloudBigqueryMigrationV2alphaScriptLocation",
      "type": "object",
      "description": "Location info of a script."
    },
    "GoogleCloudBigqueryMigrationTasksTranslationV2alphaIdentifierSettings": {
      "id": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaIdentifierSettings",
      "properties": {
        "identifierRewriteMode": {
          "type": "string",
          "description": "Specifies the rewrite mode for SQL identifiers.",
          "enumDescriptions": [
            "SQL Identifier rewrite mode is unspecified.",
            "SQL identifiers won't be rewrite.",
            "All SQL identifiers will be rewrite."
          ],
          "enum": [
            "IDENTIFIER_REWRITE_MODE_UNSPECIFIED",
            "NONE",
            "REWRITE_ALL"
          ]
        },
        "outputIdentifierCase": {
          "description": "The setting to control output queries' identifier case.",
          "enumDescriptions": [
            "The identifier case is not specified.",
            "Identifiers' cases will be kept as the original cases.",
            "Identifiers will be in upper cases.",
            "Identifiers will be in lower cases."
          ],
          "enum": [
            "IDENTIFIER_CASE_UNSPECIFIED",
            "ORIGINAL",
            "UPPER",
            "LOWER"
          ],
          "type": "string"
        }
      },
      "type": "object",
      "description": "Settings related to SQL identifiers."
    },
    "GoogleCloudBigqueryMigrationV2alphaListMigrationWorkflowsResponse": {
      "type": "object",
      "description": "Response object for a `ListMigrationWorkflows` call.",
      "properties": {
        "migrationWorkflows": {
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaMigrationWorkflow"
          },
          "type": "array",
          "description": "The migration workflows for the specified project / location."
        },
        "nextPageToken": {
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.",
          "type": "string"
        }
      },
      "id": "GoogleCloudBigqueryMigrationV2alphaListMigrationWorkflowsResponse"
    },
    "GoogleApiDistributionBucketOptionsLinear": {
      "type": "object",
      "properties": {
        "numFiniteBuckets": {
          "format": "int32",
          "description": "Must be greater than 0.",
          "type": "integer"
        },
        "offset": {
          "type": "number",
          "format": "double",
          "description": "Lower bound of the first bucket."
        },
        "width": {
          "format": "double",
          "type": "number",
          "description": "Must be greater than 0."
        }
      },
      "id": "GoogleApiDistributionBucketOptionsLinear",
      "description": "Specifies a linear sequence of buckets that all have the same width (except overflow and underflow). Each bucket represents a constant absolute uncertainty on the specific value in the bucket. There are `num_finite_buckets + 2` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 \u003c= i \u003c N-1): offset + (width * i). Lower bound (1 \u003c= i \u003c N): offset + (width * (i - 1))."
    },
    "GoogleCloudBigqueryMigrationV2alphaErrorLocation": {
      "description": "Holds information about where the error is located.",
      "id": "GoogleCloudBigqueryMigrationV2alphaErrorLocation",
      "type": "object",
      "properties": {
        "line": {
          "format": "int32",
          "type": "integer",
          "description": "Optional. If applicable, denotes the line where the error occurred. A zero value means that there is no line information."
        },
        "column": {
          "format": "int32",
          "type": "integer",
          "description": "Optional. If applicable, denotes the column where the error occurred. A zero value means that there is no columns information."
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaTypedValue": {
      "properties": {
        "stringValue": {
          "type": "string",
          "description": "A variable-length string value."
        },
        "doubleValue": {
          "description": "A 64-bit double-precision floating-point number. Its magnitude is approximately `+/-10^(+/-300)` and it has 16 significant digits of precision.",
          "type": "number",
          "format": "double"
        },
        "int64Value": {
          "type": "string",
          "format": "int64",
          "description": "A 64-bit integer. Its range is approximately `+/-9.2x10^18`."
        },
        "boolValue": {
          "type": "boolean",
          "description": "A Boolean value: `true` or `false`."
        },
        "distributionValue": {
          "description": "A distribution value.",
          "$ref": "GoogleApiDistribution"
        }
      },
      "description": "A single strongly-typed value.",
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaTypedValue"
    },
    "GoogleCloudBigqueryMigrationV2alphaFilter": {
      "id": "GoogleCloudBigqueryMigrationV2alphaFilter",
      "description": "The filter applied to fields of translation details.",
      "properties": {
        "inputFileExclusionPrefixes": {
          "description": "The list of prefixes used to exclude processing for input files.",
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      },
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaTeradataDialect": {
      "properties": {
        "mode": {
          "enumDescriptions": [
            "Unspecified mode.",
            "Teradata SQL mode.",
            "BTEQ mode (which includes SQL)."
          ],
          "type": "string",
          "description": "Which Teradata sub-dialect mode the user specifies.",
          "enum": [
            "MODE_UNSPECIFIED",
            "SQL",
            "BTEQ"
          ]
        }
      },
      "description": "The dialect definition for Teradata.",
      "id": "GoogleCloudBigqueryMigrationV2alphaTeradataDialect",
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaMigrationTaskResult": {
      "properties": {
        "assessmentDetails": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaAssessmentOrchestrationResultDetails",
          "description": "Details specific to assessment task types."
        },
        "translationTaskResult": {
          "description": "Details specific to translation task types.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaTranslationTaskResult"
        },
        "taskOutputs": {
          "type": "object",
          "additionalProperties": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaTaskOutput"
          },
          "description": "The map of task output types to the task outputs, e.g. \"LINEAGE\"."
        }
      },
      "id": "GoogleCloudBigqueryMigrationV2alphaMigrationTaskResult",
      "type": "object",
      "description": "The migration task result."
    },
    "GoogleCloudBigqueryMigrationV2alphaPoint": {
      "properties": {
        "value": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaTypedValue",
          "description": "The value of the data point."
        },
        "interval": {
          "description": "The time interval to which the data point applies. For `GAUGE` metrics, the start time does not need to be supplied, but if it is supplied, it must equal the end time. For `DELTA` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying contiguous and non-overlapping intervals. For `CUMULATIVE` metrics, the start and end time should specify a non-zero interval, with subsequent points specifying the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaTimeInterval"
        }
      },
      "description": "A single data point in a time series.",
      "id": "GoogleCloudBigqueryMigrationV2alphaPoint",
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaTranslationResultDetails": {
      "description": "Deprecated: Use the regular CreateMigrationWorkflow method instead. The 'bigquerymigration.translation.translate' permission is replaced by 'bigquerymigration.workflows.create', 'bigquerymigration.workflows.get', and 'bigquerymigration.workflows.list'. Translation details like metrics, warning/error records.",
      "type": "object",
      "deprecated": true,
      "properties": {
        "translationMetrics": {
          "type": "object",
          "additionalProperties": {
            "format": "int32",
            "type": "integer"
          },
          "description": "Translation metrics. E.g., Compiler_Clean: 5, Compiler_BestEffort: 2, Emitter_Clean: 1,Emitter_Error: 3, etc."
        },
        "reportRecords": {
          "description": "Translation details about warning/error records.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaTranslationReportRecord"
          }
        }
      },
      "id": "GoogleCloudBigqueryMigrationV2alphaTranslationResultDetails"
    },
    "GoogleCloudBigqueryMigrationV2alphaTranslateQueryResponse": {
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaTranslateQueryResponse",
      "properties": {
        "translatedQuery": {
          "description": "The translated result. It may contain error/warning messages as comments.",
          "type": "string"
        },
        "translationJob": {
          "description": "Output only. Immutable. The unique identifier for the SQL translation job. Example: `projects/123/locations/us/translation/1234`",
          "type": "string",
          "readOnly": true
        },
        "translationStartTime": {
          "type": "string",
          "description": "The timestamp when the server starts to process the translation job.",
          "format": "google-datetime"
        },
        "translationResultDetails": {
          "description": "The details of the translation results.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaTranslationResultDetails"
        },
        "suggestions": {
          "description": "Translation suggestions",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaTranslationSuggestion"
          },
          "type": "array"
        },
        "warnings": {
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaSqlTranslationWarning"
          },
          "deprecated": true,
          "description": "The list of warnings encountered during the translation, if present, indicates non-semantically correct translation. Deprecated: use TranslationResultDetails.TranslationReportRecord instead.",
          "type": "array"
        },
        "translationEndTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "The timestamp when the translation of the SQL query was completed."
        },
        "errors": {
          "deprecated": true,
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaSqlTranslationError"
          },
          "description": "The list of errors encountered during the translation, if present.",
          "type": "array"
        }
      },
      "description": "Deprecated: Use the regular CreateMigrationWorkflow method instead. The 'bigquerymigration.translation.translate' permission is replaced by 'bigquerymigration.workflows.create', 'bigquerymigration.workflows.get', and 'bigquerymigration.workflows.list'. The response of translating a SQL query to GoogleSQL.",
      "deprecated": true
    },
    "GoogleCloudBigqueryMigrationV2alphaSqlTranslationWarning": {
      "description": "The detailed warning object if the SQL translation job is completed but not semantically correct. Deprecated! Use TranslationReportRecord to define warning messages.",
      "type": "object",
      "deprecated": true,
      "id": "GoogleCloudBigqueryMigrationV2alphaSqlTranslationWarning",
      "properties": {
        "warningDetail": {
          "description": "Specifies the details of the warning, including the warning message and location from the source text.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaSqlTranslationErrorDetail"
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaSuggestionStep": {
      "properties": {
        "suggestionType": {
          "description": "The type of suggestion.",
          "enum": [
            "SUGGESTION_TYPE_UNSPECIFIED",
            "QUERY_CUSTOMIZATION",
            "TRANSLATION_EXPLANATION"
          ],
          "type": "string",
          "enumDescriptions": [
            "Suggestion type unspecified.",
            "Query customization.",
            "Translation explanation."
          ]
        },
        "rewriteTarget": {
          "type": "string",
          "description": "The rewrite target.",
          "enum": [
            "REWRITE_TARGET_UNSPECIFIED",
            "SOURCE_SQL",
            "TARGET_SQL"
          ],
          "enumDescriptions": [
            "Rewrite target unspecified.",
            "Source SQL.",
            "Target SQL."
          ]
        }
      },
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaSuggestionStep",
      "description": "Suggestion step to skip."
    },
    "GoogleCloudBigqueryMigrationV2alphaSQLiteDialect": {
      "properties": {},
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaSQLiteDialect",
      "description": "The dialect definition for SQLite."
    },
    "GoogleCloudBigqueryMigrationV2alphaAzureSynapseDialect": {
      "properties": {},
      "id": "GoogleCloudBigqueryMigrationV2alphaAzureSynapseDialect",
      "type": "object",
      "description": "The dialect definition for Azure Synapse."
    },
    "GoogleCloudBigqueryMigrationV2alphaLineageOutputProgressReportWorkSummary": {
      "properties": {
        "size": {
          "format": "int64",
          "type": "string",
          "readOnly": true,
          "description": "Output only. Size of the work in the given State. Size counts \"units of work\". Units represent arbitrary division of work; there's no expectation each unit takes similar time to process."
        },
        "state": {
          "type": "string",
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "SUCCEEDED",
            "FAILED",
            "IN_PROGRESS",
            "SKIPPED"
          ],
          "description": "Output only. The state of the work this summary describes.",
          "enumDescriptions": [
            "The state is not specified.",
            "Work that was processed successfully.",
            "Work that failed processing.",
            "Work that is currently being processed or queued for processing.",
            "Work that was recognised as necessary to fully process inputs but was skipped due to system limitations."
          ]
        },
        "comment": {
          "readOnly": true,
          "description": "Output only. Human-readable comment.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaLineageOutputProgressReportWorkSummary",
      "description": "Summary of work in the given state."
    },
    "GoogleApiDistributionBucketOptions": {
      "description": "`BucketOptions` describes the bucket boundaries used to create a histogram for the distribution. The buckets can be in a linear sequence, an exponential sequence, or each bucket can be specified explicitly. `BucketOptions` does not include the number of values in each bucket. A bucket has an inclusive lower bound and exclusive upper bound for the values that are counted for that bucket. The upper bound of a bucket must be strictly greater than the lower bound. The sequence of N buckets for a distribution consists of an underflow bucket (number 0), zero or more finite buckets (number 1 through N - 2) and an overflow bucket (number N - 1). The buckets are contiguous: the lower bound of bucket i (i \u003e 0) is the same as the upper bound of bucket i - 1. The buckets span the whole range of finite values: lower bound of the underflow bucket is -infinity and the upper bound of the overflow bucket is +infinity. The finite buckets are so-called because both bounds are finite.",
      "properties": {
        "exponentialBuckets": {
          "description": "The exponential buckets.",
          "$ref": "GoogleApiDistributionBucketOptionsExponential"
        },
        "explicitBuckets": {
          "$ref": "GoogleApiDistributionBucketOptionsExplicit",
          "description": "The explicit buckets."
        },
        "linearBuckets": {
          "description": "The linear bucket.",
          "$ref": "GoogleApiDistributionBucketOptionsLinear"
        }
      },
      "type": "object",
      "id": "GoogleApiDistributionBucketOptions"
    },
    "GoogleCloudBigqueryMigrationV2alphaTaskOutput": {
      "id": "GoogleCloudBigqueryMigrationV2alphaTaskOutput",
      "type": "object",
      "description": "The task output for a task type including the status and any errors.",
      "properties": {
        "lineageOutput": {
          "description": "The output of the task with output type \"LINEAGE\".",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaLineageOutput"
        },
        "state": {
          "enumDescriptions": [
            "Task output state is unspecified.",
            "Task output is pending.",
            "Task output is succeeded.",
            "Task output is failed. This does not mean that there is no useful information in the output; partial outputs or failure details may be available."
          ],
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "PENDING",
            "SUCCEEDED",
            "FAILED"
          ],
          "type": "string",
          "description": "Output only. The current state of the task output."
        },
        "processingError": {
          "$ref": "GoogleRpcErrorInfo",
          "description": "An explanation that may be populated when the task output is in FAILED state."
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaPrestoDialect": {
      "properties": {},
      "type": "object",
      "description": "The dialect definition for Presto.",
      "id": "GoogleCloudBigqueryMigrationV2alphaPrestoDialect"
    },
    "GoogleCloudBigqueryMigrationV2alphaSparkSQLDialect": {
      "properties": {},
      "id": "GoogleCloudBigqueryMigrationV2alphaSparkSQLDialect",
      "type": "object",
      "description": "The dialect definition for SparkSQL."
    },
    "GoogleApiDistributionBucketOptionsExplicit": {
      "id": "GoogleApiDistributionBucketOptionsExplicit",
      "type": "object",
      "properties": {
        "bounds": {
          "items": {
            "format": "double",
            "type": "number"
          },
          "type": "array",
          "description": "The values must be monotonically increasing."
        }
      },
      "description": "Specifies a set of buckets with arbitrary widths. There are `size(bounds) + 1` (= N) buckets. Bucket `i` has the following boundaries: Upper bound (0 \u003c= i \u003c N-1): bounds[i] Lower bound (1 \u003c= i \u003c N); bounds[i - 1] The `bounds` field must contain at least one element. If `bounds` has only one element, then there are no finite buckets, and that single element is the common boundary of the overflow and underflow buckets."
    },
    "GoogleCloudBigqueryMigrationV2alphaSourceTargetLocationMapping": {
      "description": "Represents one mapping from a source location path to an optional target location path.",
      "properties": {
        "sourceLocation": {
          "description": "The path to the location of the source data.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaSourceLocation"
        },
        "targetLocation": {
          "description": "The path to the location of the target data.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaTargetLocation"
        }
      },
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaSourceTargetLocationMapping"
    },
    "GoogleCloudBigqueryMigrationV2alphaTargetLocation": {
      "type": "object",
      "description": "// Represents one path to the location that holds target data.",
      "properties": {
        "gcsPath": {
          "description": "The Cloud Storage path for a directory of files.",
          "type": "string"
        }
      },
      "id": "GoogleCloudBigqueryMigrationV2alphaTargetLocation"
    },
    "GoogleCloudBigqueryMigrationV2alphaLiteral": {
      "description": "Literal data.",
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaLiteral",
      "properties": {
        "relativePath": {
          "description": "Required. The identifier of the literal entry.",
          "type": "string"
        },
        "literalString": {
          "type": "string",
          "description": "Literal string data."
        },
        "literalBytes": {
          "format": "byte",
          "type": "string",
          "description": "Literal byte data."
        }
      }
    },
    "GoogleCloudBigqueryMigrationTasksTranslationV2alphaTranslationTaskDetails": {
      "properties": {
        "filePaths": {
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaTranslationFileMapping"
          },
          "type": "array",
          "description": "Cloud Storage files to be processed for translation."
        },
        "schemaPath": {
          "description": "The Cloud Storage path to DDL files as table schema to assist semantic translation.",
          "type": "string"
        },
        "specialTokenMap": {
          "description": "The map capturing special tokens to be replaced during translation. The key is special token in string. The value is the token data type. This is used to translate SQL query template which contains special token as place holder. The special token makes a query invalid to parse. This map will be applied to annotate those special token with types to let parser understand how to parse them into proper structure with type information.",
          "additionalProperties": {
            "enum": [
              "TOKEN_TYPE_UNSPECIFIED",
              "STRING",
              "INT64",
              "NUMERIC",
              "BOOL",
              "FLOAT64",
              "DATE",
              "TIMESTAMP"
            ],
            "enumDescriptions": [
              "Token type is not specified.",
              "Token type as string.",
              "Token type as integer.",
              "Token type as numeric.",
              "Token type as boolean.",
              "Token type as float.",
              "Token type as date.",
              "Token type as timestamp."
            ],
            "type": "string"
          },
          "type": "object"
        },
        "filter": {
          "description": "The filter applied to translation details.",
          "$ref": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaFilter"
        },
        "translationExceptionTable": {
          "type": "string",
          "description": "Specifies the exact name of the bigquery table (\"dataset.table\") to be used for surfacing raw translation errors. If the table does not exist, we will create it. If it already exists and the schema is the same, we will re-use. If the table exists and the schema is different, we will throw an error."
        },
        "bteqOptions": {
          "description": "The BTEQ specific settings for the translation task.",
          "$ref": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaBteqOptions"
        },
        "identifierSettings": {
          "description": "The settings for SQL identifiers.",
          "$ref": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaIdentifierSettings"
        },
        "teradataOptions": {
          "description": "The Teradata SQL specific settings for the translation task.",
          "$ref": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaTeradataOptions"
        },
        "inputPath": {
          "description": "The Cloud Storage path for translation input files.",
          "type": "string"
        },
        "fileEncoding": {
          "type": "string",
          "description": "The file encoding type.",
          "enumDescriptions": [
            "File encoding setting is not specified.",
            "File encoding is UTF_8.",
            "File encoding is ISO_8859_1.",
            "File encoding is US_ASCII.",
            "File encoding is UTF_16.",
            "File encoding is UTF_16LE.",
            "File encoding is UTF_16BE."
          ],
          "enum": [
            "FILE_ENCODING_UNSPECIFIED",
            "UTF_8",
            "ISO_8859_1",
            "US_ASCII",
            "UTF_16",
            "UTF_16LE",
            "UTF_16BE"
          ]
        },
        "outputPath": {
          "description": "The Cloud Storage path for translation output files.",
          "type": "string"
        }
      },
      "description": "DEPRECATED! Use TranslationTaskDetails defined in com.google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails instead. The translation task details to capture necessary settings for a translation task and subtask.",
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaTranslationTaskDetails"
    },
    "GoogleRpcErrorInfo": {
      "properties": {
        "metadata": {
          "type": "object",
          "description": "Additional structured details about this error. Keys must match a regular expression of `a-z+` but should ideally be lowerCamelCase. Also, they must be limited to 64 characters in length. When identifying the current value of an exceeded limit, the units should be contained in the key, not the value. For example, rather than `{\"instanceLimit\": \"100/request\"}`, should be returned as, `{\"instanceLimitPerRequest\": \"100\"}`, if the client exceeds the number of instances that can be created in a single (batch) request.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "reason": {
          "type": "string",
          "description": "The reason for the error. This is a constant value that identifies the proximate cause of the error. Error reasons are unique within a particular domain of errors. This should be at most 63 characters and match a regular expression of `A-Z+[A-Z0-9]`, which represents UPPER_SNAKE_CASE."
        },
        "domain": {
          "type": "string",
          "description": "The logical grouping to which the \"reason\" belongs. The error domain is typically the registered service name of the tool or product that generates the error. Example: \"pubsub.googleapis.com\". If the error is generated by some common infrastructure, the error domain must be a globally unique value that identifies the infrastructure. For Google API infrastructure, the error domain is \"googleapis.com\"."
        }
      },
      "type": "object",
      "description": "Describes the cause of the error with structured details. Example of an error when contacting the \"pubsub.googleapis.com\" API when it is not enabled: { \"reason\": \"API_DISABLED\" \"domain\": \"googleapis.com\" \"metadata\": { \"resource\": \"projects/123\", \"service\": \"pubsub.googleapis.com\" } } This response indicates that the pubsub.googleapis.com API is not enabled. Example of an error that is returned when attempting to create a Spanner instance in a region that is out of stock: { \"reason\": \"STOCKOUT\" \"domain\": \"spanner.googleapis.com\", \"metadata\": { \"availableRegions\": \"us-central1,us-east2\" } }",
      "id": "GoogleRpcErrorInfo"
    },
    "GoogleCloudBigqueryMigrationV2alphaMigrationWorkflow": {
      "type": "object",
      "properties": {
        "lastUpdateTime": {
          "description": "Output only. Time when the workflow was last updated.",
          "type": "string",
          "format": "google-datetime",
          "readOnly": true
        },
        "createTime": {
          "description": "Output only. Time when the workflow was created.",
          "type": "string",
          "readOnly": true,
          "format": "google-datetime"
        },
        "state": {
          "type": "string",
          "readOnly": true,
          "enum": [
            "STATE_UNSPECIFIED",
            "DRAFT",
            "RUNNING",
            "PAUSED",
            "COMPLETED"
          ],
          "description": "Output only. That status of the workflow.",
          "enumDescriptions": [
            "Workflow state is unspecified.",
            "Workflow is in draft status, i.e. tasks are not yet eligible for execution.",
            "Workflow is running (i.e. tasks are eligible for execution).",
            "Workflow is paused. Tasks currently in progress may continue, but no further tasks will be scheduled.",
            "Workflow is complete. There should not be any task in a non-terminal state, but if they are (e.g. forced termination), they will not be scheduled."
          ]
        },
        "displayName": {
          "type": "string",
          "description": "The display name of the workflow. This can be set to give a workflow a descriptive name. There is no guarantee or enforcement of uniqueness."
        },
        "name": {
          "description": "Output only. Immutable. Identifier. The unique identifier for the migration workflow. The ID is server-generated. Example: `projects/123/locations/us/workflows/345`",
          "readOnly": true,
          "type": "string"
        },
        "tasks": {
          "additionalProperties": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaMigrationTask"
          },
          "description": "The tasks in a workflow in a named map. The name (i.e. key) has no meaning and is merely a convenient way to address a specific task in a workflow.",
          "type": "object"
        }
      },
      "id": "GoogleCloudBigqueryMigrationV2alphaMigrationWorkflow",
      "description": "A migration workflow which specifies what needs to be done for an EDW migration."
    },
    "GoogleCloudBigqueryMigrationV2alphaPostgresqlDialect": {
      "description": "The dialect definition for Postgresql.",
      "id": "GoogleCloudBigqueryMigrationV2alphaPostgresqlDialect",
      "type": "object",
      "properties": {}
    },
    "GoogleApiDistributionRange": {
      "id": "GoogleApiDistributionRange",
      "properties": {
        "min": {
          "format": "double",
          "type": "number",
          "description": "The minimum of the population values."
        },
        "max": {
          "format": "double",
          "type": "number",
          "description": "The maximum of the population values."
        }
      },
      "type": "object",
      "description": "The range of the population values."
    },
    "GoogleCloudBigqueryMigrationV2alphaNameMappingKey": {
      "properties": {
        "type": {
          "enum": [
            "TYPE_UNSPECIFIED",
            "DATABASE",
            "SCHEMA",
            "RELATION",
            "ATTRIBUTE",
            "RELATION_ALIAS",
            "ATTRIBUTE_ALIAS",
            "FUNCTION"
          ],
          "description": "The type of object that is being mapped.",
          "enumDescriptions": [
            "Unspecified name mapping type.",
            "The object being mapped is a database.",
            "The object being mapped is a schema.",
            "The object being mapped is a relation.",
            "The object being mapped is an attribute.",
            "The object being mapped is a relation alias.",
            "The object being mapped is a an attribute alias.",
            "The object being mapped is a function."
          ],
          "type": "string"
        },
        "schema": {
          "type": "string",
          "description": "The schema name (BigQuery dataset equivalent in the source data warehouse)."
        },
        "database": {
          "description": "The database name (BigQuery project ID equivalent in the source data warehouse).",
          "type": "string"
        },
        "relation": {
          "type": "string",
          "description": "The relation name (BigQuery table or view equivalent in the source data warehouse)."
        },
        "attribute": {
          "type": "string",
          "description": "The attribute name (BigQuery column equivalent in the source data warehouse)."
        }
      },
      "id": "GoogleCloudBigqueryMigrationV2alphaNameMappingKey",
      "description": "The potential components of a full name mapping that will be mapped during translation in the source data warehouse.",
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaSourceLocation": {
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaSourceLocation",
      "description": "Represents one path to the location that holds source data.",
      "properties": {
        "gcsPath": {
          "description": "The Cloud Storage path for a directory of files.",
          "type": "string"
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaErrorDetail": {
      "properties": {
        "errorInfo": {
          "description": "Required. Describes the cause of the error with structured detail.",
          "$ref": "GoogleRpcErrorInfo"
        },
        "location": {
          "description": "Optional. The exact location within the resource (if applicable).",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaErrorLocation"
        }
      },
      "type": "object",
      "description": "Provides details for errors, e.g. issues that where encountered when processing a subtask.",
      "id": "GoogleCloudBigqueryMigrationV2alphaErrorDetail"
    },
    "GoogleCloudBigqueryMigrationV2alphaIdentifierSettings": {
      "description": "Settings related to SQL identifiers.",
      "id": "GoogleCloudBigqueryMigrationV2alphaIdentifierSettings",
      "properties": {
        "outputIdentifierCase": {
          "enumDescriptions": [
            "The identifier case is not specified.",
            "Identifiers' cases will be kept as the original cases.",
            "Identifiers will be in upper cases.",
            "Identifiers will be in lower cases."
          ],
          "type": "string",
          "description": "The setting to control output queries' identifier case.",
          "enum": [
            "IDENTIFIER_CASE_UNSPECIFIED",
            "ORIGINAL",
            "UPPER",
            "LOWER"
          ]
        },
        "identifierRewriteMode": {
          "type": "string",
          "enumDescriptions": [
            "SQL Identifier rewrite mode is unspecified.",
            "SQL identifiers won't be rewrite.",
            "All SQL identifiers will be rewrite."
          ],
          "enum": [
            "IDENTIFIER_REWRITE_MODE_UNSPECIFIED",
            "NONE",
            "REWRITE_ALL"
          ],
          "description": "Specifies the rewrite mode for SQL identifiers."
        }
      },
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaAssessmentFeatureHandle": {
      "description": "User-definable feature flags for assessment tasks.",
      "type": "object",
      "properties": {
        "addShareableDataset": {
          "description": "Optional. Whether to create a dataset containing non-PII data in addition to the output dataset.",
          "type": "boolean"
        },
        "generateTcoReport": {
          "type": "boolean",
          "description": "Optional. Whether the TCO report Google Doc generation is allowlisted for the project."
        }
      },
      "id": "GoogleCloudBigqueryMigrationV2alphaAssessmentFeatureHandle"
    },
    "GoogleCloudBigqueryMigrationV2alphaTimeInterval": {
      "type": "object",
      "properties": {
        "startTime": {
          "format": "google-datetime",
          "type": "string",
          "description": "Optional. The beginning of the time interval. The default value for the start time is the end time. The start time must not be later than the end time."
        },
        "endTime": {
          "format": "google-datetime",
          "description": "Required. The end of the time interval.",
          "type": "string"
        }
      },
      "description": "A time interval extending just after a start time through an end time. If the start time is the same as the end time, then the interval represents a single point in time.",
      "id": "GoogleCloudBigqueryMigrationV2alphaTimeInterval"
    },
    "GoogleCloudBigqueryMigrationV2alphaMySQLDialect": {
      "description": "The dialect definition for MySQL.",
      "properties": {},
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaMySQLDialect"
    },
    "GoogleCloudBigqueryMigrationV2alphaObjectNameMappingList": {
      "description": "Represents a map of name mappings using a list of key:value proto messages of existing name to desired output name.",
      "properties": {
        "nameMap": {
          "description": "The elements of the object name map.",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaObjectNameMapping"
          },
          "type": "array"
        }
      },
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaObjectNameMappingList"
    },
    "GoogleCloudBigqueryMigrationV2alphaTranslationDetails": {
      "properties": {
        "sourceTargetMapping": {
          "description": "The mapping from source to target SQL.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaSourceTargetMapping"
          }
        },
        "targetBaseUri": {
          "description": "The base URI for all writes to persistent storage.",
          "type": "string"
        },
        "targetReturnLiterals": {
          "description": "The list of literal targets that will be directly returned to the response. Each entry consists of the constructed path, EXCLUDING the base path. Not providing a target_base_uri will prevent writing to persistent storage.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "dialectDetectionConfig": {
          "description": "Optional. Configuration for detecting the dialect of the input files. If unset, dialect detection uses the default `AUTO` mode.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaDialectDetectionConfig"
        },
        "targetTypes": {
          "description": "The types of output to generate, e.g. sql, metadata, lineage_from_sql_scripts, etc. If not specified, a default set of targets will be generated. Some additional target types may be slower to generate. See the documentation for the set of available target types.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "sourceEnvironment": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaSourceEnvironment",
          "description": "The default source environment values for the translation."
        },
        "suggestionConfig": {
          "description": "The configuration for the suggestion if requested as a target type.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaSuggestionConfig"
        }
      },
      "description": "The translation details to capture the necessary settings for a translation job.",
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaTranslationDetails"
    },
    "GoogleCloudBigqueryMigrationV2alphaMetadataCaching": {
      "properties": {
        "maxCacheAge": {
          "type": "string",
          "format": "google-duration",
          "description": "Optional. The maximum age of the metadata cache. If the cache is older than this value, the cache will be refreshed. A cache will not be kept for longer than 7 days. Providing no value or a value larger than 7 days will result in using the cache if available (i.e. the same as setting the value to 7 days). Setting the duration to 0 or a negative value will refresh the cache."
        }
      },
      "id": "GoogleCloudBigqueryMigrationV2alphaMetadataCaching",
      "description": "Metadata caching settings.",
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaBteqOptions": {
      "properties": {
        "defaultPathUri": {
          "description": "The Cloud Storage location to be used as the default path for files that are not otherwise specified in the file replacement map.",
          "type": "string"
        },
        "fileReplacementMap": {
          "description": "Maps the local paths that are used in BTEQ scripts (the keys) to the paths in Cloud Storage that should be used in their stead in the translation (the value).",
          "type": "object",
          "additionalProperties": {
            "type": "string"
          }
        },
        "projectDataset": {
          "description": "Specifies the project and dataset in BigQuery that will be used for external table creation during the translation.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaDatasetReference"
        }
      },
      "description": "BTEQ translation task related settings.",
      "id": "GoogleCloudBigqueryMigrationV2alphaBteqOptions",
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaListMigrationSubtasksResponse": {
      "description": "Response object for a `ListMigrationSubtasks` call.",
      "id": "GoogleCloudBigqueryMigrationV2alphaListMigrationSubtasksResponse",
      "properties": {
        "nextPageToken": {
          "type": "string",
          "description": "A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages."
        },
        "migrationSubtasks": {
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaMigrationSubtask"
          },
          "description": "The migration subtasks for the specified task.",
          "type": "array"
        }
      },
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaMigrationSubtask": {
      "description": "A subtask for a migration which carries details about the configuration of the subtask. The content of the details should not matter to the end user, but is a contract between the subtask creator and subtask worker.",
      "id": "GoogleCloudBigqueryMigrationV2alphaMigrationSubtask",
      "properties": {
        "type": {
          "type": "string",
          "description": "The type of the Subtask. The migration service does not check whether this is a known type. It is up to the task creator (i.e. orchestrator or worker) to ensure it only creates subtasks for which there are compatible workers polling for Subtasks."
        },
        "state": {
          "readOnly": true,
          "enumDescriptions": [
            "The state is unspecified.",
            "The subtask is ready, i.e. it is ready for execution.",
            "The subtask is running, i.e. it is assigned to a worker for execution.",
            "The subtask finished successfully.",
            "The subtask finished unsuccessfully.",
            "The subtask is paused, i.e., it will not be scheduled. If it was already assigned,it might still finish but no new lease renewals will be granted.",
            "The subtask is pending a dependency. It will be scheduled once its dependencies are done."
          ],
          "type": "string",
          "description": "Output only. The current state of the subtask.",
          "enum": [
            "STATE_UNSPECIFIED",
            "ACTIVE",
            "RUNNING",
            "SUCCEEDED",
            "FAILED",
            "PAUSED",
            "PENDING_DEPENDENCY"
          ]
        },
        "createTime": {
          "type": "string",
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. Time when the subtask was created."
        },
        "processingError": {
          "$ref": "GoogleRpcErrorInfo",
          "description": "Output only. An explanation that may be populated when the task is in FAILED state.",
          "readOnly": true
        },
        "name": {
          "description": "Output only. Immutable. The resource name for the migration subtask. The ID is server-generated. Example: `projects/123/locations/us/workflows/345/subtasks/678`",
          "readOnly": true,
          "type": "string"
        },
        "resourceErrorDetails": {
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaResourceErrorDetail"
          },
          "type": "array",
          "readOnly": true,
          "description": "Output only. Provides details to errors and issues encountered while processing the subtask. Presence of error details does not mean that the subtask failed."
        },
        "lastUpdateTime": {
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. Time when the subtask was last updated.",
          "type": "string"
        },
        "metrics": {
          "readOnly": true,
          "description": "Output only. The metrics for the subtask.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaTimeSeries"
          }
        },
        "resourceErrorCount": {
          "description": "Output only. The number or resources with errors. Note: This is not the total number of errors as each resource can have more than one error. This is used to indicate truncation by having a `resource_error_count` that is higher than the size of `resource_error_details`.",
          "readOnly": true,
          "type": "integer",
          "format": "int32"
        },
        "taskId": {
          "description": "The unique ID of the task to which this subtask belongs.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaAssessmentTaskDetails": {
      "id": "GoogleCloudBigqueryMigrationV2alphaAssessmentTaskDetails",
      "type": "object",
      "properties": {
        "outputDataset": {
          "description": "Required. The BigQuery dataset for output.",
          "type": "string"
        },
        "featureHandle": {
          "description": "Optional. A collection of additional feature flags for this assessment.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaAssessmentFeatureHandle"
        },
        "inputPath": {
          "type": "string",
          "description": "Required. The Cloud Storage path for assessment input files."
        },
        "dataSource": {
          "description": "Required. The data source or data warehouse type (eg: TERADATA/REDSHIFT) from which the input data is extracted.",
          "type": "string"
        },
        "querylogsPath": {
          "description": "Optional. An optional Cloud Storage path to write the query logs (which is then used as an input path on the translation task)",
          "type": "string"
        }
      },
      "description": "Assessment task config."
    },
    "GoogleCloudBigqueryMigrationV2alphaHiveQLDialect": {
      "type": "object",
      "description": "The dialect definition for HiveQL.",
      "id": "GoogleCloudBigqueryMigrationV2alphaHiveQLDialect",
      "properties": {}
    },
    "GoogleCloudBigqueryMigrationV2alphaTranslateQueryRequest": {
      "id": "GoogleCloudBigqueryMigrationV2alphaTranslateQueryRequest",
      "type": "object",
      "deprecated": true,
      "properties": {
        "sourceDialect": {
          "description": "Required. The source SQL dialect of `queries`.",
          "type": "string",
          "enumDescriptions": [
            "SqlTranslationSourceDialect not specified.",
            "Teradata SQL.",
            "Redshift SQL.",
            "Oracle SQL.",
            "HiveQL SQL.",
            "SPARK SQL.",
            "Snowflake SQL.",
            "IBM Netezza SQL.",
            "Azure Synapse",
            "Vertica.",
            "SQL Server dialect.",
            "Presto.",
            "PostgreSQL.",
            "MySQL.",
            "BTEQ.",
            "SQLite dialect.",
            "DB2 dialect.",
            "Greenplum dialect.",
            "Demo dialect.",
            "Demo dialect.",
            "Impala dialect."
          ],
          "enum": [
            "SQL_TRANSLATION_SOURCE_DIALECT_UNSPECIFIED",
            "TERADATA",
            "REDSHIFT",
            "ORACLE",
            "HIVEQL",
            "SPARKSQL",
            "SNOWFLAKE",
            "NETEZZA",
            "AZURESYNAPSE",
            "VERTICA",
            "SQLSERVER",
            "PRESTO",
            "POSTGRESQL",
            "MYSQL",
            "BTEQ",
            "SQLITE",
            "DB2",
            "GREENPLUM",
            "LEGACY_SQL",
            "UNOPTIMIZED_BQ_SQL",
            "IMPALA"
          ]
        },
        "gcsPath": {
          "type": "string",
          "description": "Optional. The Cloud Storage path for a directory of config files applied during translation."
        },
        "query": {
          "type": "string",
          "description": "Required. The query to be translated."
        },
        "metadataStoreDataset": {
          "type": "string",
          "description": "Optional. Expects a valid BigQuery dataset ID that exists, e.g., project-123.metadata_store_123. If specified, translation will search and read the required schema information from a metadata store in this dataset instead of parsing a metadata.zip file."
        },
        "translationConfigId": {
          "description": "Optional. The id of the translation config to apply. Accepted id: batch translation job Id in the format of \"projects/xxxxxxx/locations/xx/workflows/xxxxxx\".",
          "type": "string"
        },
        "translationEngine": {
          "enum": [
            "TRANSLATION_ENGINE_UNSPECIFIED",
            "COMPILER",
            "AI",
            "COMPILER_AI_ENHANCED"
          ],
          "description": "Optional. The translation engine to use.",
          "enumDescriptions": [
            "The engine is unspecified.",
            "Compiler-based translation engine.",
            "AI-based translation engine.",
            "COMPILER with AI enhanced translation engine."
          ],
          "type": "string"
        }
      },
      "description": "Deprecated: Use the regular CreateMigrationWorkflow method instead. The 'bigquerymigration.translation.translate' permission is replaced by 'bigquerymigration.workflows.create', 'bigquerymigration.workflows.get', and 'bigquerymigration.workflows.list'. The request of translating a SQL query to GoogleSQL."
    },
    "GoogleCloudBigqueryMigrationV2alphaObjectNameMapping": {
      "description": "Represents a key-value pair of NameMappingKey to NameMappingValue to represent the mapping of SQL names from the input value to desired output.",
      "type": "object",
      "properties": {
        "source": {
          "description": "The name of the object in source that is being mapped.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaNameMappingKey"
        },
        "target": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaNameMappingValue",
          "description": "The desired target name of the object that is being mapped."
        }
      },
      "id": "GoogleCloudBigqueryMigrationV2alphaObjectNameMapping"
    },
    "GoogleRpcResourceInfo": {
      "id": "GoogleRpcResourceInfo",
      "type": "object",
      "description": "Describes the resource that is being accessed.",
      "properties": {
        "resourceName": {
          "description": "The name of the resource being accessed. For example, a shared calendar name: \"example.com_4fghdhgsrgh@group.calendar.google.com\", if the current error is google.rpc.Code.PERMISSION_DENIED.",
          "type": "string"
        },
        "description": {
          "type": "string",
          "description": "Describes what error is encountered when accessing this resource. For example, updating a cloud project may require the `writer` permission on the developer console project."
        },
        "owner": {
          "description": "The owner of the resource (optional). For example, \"user:\" or \"project:\".",
          "type": "string"
        },
        "resourceType": {
          "description": "A name for the type of resource being accessed, e.g. \"sql table\", \"cloud storage bucket\", \"file\", \"Google calendar\"; or the type URL of the resource: e.g. \"type.googleapis.com/google.pubsub.v1.Topic\".",
          "type": "string"
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaGcsReportLogMessage": {
      "id": "GoogleCloudBigqueryMigrationV2alphaGcsReportLogMessage",
      "properties": {
        "scriptContext": {
          "description": "The script context (obfuscated) in which the error occurred",
          "type": "string"
        },
        "sourceScriptColumn": {
          "type": "integer",
          "description": "Specifies the column from the source texts where the error occurred. (0 based, -1 for messages without column location) example: 6",
          "format": "int32"
        },
        "filename": {
          "description": "The file name in which the error occurred",
          "type": "string"
        },
        "category": {
          "description": "Category of the error/warning. Example: SyntaxError",
          "type": "string"
        },
        "severity": {
          "type": "string",
          "description": "Severity of the translation record."
        },
        "filePath": {
          "description": "The file path in which the error occurred",
          "type": "string"
        },
        "sourceScriptLine": {
          "type": "integer",
          "description": "Specifies the row from the source text where the error occurred (0 based, -1 for messages without line location). Example: 2",
          "format": "int32"
        },
        "objectName": {
          "description": "Name of the affected object in the log message.",
          "type": "string"
        },
        "action": {
          "type": "string",
          "description": "Category of the error/warning. Example: SyntaxError"
        },
        "message": {
          "description": "Detailed message of the record.",
          "type": "string"
        },
        "effect": {
          "description": "Effect of the error/warning. Example: COMPATIBILITY",
          "type": "string"
        }
      },
      "type": "object",
      "description": "A record in the aggregate CSV report for a migration workflow"
    },
    "GoogleApiDistributionExemplar": {
      "type": "object",
      "description": "Exemplars are example points that may be used to annotate aggregated distribution values. They are metadata that gives information about a particular value added to a Distribution bucket, such as a trace ID that was active when a value was added. They may contain further information, such as a example values and timestamps, origin, etc.",
      "properties": {
        "value": {
          "format": "double",
          "description": "Value of the exemplar point. This value determines to which bucket the exemplar belongs.",
          "type": "number"
        },
        "timestamp": {
          "type": "string",
          "description": "The observation (sampling) time of the above value.",
          "format": "google-datetime"
        },
        "attachments": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": {
              "type": "any",
              "description": "Properties of the object. Contains field @type with type URL."
            }
          },
          "description": "Contextual information about the example value. Examples are: Trace: type.googleapis.com/google.monitoring.v3.SpanContext Literal string: type.googleapis.com/google.protobuf.StringValue Labels dropped during aggregation: type.googleapis.com/google.monitoring.v3.DroppedLabels There may be only a single attachment of any given message type in a single exemplar, and this is enforced by the system."
        }
      },
      "id": "GoogleApiDistributionExemplar"
    },
    "GoogleCloudBigqueryMigrationV2alphaSourceEnvironment": {
      "description": "Represents the default source environment values for the translation.",
      "id": "GoogleCloudBigqueryMigrationV2alphaSourceEnvironment",
      "type": "object",
      "properties": {
        "metadataStoreDataset": {
          "description": "Optional. Expects a validQ BigQuery dataset ID that exists, e.g., project-123.metadata_store_123. If specified, translation will search and read the required schema information from a metadata store in this dataset. If metadata store doesn't exist, translation will parse the metadata file and upload the schema info to a temp table in the dataset to speed up future translation jobs.",
          "type": "string"
        },
        "defaultDatabase": {
          "type": "string",
          "description": "The default database name to fully qualify SQL objects when their database name is missing."
        },
        "metadataCaching": {
          "description": "Optional. Metadata caching settings. If specified, translation will cache the metadata. Otherwise, metadata will be parsed from the metadata file. The cache is stored on the service side. Hence, enabling this feature will store data from the provided metadata file on the service side for up to 7 days.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaMetadataCaching"
        },
        "schemaSearchPath": {
          "description": "The schema search path. When SQL objects are missing schema name, translation engine will search through this list to find the value.",
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaGreenplumDialect": {
      "id": "GoogleCloudBigqueryMigrationV2alphaGreenplumDialect",
      "description": "The dialect definition for Greenplum.",
      "type": "object",
      "properties": {}
    },
    "GoogleApiDistribution": {
      "type": "object",
      "properties": {
        "count": {
          "description": "The number of values in the population. Must be non-negative. This value must equal the sum of the values in `bucket_counts` if a histogram is provided.",
          "format": "int64",
          "type": "string"
        },
        "range": {
          "$ref": "GoogleApiDistributionRange",
          "description": "If specified, contains the range of the population values. The field must not be present if the `count` is zero."
        },
        "exemplars": {
          "items": {
            "$ref": "GoogleApiDistributionExemplar"
          },
          "type": "array",
          "description": "Must be in increasing order of `value` field."
        },
        "bucketCounts": {
          "items": {
            "type": "string",
            "format": "int64"
          },
          "type": "array",
          "description": "The number of values in each bucket of the histogram, as described in `bucket_options`. If the distribution does not have a histogram, then omit this field. If there is a histogram, then the sum of the values in `bucket_counts` must equal the value in the `count` field of the distribution. If present, `bucket_counts` should contain N values, where N is the number of buckets specified in `bucket_options`. If you supply fewer than N values, the remaining values are assumed to be 0. The order of the values in `bucket_counts` follows the bucket numbering schemes described for the three bucket types. The first value must be the count for the underflow bucket (number 0). The next N-2 values are the counts for the finite buckets (number 1 through N-2). The N'th value in `bucket_counts` is the count for the overflow bucket (number N-1)."
        },
        "bucketOptions": {
          "description": "Defines the histogram bucket boundaries. If the distribution does not contain a histogram, then omit this field.",
          "$ref": "GoogleApiDistributionBucketOptions"
        },
        "mean": {
          "format": "double",
          "type": "number",
          "description": "The arithmetic mean of the values in the population. If `count` is zero then this field must be zero."
        },
        "sumOfSquaredDeviation": {
          "type": "number",
          "format": "double",
          "description": "The sum of squared deviations from the mean of the values in the population. For values x_i this is: Sum[i=1..n]((x_i - mean)^2) Knuth, \"The Art of Computer Programming\", Vol. 2, page 232, 3rd edition describes Welford's method for accumulating this sum in one pass. If `count` is zero then this field must be zero."
        }
      },
      "description": "`Distribution` contains summary statistics for a population of values. It optionally contains a histogram representing the distribution of those values across a set of buckets. The summary statistics are the count, mean, sum of the squared deviation from the mean, the minimum, and the maximum of the set of population of values. The histogram is based on a sequence of buckets and gives a count of values that fall into each bucket. The boundaries of the buckets are given either explicitly or by formulas for buckets of fixed or exponentially increasing widths. Although it is not forbidden, it is generally a bad idea to include non-finite values (infinities or NaNs) in the population of values, as this will render the `mean` and `sum_of_squared_deviation` fields meaningless.",
      "id": "GoogleApiDistribution"
    },
    "GoogleCloudBigqueryMigrationTasksTranslationV2alphaBteqOptions": {
      "description": "BTEQ translation task related settings.",
      "properties": {
        "projectDataset": {
          "$ref": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaDatasetReference",
          "description": "Specifies the project and dataset in BigQuery that will be used for external table creation during the translation."
        },
        "defaultPathUri": {
          "description": "The Cloud Storage location to be used as the default path for files that are not otherwise specified in the file replacement map.",
          "type": "string"
        },
        "fileReplacementMap": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Maps the local paths that are used in BTEQ scripts (the keys) to the paths in Cloud Storage that should be used in their stead in the translation (the value)."
        }
      },
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaBteqOptions"
    },
    "GoogleCloudBigqueryMigrationTasksTranslationV2alphaTeradataOptions": {
      "type": "object",
      "properties": {},
      "description": "Teradata SQL specific translation task related settings.",
      "id": "GoogleCloudBigqueryMigrationTasksTranslationV2alphaTeradataOptions"
    },
    "GoogleCloudBigqueryMigrationV2alphaSQLServerDialect": {
      "type": "object",
      "description": "The dialect definition for SQL Server.",
      "id": "GoogleCloudBigqueryMigrationV2alphaSQLServerDialect",
      "properties": {}
    },
    "GoogleCloudBigqueryMigrationV2alphaTranslationSuggestion": {
      "description": "LLM generated suggestion on fixing translation errors",
      "id": "GoogleCloudBigqueryMigrationV2alphaTranslationSuggestion",
      "type": "object",
      "properties": {
        "scriptLocation": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaScriptLocation",
          "description": "Location where the suggestion should be applied in the output script. If unset, the suggestion should be applied to the whole script."
        },
        "suggestionId": {
          "description": "Suggestion ID.",
          "type": "string"
        },
        "suggestion": {
          "description": "Translation suggestion.",
          "type": "string"
        },
        "validationResult": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaSqlValidationResult",
          "description": "Validation result of the suggestion."
        }
      }
    },
    "GoogleCloudBigqueryMigrationTasksAssessmentV2alphaAssessmentTaskDetails": {
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationTasksAssessmentV2alphaAssessmentTaskDetails",
      "description": "DEPRECATED! Use the AssessmentTaskDetails defined in com.google.cloud.bigquery.migration.v2alpha.AssessmentTaskDetails instead. Assessment task details.",
      "properties": {
        "inputPath": {
          "description": "Required. The Cloud Storage path for assessment input files.",
          "type": "string"
        },
        "querylogsPath": {
          "description": "Optional. An optional Cloud Storage path to write the query logs (which is then used as an input path on the translation task)",
          "type": "string"
        },
        "outputDataset": {
          "description": "Required. The BigQuery dataset for output.",
          "type": "string"
        },
        "dataSource": {
          "type": "string",
          "description": "Required. The data source or data warehouse type (eg: TERADATA/REDSHIFT) from which the input data is extracted."
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaSqlValidationResult": {
      "description": "Validation result of the translated SQL.",
      "id": "GoogleCloudBigqueryMigrationV2alphaSqlValidationResult",
      "properties": {
        "message": {
          "type": "string",
          "description": "Validation message"
        },
        "state": {
          "enum": [
            "STATE_UNSPECIFIED",
            "SUCCEEDED",
            "FAILURE_SYNTAX_ERROR"
          ],
          "description": "Output only. Validation state",
          "type": "string",
          "readOnly": true,
          "enumDescriptions": [
            "State not specified.",
            "Succeeded.",
            "Failure due to syntax error."
          ]
        }
      },
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaTranslationReportRecord": {
      "id": "GoogleCloudBigqueryMigrationV2alphaTranslationReportRecord",
      "type": "object",
      "properties": {
        "message": {
          "type": "string",
          "description": "Detailed message of the record."
        },
        "scriptLine": {
          "type": "integer",
          "description": "Specifies the row from the source text where the error occurred (0 based). Example: 2",
          "format": "int32"
        },
        "scriptColumn": {
          "format": "int32",
          "description": "Specifies the column from the source texts where the error occurred. (0 based) example: 6",
          "type": "integer"
        },
        "severity": {
          "enum": [
            "SEVERITY_UNSPECIFIED",
            "INFO",
            "WARNING",
            "ERROR"
          ],
          "enumDescriptions": [
            "SeverityType not specified.",
            "INFO type.",
            "WARNING type. The translated query may still provide useful information if all the report records are WARNING.",
            "ERROR type. Translation failed."
          ],
          "description": "Severity of the translation record.",
          "type": "string"
        },
        "category": {
          "description": "Category of the error/warning. Example: SyntaxError",
          "type": "string"
        }
      },
      "description": "Details about a record."
    },
    "GoogleCloudBigqueryMigrationV2alphaDialectDetectionConfig": {
      "id": "GoogleCloudBigqueryMigrationV2alphaDialectDetectionConfig",
      "type": "object",
      "description": "Configuration for detecting the dialect of the input files.",
      "properties": {
        "detectionMode": {
          "description": "Optional. The dialect detection mode. Defaults to `AUTO`.",
          "type": "string",
          "enum": [
            "DETECTION_MODE_UNSPECIFIED",
            "AUTO",
            "OFF"
          ],
          "enumDescriptions": [
            "Unspecified. Treated as `AUTO`.",
            "Scans the input files to refine the source dialect within its dialect family (for example, distinguishing Teradata SQL, BTEQ, and TPT scripts when the source dialect is Teradata). If the dialect cannot be determined with confidence, the source dialect is used.",
            "Do not scan the input files. Every input file is translated as the source dialect."
          ]
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaDatasetReference": {
      "properties": {
        "projectIdAlternative": {
          "items": {
            "type": "string"
          },
          "description": "The alternative field that will be used when the service is not able to translate the received data to the project_id field.",
          "type": "array"
        },
        "datasetIdAlternative": {
          "items": {
            "type": "string"
          },
          "description": "The alternative field that will be used when the service is not able to translate the received data to the dataset_id field.",
          "type": "array"
        },
        "datasetId": {
          "description": "A unique ID for this dataset, without the project name. The ID must contain only letters (a-z, A-Z), numbers (0-9), or underscores (_). The maximum length is 1,024 characters.",
          "type": "string"
        },
        "projectId": {
          "description": "The ID of the project containing this dataset.",
          "type": "string"
        }
      },
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaDatasetReference",
      "description": "Reference to a BigQuery dataset."
    },
    "GoogleCloudBigqueryMigrationV2alphaStartMigrationWorkflowRequest": {
      "id": "GoogleCloudBigqueryMigrationV2alphaStartMigrationWorkflowRequest",
      "description": "A request to start a previously created migration workflow.",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudBigqueryMigrationV2alphaMigrationTask": {
      "description": "A single task for a migration which has details about the configuration of the task.",
      "id": "GoogleCloudBigqueryMigrationV2alphaMigrationTask",
      "type": "object",
      "properties": {
        "resourceErrorCount": {
          "type": "integer",
          "format": "int32",
          "readOnly": true,
          "description": "Output only. The number or resources with errors. Note: This is not the total number of errors as each resource can have more than one error. This is used to indicate truncation by having a `resource_error_count` that is higher than the size of `resource_error_details`."
        },
        "assessmentTaskDetails": {
          "description": "Task configuration for Assessment.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaAssessmentTaskDetails"
        },
        "id": {
          "type": "string",
          "description": "Output only. Immutable. The unique identifier for the migration task. The ID is server-generated.",
          "readOnly": true
        },
        "translationConfigDetails": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaTranslationConfigDetails",
          "description": "Task configuration for CW Batch/Offline SQL Translation."
        },
        "lastUpdateTime": {
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. Time when the task was last updated.",
          "type": "string"
        },
        "type": {
          "description": "The type of the task. This must be one of the supported task types. Assessment: - `Assessment_Hive` - Assessment for Hive. - `Assessment_Redshift` - Assessment for Redshift. - `Assessment_Snowflake` - Assessment for Snowflake. - `Assessment_Teradata_v2` - Assessment for Teradata. - `Assessment_Oracle` - Assessment for Oracle. - `Assessment_Hadoop` - Assessment for Hadoop. - `Assessment_Informatica` - Assessment for Informatica. Translation: See [Supported Task Types](https://docs.cloud.google.com/bigquery/docs/api-sql-translator#supported_task_types) for a list of supported task types.",
          "type": "string"
        },
        "taskResult": {
          "readOnly": true,
          "description": "Output only. The result of the task.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaMigrationTaskResult"
        },
        "translationDetails": {
          "description": "Task details for unified SQL Translation.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaTranslationDetails"
        },
        "state": {
          "readOnly": true,
          "description": "Output only. The current state of the task.",
          "enumDescriptions": [
            "The state is unspecified.",
            "The task is waiting for orchestration.",
            "The task is assigned to an orchestrator.",
            "The task is running, i.e. its subtasks are ready for execution.",
            "The task is paused. Assigned subtasks can continue, but no new subtasks will be scheduled.",
            "The task finished successfully.",
            "The task finished unsuccessfully."
          ],
          "enum": [
            "STATE_UNSPECIFIED",
            "PENDING",
            "ORCHESTRATING",
            "RUNNING",
            "PAUSED",
            "SUCCEEDED",
            "FAILED"
          ],
          "type": "string"
        },
        "translationTaskDetails": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaTranslationTaskDetails",
          "description": "Task configuration for Batch SQL Translation."
        },
        "resourceErrorDetails": {
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaResourceErrorDetail"
          },
          "description": "Output only. Provides details to errors and issues encountered while processing the task. Presence of error details does not mean that the task failed.",
          "type": "array",
          "readOnly": true
        },
        "details": {
          "description": "DEPRECATED! Use one of the task_details below. The details of the task. The type URL must be one of the supported task details messages and correspond to the Task's type.",
          "additionalProperties": {
            "type": "any",
            "description": "Properties of the object. Contains field @type with type URL."
          },
          "type": "object"
        },
        "totalResourceErrorCount": {
          "format": "int32",
          "description": "Output only. Count of all the resource errors in this task and its subtasks.",
          "readOnly": true,
          "type": "integer"
        },
        "orchestrationResult": {
          "description": "Output only. Deprecated: Use the task_result field below instead. Additional information about the orchestration.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaMigrationTaskOrchestrationResult",
          "readOnly": true,
          "deprecated": true
        },
        "processingError": {
          "readOnly": true,
          "$ref": "GoogleRpcErrorInfo",
          "description": "Output only. An explanation that may be populated when the task is in FAILED state."
        },
        "totalProcessingErrorCount": {
          "readOnly": true,
          "description": "Output only. Count of all the processing errors in this task and its subtasks.",
          "type": "integer",
          "format": "int32"
        },
        "metrics": {
          "type": "array",
          "readOnly": true,
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaTimeSeries"
          },
          "description": "Output only. The metrics for the task."
        },
        "createTime": {
          "type": "string",
          "readOnly": true,
          "format": "google-datetime",
          "description": "Output only. Time when the task was created."
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaAssessmentOrchestrationResultDetails": {
      "type": "object",
      "description": "Details for an assessment task orchestration result.",
      "id": "GoogleCloudBigqueryMigrationV2alphaAssessmentOrchestrationResultDetails",
      "properties": {
        "reportUri": {
          "description": "Optional. The URI of the Data Studio report.",
          "type": "string"
        },
        "outputTablesSchemaVersion": {
          "type": "string",
          "description": "Optional. The version used for the output table schemas."
        },
        "additionalReportUris": {
          "type": "object",
          "additionalProperties": {
            "type": "string"
          },
          "description": "Optional. Mapping with additional report URIs. This gives a mapping of report names to their URIs. The possible values for the keys are documented in the user guide."
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaTranslationFileMapping": {
      "id": "GoogleCloudBigqueryMigrationV2alphaTranslationFileMapping",
      "description": "Mapping between an input and output file to be translated in a subtask.",
      "properties": {
        "outputPath": {
          "description": "The Cloud Storage path to write back the corresponding input file to.",
          "type": "string"
        },
        "inputPath": {
          "description": "The Cloud Storage path for a file to translation in a subtask.",
          "type": "string"
        }
      },
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaSourceTargetMapping": {
      "description": "Represents one mapping from a source SQL to a target SQL.",
      "id": "GoogleCloudBigqueryMigrationV2alphaSourceTargetMapping",
      "properties": {
        "sourceSpec": {
          "$ref": "GoogleCloudBigqueryMigrationV2alphaSourceSpec",
          "description": "The source SQL or the path to it."
        },
        "targetSpec": {
          "description": "The target SQL or the path for it.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaTargetSpec"
        }
      },
      "type": "object"
    },
    "GoogleCloudBigqueryMigrationV2alphaBigQueryDialect": {
      "type": "object",
      "properties": {},
      "id": "GoogleCloudBigqueryMigrationV2alphaBigQueryDialect",
      "description": "The dialect definition for BigQuery."
    },
    "GoogleCloudBigqueryMigrationV2alphaTeradataOptions": {
      "id": "GoogleCloudBigqueryMigrationV2alphaTeradataOptions",
      "type": "object",
      "description": "Teradata SQL specific translation task related settings.",
      "properties": {}
    },
    "GoogleCloudBigqueryMigrationV2alphaSnowflakeDialect": {
      "type": "object",
      "properties": {},
      "description": "The dialect definition for Snowflake.",
      "id": "GoogleCloudBigqueryMigrationV2alphaSnowflakeDialect"
    },
    "GoogleCloudBigqueryMigrationV2alphaSourceSpec": {
      "description": "Represents one path to the location that holds source data.",
      "id": "GoogleCloudBigqueryMigrationV2alphaSourceSpec",
      "type": "object",
      "properties": {
        "baseUri": {
          "type": "string",
          "description": "The base URI for all files to be read in as sources for translation."
        },
        "literal": {
          "description": "Source literal.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaLiteral"
        },
        "gcsFilePath": {
          "description": "The path to a single source file in Cloud Storage.",
          "type": "string"
        },
        "encoding": {
          "description": "Optional. The optional field to specify the encoding of the sql bytes.",
          "type": "string"
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaSqlTranslationErrorDetail": {
      "id": "GoogleCloudBigqueryMigrationV2alphaSqlTranslationErrorDetail",
      "description": "Structured error object capturing the error message and the location in the source text where the error occurs. Deprecated! Use TranslationReportRecord to define error/warning messages.",
      "type": "object",
      "properties": {
        "row": {
          "description": "Specifies the row from the source text where the error occurred.",
          "type": "string",
          "format": "int64"
        },
        "message": {
          "type": "string",
          "description": "A human-readable description of the error."
        },
        "column": {
          "description": "Specifie the column from the source texts where the error occurred.",
          "format": "int64",
          "type": "string"
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaMigrationTaskOrchestrationResult": {
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaMigrationTaskOrchestrationResult",
      "description": "Additional information from the orchestrator when it is done with the task orchestration.",
      "properties": {
        "assessmentDetails": {
          "description": "Details specific to assessment task types.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaAssessmentOrchestrationResultDetails"
        },
        "translationTaskResult": {
          "description": "Details specific to translation task types.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaTranslationTaskResult"
        },
        "taskOutputs": {
          "additionalProperties": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaTaskOutput"
          },
          "description": "The map of task output types to the task outputs, e.g. \"LINEAGE\".",
          "type": "object"
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaRedshiftDialect": {
      "id": "GoogleCloudBigqueryMigrationV2alphaRedshiftDialect",
      "type": "object",
      "description": "The dialect definition for Redshift.",
      "properties": {}
    },
    "GoogleCloudBigqueryMigrationV2alphaNetezzaDialect": {
      "description": "The dialect definition for Netezza.",
      "id": "GoogleCloudBigqueryMigrationV2alphaNetezzaDialect",
      "type": "object",
      "properties": {}
    },
    "GoogleCloudBigqueryMigrationV2alphaTimeSeries": {
      "properties": {
        "metricKind": {
          "enum": [
            "METRIC_KIND_UNSPECIFIED",
            "GAUGE",
            "DELTA",
            "CUMULATIVE"
          ],
          "description": "Optional. The metric kind of the time series. If present, it must be the same as the metric kind of the associated metric. If the associated metric's descriptor must be auto-created, then this field specifies the metric kind of the new descriptor and must be either `GAUGE` (the default) or `CUMULATIVE`.",
          "enumDescriptions": [
            "Do not use this default value.",
            "An instantaneous measurement of a value.",
            "The change in a value during a time interval.",
            "A value accumulated over a time interval. Cumulative measurements in a time series should have the same start time and increasing end times, until an event resets the cumulative value to zero and sets a new start time for the following points."
          ],
          "type": "string"
        },
        "metric": {
          "type": "string",
          "description": "Required. The name of the metric. If the metric is not known by the service yet, it will be auto-created."
        },
        "points": {
          "description": "Required. The data points of this time series. When listing time series, points are returned in reverse time order. When creating a time series, this field must contain exactly one point and the point's type must be the same as the value type of the associated metric. If the associated metric's descriptor must be auto-created, then the value type of the descriptor is determined by the point's type, which must be `BOOL`, `INT64`, `DOUBLE`, or `DISTRIBUTION`.",
          "type": "array",
          "items": {
            "$ref": "GoogleCloudBigqueryMigrationV2alphaPoint"
          }
        },
        "valueType": {
          "enum": [
            "VALUE_TYPE_UNSPECIFIED",
            "BOOL",
            "INT64",
            "DOUBLE",
            "STRING",
            "DISTRIBUTION",
            "MONEY"
          ],
          "description": "Required. The value type of the time series.",
          "enumDescriptions": [
            "Do not use this default value.",
            "The value is a boolean. This value type can be used only if the metric kind is `GAUGE`.",
            "The value is a signed 64-bit integer.",
            "The value is a double precision floating point number.",
            "The value is a text string. This value type can be used only if the metric kind is `GAUGE`.",
            "The value is a `Distribution`.",
            "The value is money."
          ],
          "type": "string"
        }
      },
      "id": "GoogleCloudBigqueryMigrationV2alphaTimeSeries",
      "type": "object",
      "description": "The metrics object for a SubTask."
    },
    "GoogleCloudBigqueryMigrationV2alphaSourceEnv": {
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaSourceEnv",
      "description": "Represents the default source environment values for the translation.",
      "properties": {
        "schemaSearchPath": {
          "description": "The schema search path. When SQL objects are missing schema name, translation engine will search through this list to find the value.",
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "metadataStoreDataset": {
          "type": "string",
          "description": "Optional. Expects a valid BigQuery dataset ID that exists, e.g., project-123.metadata_store_123. If specified, translation will search and read the required schema information from a metadata store in this dataset. If metadata store doesn't exist, translation will parse the metadata file and upload the schema info to a temp table in the dataset to speed up future translation jobs."
        },
        "defaultDatabase": {
          "type": "string",
          "description": "The default database name to fully qualify SQL objects when their database name is missing."
        }
      }
    },
    "GoogleCloudBigqueryMigrationV2alphaTargetSpec": {
      "properties": {
        "relativePath": {
          "type": "string",
          "description": "The relative path for the target data. Given source file `base_uri/input/sql`, the output would be `target_base_uri/sql/relative_path/input.sql`."
        }
      },
      "description": "Represents one path to the location that holds target data.",
      "type": "object",
      "id": "GoogleCloudBigqueryMigrationV2alphaTargetSpec"
    },
    "GoogleCloudBigqueryMigrationV2alphaSqlTranslationError": {
      "id": "GoogleCloudBigqueryMigrationV2alphaSqlTranslationError",
      "description": "The detailed error object if the SQL translation job fails. Deprecated! Use TranslationReportRecord to define error messages.",
      "deprecated": true,
      "type": "object",
      "properties": {
        "errorType": {
          "enumDescriptions": [
            "SqlTranslationErrorType not specified.",
            "Failed to parse the input text as a SQL query.",
            "Found unsupported functions in the input SQL query that are not able to translate."
          ],
          "description": "The type of SQL translation error.",
          "type": "string",
          "enum": [
            "SQL_TRANSLATION_ERROR_TYPE_UNSPECIFIED",
            "SQL_PARSE_ERROR",
            "UNSUPPORTED_SQL_FUNCTION"
          ]
        },
        "errorDetail": {
          "description": "Specifies the details of the error, including the error message and location from the source text.",
          "$ref": "GoogleCloudBigqueryMigrationV2alphaSqlTranslationErrorDetail"
        }
      }
    }
  },
  "parameters": {
    "callback": {
      "type": "string",
      "location": "query",
      "description": "JSONP"
    },
    "quotaUser": {
      "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
      "location": "query",
      "type": "string"
    },
    "fields": {
      "description": "Selector specifying which fields to include in a partial response.",
      "type": "string",
      "location": "query"
    },
    "oauth_token": {
      "description": "OAuth 2.0 token for the current user.",
      "type": "string",
      "location": "query"
    },
    "key": {
      "location": "query",
      "type": "string",
      "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token."
    },
    "alt": {
      "enum": [
        "json",
        "media",
        "proto"
      ],
      "location": "query",
      "default": "json",
      "type": "string",
      "enumDescriptions": [
        "Responses with Content-Type of application/json",
        "Media download with context-dependent Content-Type",
        "Responses with Content-Type of application/x-protobuf"
      ],
      "description": "Data format for response."
    },
    "prettyPrint": {
      "location": "query",
      "description": "Returns response with indentations and line breaks.",
      "type": "boolean",
      "default": "true"
    },
    "$.xgafv": {
      "enum": [
        "1",
        "2"
      ],
      "location": "query",
      "type": "string",
      "description": "V1 error format.",
      "enumDescriptions": [
        "v1 error format",
        "v2 error format"
      ]
    },
    "access_token": {
      "description": "OAuth access token.",
      "location": "query",
      "type": "string"
    },
    "upload_protocol": {
      "type": "string",
      "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
      "location": "query"
    },
    "uploadType": {
      "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
      "type": "string",
      "location": "query"
    }
  },
  "description": "The migration service, exposing apis for migration jobs operations, and agent management.",
  "version": "v2alpha",
  "batchPath": "batch",
  "protocol": "rest",
  "resources": {
    "projects": {
      "resources": {
        "locations": {
          "methods": {
            "translateQuery": {
              "id": "bigquerymigration.projects.locations.translateQuery",
              "httpMethod": "POST",
              "scopes": [
                "https://www.googleapis.com/auth/cloud-platform"
              ],
              "request": {
                "$ref": "GoogleCloudBigqueryMigrationV2alphaTranslateQueryRequest"
              },
              "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}:translateQuery",
              "response": {
                "$ref": "GoogleCloudBigqueryMigrationV2alphaTranslateQueryResponse"
              },
              "path": "v2alpha/{+parent}:translateQuery",
              "description": "Deprecated: Use the regular CreateMigrationWorkflow method instead. The 'bigquerymigration.translation.translate' permission is replaced by 'bigquerymigration.workflows.create', 'bigquerymigration.workflows.get', and 'bigquerymigration.workflows.list'. Translates input queries from source dialects to GoogleSQL.",
              "deprecated": true,
              "parameters": {
                "parent": {
                  "required": true,
                  "type": "string",
                  "location": "path",
                  "pattern": "^projects/[^/]+/locations/[^/]+$",
                  "description": "Required. The name of the project to which this translation request belongs. Example: `projects/foo/locations/bar`"
                }
              },
              "parameterOrder": [
                "parent"
              ]
            }
          },
          "resources": {
            "workflows": {
              "resources": {
                "subtasks": {
                  "methods": {
                    "list": {
                      "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/subtasks",
                      "response": {
                        "$ref": "GoogleCloudBigqueryMigrationV2alphaListMigrationSubtasksResponse"
                      },
                      "parameters": {
                        "filter": {
                          "type": "string",
                          "description": "Optional. The filter to apply. This can be used to get the subtasks of a specific tasks in a workflow, e.g. `migration_task = \"ab012\"` where `\"ab012\"` is the task ID (not the name in the named map).",
                          "location": "query"
                        },
                        "pageToken": {
                          "location": "query",
                          "description": "Optional. A page token, received from previous `ListMigrationSubtasks` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMigrationSubtasks` must match the call that provided the page token.",
                          "type": "string"
                        },
                        "readMask": {
                          "location": "query",
                          "type": "string",
                          "description": "Optional. The list of fields to be retrieved.",
                          "format": "google-fieldmask"
                        },
                        "pageSize": {
                          "location": "query",
                          "format": "int32",
                          "description": "Optional. The maximum number of migration tasks to return. The service may return fewer than this number.",
                          "type": "integer"
                        },
                        "parent": {
                          "required": true,
                          "description": "Required. The migration task of the subtasks to list. Example: `projects/123/locations/us/workflows/1234`",
                          "pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+$",
                          "type": "string",
                          "location": "path"
                        }
                      },
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "bigquerymigration.projects.locations.workflows.subtasks.list",
                      "parameterOrder": [
                        "parent"
                      ],
                      "path": "v2alpha/{+parent}/subtasks",
                      "description": "Lists previously created migration subtasks.",
                      "httpMethod": "GET"
                    },
                    "get": {
                      "scopes": [
                        "https://www.googleapis.com/auth/cloud-platform"
                      ],
                      "id": "bigquerymigration.projects.locations.workflows.subtasks.get",
                      "httpMethod": "GET",
                      "description": "Gets a previously created migration subtask.",
                      "path": "v2alpha/{+name}",
                      "parameters": {
                        "readMask": {
                          "format": "google-fieldmask",
                          "location": "query",
                          "description": "Optional. The list of fields to be retrieved.",
                          "type": "string"
                        },
                        "name": {
                          "pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+/subtasks/[^/]+$",
                          "required": true,
                          "type": "string",
                          "location": "path",
                          "description": "Required. The unique identifier for the migration subtask. Example: `projects/123/locations/us/workflows/1234/subtasks/543`"
                        }
                      },
                      "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}/subtasks/{subtasksId}",
                      "response": {
                        "$ref": "GoogleCloudBigqueryMigrationV2alphaMigrationSubtask"
                      },
                      "parameterOrder": [
                        "name"
                      ]
                    }
                  }
                }
              },
              "methods": {
                "list": {
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "id": "bigquerymigration.projects.locations.workflows.list",
                  "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/workflows",
                  "response": {
                    "$ref": "GoogleCloudBigqueryMigrationV2alphaListMigrationWorkflowsResponse"
                  },
                  "path": "v2alpha/{+parent}/workflows",
                  "parameters": {
                    "pageSize": {
                      "location": "query",
                      "format": "int32",
                      "description": "The maximum number of migration workflows to return. The service may return fewer than this number.",
                      "type": "integer"
                    },
                    "parent": {
                      "required": true,
                      "description": "Required. The project and location of the migration workflows to list. Example: `projects/123/locations/us`",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+$"
                    },
                    "readMask": {
                      "location": "query",
                      "type": "string",
                      "format": "google-fieldmask",
                      "description": "The list of fields to be retrieved."
                    },
                    "pageToken": {
                      "location": "query",
                      "type": "string",
                      "description": "A page token, received from previous `ListMigrationWorkflows` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListMigrationWorkflows` must match the call that provided the page token."
                    },
                    "filter": {
                      "location": "query",
                      "type": "string",
                      "description": "Optional. An optional AIP-160 filter to apply. The following attributes are supported: `display_name`, `state`, `task.name`, and `task.type`."
                    },
                    "orderBy": {
                      "type": "string",
                      "location": "query",
                      "description": "Optional. An optional AIP-132 order by field. The following attributes are supported: `display_name`, `state`, `task.name`, and `task.type`."
                    }
                  },
                  "parameterOrder": [
                    "parent"
                  ],
                  "description": "Lists previously created migration workflow.",
                  "httpMethod": "GET"
                },
                "start": {
                  "description": "Starts a previously created migration workflow. I.e., the state transitions from DRAFT to RUNNING. This is a no-op if the state is already RUNNING. An error will be signaled if the state is anything other than DRAFT or RUNNING.",
                  "httpMethod": "POST",
                  "request": {
                    "$ref": "GoogleCloudBigqueryMigrationV2alphaStartMigrationWorkflowRequest"
                  },
                  "id": "bigquerymigration.projects.locations.workflows.start",
                  "path": "v2alpha/{+name}:start",
                  "parameters": {
                    "name": {
                      "description": "Required. The unique identifier for the migration workflow. Example: `projects/123/locations/us/workflows/1234`",
                      "type": "string",
                      "location": "path",
                      "pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+$",
                      "required": true
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}:start",
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                },
                "delete": {
                  "path": "v2alpha/{+name}",
                  "parameters": {
                    "name": {
                      "required": true,
                      "type": "string",
                      "pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+$",
                      "location": "path",
                      "description": "Required. The unique identifier for the migration workflow. Example: `projects/123/locations/us/workflows/1234`"
                    }
                  },
                  "parameterOrder": [
                    "name"
                  ],
                  "id": "bigquerymigration.projects.locations.workflows.delete",
                  "description": "Deletes a migration workflow by name.",
                  "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}",
                  "response": {
                    "$ref": "GoogleProtobufEmpty"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/cloud-platform"
                  ],
                  "httpMethod": "DELETE"
                },
                "create": {
                  "httpMethod": "POST",
                  "path": "v2alpha/{+parent}/workflows",
                  "parameterOrder": [
                    "parent"
                  ],
                  "request": {
                    "$ref": "GoogleCloudBigqueryMigrationV2alphaMigrationWorkflow"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquerymigration",
                    "https://www.googleapis.com/auth/cloud-platform",
                    "https://www.googleapis.com/auth/devstorage.read_only"
                  ],
                  "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/workflows",
                  "response": {
                    "$ref": "GoogleCloudBigqueryMigrationV2alphaMigrationWorkflow"
                  },
                  "description": "Creates a migration workflow.",
                  "parameters": {
                    "parent": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+$",
                      "location": "path",
                      "type": "string",
                      "description": "Required. The name of the project to which this migration workflow belongs. Example: `projects/foo/locations/bar`"
                    }
                  },
                  "id": "bigquerymigration.projects.locations.workflows.create"
                },
                "get": {
                  "path": "v2alpha/{+name}",
                  "id": "bigquerymigration.projects.locations.workflows.get",
                  "parameterOrder": [
                    "name"
                  ],
                  "description": "Gets a previously created migration workflow.",
                  "parameters": {
                    "name": {
                      "required": true,
                      "pattern": "^projects/[^/]+/locations/[^/]+/workflows/[^/]+$",
                      "type": "string",
                      "location": "path",
                      "description": "Required. The unique identifier for the migration workflow. Example: `projects/123/locations/us/workflows/1234`"
                    },
                    "readMask": {
                      "format": "google-fieldmask",
                      "type": "string",
                      "description": "The list of fields to be retrieved.",
                      "location": "query"
                    }
                  },
                  "httpMethod": "GET",
                  "flatPath": "v2alpha/projects/{projectsId}/locations/{locationsId}/workflows/{workflowsId}",
                  "response": {
                    "$ref": "GoogleCloudBigqueryMigrationV2alphaMigrationWorkflow"
                  },
                  "scopes": [
                    "https://www.googleapis.com/auth/bigquerymigration",
                    "https://www.googleapis.com/auth/bigquerymigration.readonly",
                    "https://www.googleapis.com/auth/cloud-platform"
                  ]
                }
              }
            }
          }
        }
      }
    }
  },
  "id": "bigquerymigration:v2alpha",
  "fullyEncodeReservedExpansion": true,
  "ownerDomain": "google.com",
  "baseUrl": "https://bigquerymigration.googleapis.com/",
  "revision": "20261012",
  "documentationLink": "https://cloud.google.com/solutions/migration/dw2bq/dw-bq-migration-overview",
  "auth": {
    "oauth2": {
      "scopes": {
        "https://www.googleapis.com/auth/devstorage.read_only": {
          "description": "View your data in Google Cloud Storage"
        },
        "https://www.googleapis.com/auth/bigquerymigration": {
          "description": "See, edit, configure, and delete your Google Cloud BigQuery Migration data and see the email address for your Google Account"
        },
        "https://www.googleapis.com/auth/bigquerymigration.readonly": {
          "description": "See your Google Cloud BigQuery Migration data and the email address of your Google Account"
        },
        "https://www.googleapis.com/auth/cloud-platform": {
          "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
        }
      }
    }
  },
  "servicePath": "",
  "mtlsRootUrl": "https://bigquerymigration.mtls.googleapis.com/",
  "endpoints": [
    {
      "endpointUrl": "https://bigquerymigration.asia-northeast1.rep.googleapis.com/",
      "location": "asia-northeast1",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://bigquerymigration.asia-south1.rep.googleapis.com/",
      "location": "asia-south1",
      "description": "Regional Endpoint"
    },
    {
      "location": "asia-south2",
      "endpointUrl": "https://bigquerymigration.asia-south2.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://bigquerymigration.asia-southeast1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "asia-southeast1"
    },
    {
      "description": "Regional Endpoint",
      "location": "australia-southeast1",
      "endpointUrl": "https://bigquerymigration.australia-southeast1.rep.googleapis.com/"
    },
    {
      "location": "europe-west1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://bigquerymigration.europe-west1.rep.googleapis.com/"
    },
    {
      "location": "europe-west2",
      "description": "Regional Endpoint",
      "endpointUrl": "https://bigquerymigration.europe-west2.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "europe-west3",
      "endpointUrl": "https://bigquerymigration.europe-west3.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://bigquerymigration.europe-west4.rep.googleapis.com/",
      "location": "europe-west4",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://bigquerymigration.europe-west6.rep.googleapis.com/",
      "location": "europe-west6",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://bigquerymigration.europe-west8.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-west8"
    },
    {
      "endpointUrl": "https://bigquerymigration.europe-west9.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "europe-west9"
    },
    {
      "description": "Regional Endpoint",
      "location": "me-central2",
      "endpointUrl": "https://bigquerymigration.me-central2.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "northamerica-northeast1",
      "endpointUrl": "https://bigquerymigration.northamerica-northeast1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "northamerica-northeast2",
      "endpointUrl": "https://bigquerymigration.northamerica-northeast2.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://bigquerymigration.southamerica-east1.rep.googleapis.com/",
      "location": "southamerica-east1",
      "description": "Regional Endpoint"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-central1",
      "endpointUrl": "https://bigquerymigration.us-central1.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "endpointUrl": "https://bigquerymigration.us-central2.rep.googleapis.com/",
      "location": "us-central2"
    },
    {
      "location": "us-east1",
      "description": "Regional Endpoint",
      "endpointUrl": "https://bigquerymigration.us-east1.rep.googleapis.com/"
    },
    {
      "location": "us-east4",
      "description": "Regional Endpoint",
      "endpointUrl": "https://bigquerymigration.us-east4.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-east5",
      "endpointUrl": "https://bigquerymigration.us-east5.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://bigquerymigration.us-east7.rep.googleapis.com/",
      "location": "us-east7",
      "description": "Regional Endpoint"
    },
    {
      "endpointUrl": "https://bigquerymigration.us-south1.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-south1"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-west1",
      "endpointUrl": "https://bigquerymigration.us-west1.rep.googleapis.com/"
    },
    {
      "location": "us-west2",
      "endpointUrl": "https://bigquerymigration.us-west2.rep.googleapis.com/",
      "description": "Regional Endpoint"
    },
    {
      "location": "us-west3",
      "description": "Regional Endpoint",
      "endpointUrl": "https://bigquerymigration.us-west3.rep.googleapis.com/"
    },
    {
      "description": "Regional Endpoint",
      "location": "us-west4",
      "endpointUrl": "https://bigquerymigration.us-west4.rep.googleapis.com/"
    },
    {
      "endpointUrl": "https://bigquerymigration.us-west8.rep.googleapis.com/",
      "description": "Regional Endpoint",
      "location": "us-west8"
    }
  ],
  "rootUrl": "https://bigquerymigration.googleapis.com/",
  "kind": "discovery#restDescription",
  "version_module": true,
  "discoveryVersion": "v1",
  "ownerName": "Google",
  "basePath": ""
}
