// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.33.2
// source: google/cloud/bigquery/migration/v2alpha/translation_task.proto

package migrationpb

import (
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"

	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// The file encoding types.
type TranslationTaskDetails_FileEncoding int32

const (
	// File encoding setting is not specified.
	TranslationTaskDetails_FILE_ENCODING_UNSPECIFIED TranslationTaskDetails_FileEncoding = 0
	// File encoding is UTF_8.
	TranslationTaskDetails_UTF_8 TranslationTaskDetails_FileEncoding = 1
	// File encoding is ISO_8859_1.
	TranslationTaskDetails_ISO_8859_1 TranslationTaskDetails_FileEncoding = 2
	// File encoding is US_ASCII.
	TranslationTaskDetails_US_ASCII TranslationTaskDetails_FileEncoding = 3
	// File encoding is UTF_16.
	TranslationTaskDetails_UTF_16 TranslationTaskDetails_FileEncoding = 4
	// File encoding is UTF_16LE.
	TranslationTaskDetails_UTF_16LE TranslationTaskDetails_FileEncoding = 5
	// File encoding is UTF_16BE.
	TranslationTaskDetails_UTF_16BE TranslationTaskDetails_FileEncoding = 6
)

// Enum value maps for TranslationTaskDetails_FileEncoding.
var (
	TranslationTaskDetails_FileEncoding_name = map[int32]string{
		0: "FILE_ENCODING_UNSPECIFIED",
		1: "UTF_8",
		2: "ISO_8859_1",
		3: "US_ASCII",
		4: "UTF_16",
		5: "UTF_16LE",
		6: "UTF_16BE",
	}
	TranslationTaskDetails_FileEncoding_value = map[string]int32{
		"FILE_ENCODING_UNSPECIFIED": 0,
		"UTF_8":                     1,
		"ISO_8859_1":                2,
		"US_ASCII":                  3,
		"UTF_16":                    4,
		"UTF_16LE":                  5,
		"UTF_16BE":                  6,
	}
)

func (x TranslationTaskDetails_FileEncoding) Enum() *TranslationTaskDetails_FileEncoding {
	p := new(TranslationTaskDetails_FileEncoding)
	*p = x
	return p
}

func (x TranslationTaskDetails_FileEncoding) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TranslationTaskDetails_FileEncoding) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_enumTypes[0].Descriptor()
}

func (TranslationTaskDetails_FileEncoding) Type() protoreflect.EnumType {
	return &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_enumTypes[0]
}

func (x TranslationTaskDetails_FileEncoding) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TranslationTaskDetails_FileEncoding.Descriptor instead.
func (TranslationTaskDetails_FileEncoding) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescGZIP(), []int{1, 0}
}

// The special token data type.
type TranslationTaskDetails_TokenType int32

const (
	// Token type is not specified.
	TranslationTaskDetails_TOKEN_TYPE_UNSPECIFIED TranslationTaskDetails_TokenType = 0
	// Token type as string.
	TranslationTaskDetails_STRING TranslationTaskDetails_TokenType = 1
	// Token type as integer.
	TranslationTaskDetails_INT64 TranslationTaskDetails_TokenType = 2
	// Token type as numeric.
	TranslationTaskDetails_NUMERIC TranslationTaskDetails_TokenType = 3
	// Token type as boolean.
	TranslationTaskDetails_BOOL TranslationTaskDetails_TokenType = 4
	// Token type as float.
	TranslationTaskDetails_FLOAT64 TranslationTaskDetails_TokenType = 5
	// Token type as date.
	TranslationTaskDetails_DATE TranslationTaskDetails_TokenType = 6
	// Token type as timestamp.
	TranslationTaskDetails_TIMESTAMP TranslationTaskDetails_TokenType = 7
)

// Enum value maps for TranslationTaskDetails_TokenType.
var (
	TranslationTaskDetails_TokenType_name = map[int32]string{
		0: "TOKEN_TYPE_UNSPECIFIED",
		1: "STRING",
		2: "INT64",
		3: "NUMERIC",
		4: "BOOL",
		5: "FLOAT64",
		6: "DATE",
		7: "TIMESTAMP",
	}
	TranslationTaskDetails_TokenType_value = map[string]int32{
		"TOKEN_TYPE_UNSPECIFIED": 0,
		"STRING":                 1,
		"INT64":                  2,
		"NUMERIC":                3,
		"BOOL":                   4,
		"FLOAT64":                5,
		"DATE":                   6,
		"TIMESTAMP":              7,
	}
)

func (x TranslationTaskDetails_TokenType) Enum() *TranslationTaskDetails_TokenType {
	p := new(TranslationTaskDetails_TokenType)
	*p = x
	return p
}

func (x TranslationTaskDetails_TokenType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (TranslationTaskDetails_TokenType) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_enumTypes[1].Descriptor()
}

func (TranslationTaskDetails_TokenType) Type() protoreflect.EnumType {
	return &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_enumTypes[1]
}

func (x TranslationTaskDetails_TokenType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use TranslationTaskDetails_TokenType.Descriptor instead.
func (TranslationTaskDetails_TokenType) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescGZIP(), []int{1, 1}
}

// The identifier case type.
type IdentifierSettings_IdentifierCase int32

const (
	// The identifier case is not specified.
	IdentifierSettings_IDENTIFIER_CASE_UNSPECIFIED IdentifierSettings_IdentifierCase = 0
	// Identifiers' cases will be kept as the original cases.
	IdentifierSettings_ORIGINAL IdentifierSettings_IdentifierCase = 1
	// Identifiers will be in upper cases.
	IdentifierSettings_UPPER IdentifierSettings_IdentifierCase = 2
	// Identifiers will be in lower cases.
	IdentifierSettings_LOWER IdentifierSettings_IdentifierCase = 3
)

// Enum value maps for IdentifierSettings_IdentifierCase.
var (
	IdentifierSettings_IdentifierCase_name = map[int32]string{
		0: "IDENTIFIER_CASE_UNSPECIFIED",
		1: "ORIGINAL",
		2: "UPPER",
		3: "LOWER",
	}
	IdentifierSettings_IdentifierCase_value = map[string]int32{
		"IDENTIFIER_CASE_UNSPECIFIED": 0,
		"ORIGINAL":                    1,
		"UPPER":                       2,
		"LOWER":                       3,
	}
)

func (x IdentifierSettings_IdentifierCase) Enum() *IdentifierSettings_IdentifierCase {
	p := new(IdentifierSettings_IdentifierCase)
	*p = x
	return p
}

func (x IdentifierSettings_IdentifierCase) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (IdentifierSettings_IdentifierCase) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_enumTypes[2].Descriptor()
}

func (IdentifierSettings_IdentifierCase) Type() protoreflect.EnumType {
	return &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_enumTypes[2]
}

func (x IdentifierSettings_IdentifierCase) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use IdentifierSettings_IdentifierCase.Descriptor instead.
func (IdentifierSettings_IdentifierCase) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescGZIP(), []int{3, 0}
}

// The SQL identifier rewrite mode.
type IdentifierSettings_IdentifierRewriteMode int32

const (
	// SQL Identifier rewrite mode is unspecified.
	IdentifierSettings_IDENTIFIER_REWRITE_MODE_UNSPECIFIED IdentifierSettings_IdentifierRewriteMode = 0
	// SQL identifiers won't be rewrite.
	IdentifierSettings_NONE IdentifierSettings_IdentifierRewriteMode = 1
	// All SQL identifiers will be rewrite.
	IdentifierSettings_REWRITE_ALL IdentifierSettings_IdentifierRewriteMode = 2
)

// Enum value maps for IdentifierSettings_IdentifierRewriteMode.
var (
	IdentifierSettings_IdentifierRewriteMode_name = map[int32]string{
		0: "IDENTIFIER_REWRITE_MODE_UNSPECIFIED",
		1: "NONE",
		2: "REWRITE_ALL",
	}
	IdentifierSettings_IdentifierRewriteMode_value = map[string]int32{
		"IDENTIFIER_REWRITE_MODE_UNSPECIFIED": 0,
		"NONE":                                1,
		"REWRITE_ALL":                         2,
	}
)

func (x IdentifierSettings_IdentifierRewriteMode) Enum() *IdentifierSettings_IdentifierRewriteMode {
	p := new(IdentifierSettings_IdentifierRewriteMode)
	*p = x
	return p
}

func (x IdentifierSettings_IdentifierRewriteMode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (IdentifierSettings_IdentifierRewriteMode) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_enumTypes[3].Descriptor()
}

func (IdentifierSettings_IdentifierRewriteMode) Type() protoreflect.EnumType {
	return &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_enumTypes[3]
}

func (x IdentifierSettings_IdentifierRewriteMode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use IdentifierSettings_IdentifierRewriteMode.Descriptor instead.
func (IdentifierSettings_IdentifierRewriteMode) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescGZIP(), []int{3, 1}
}

// Mapping between an input and output file to be translated in a subtask.
type TranslationFileMapping struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The Cloud Storage path for a file to translation in a subtask.
	InputPath string `protobuf:"bytes,1,opt,name=input_path,json=inputPath,proto3" json:"input_path,omitempty"`
	// The Cloud Storage path to write back the corresponding input file to.
	OutputPath    string `protobuf:"bytes,2,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TranslationFileMapping) Reset() {
	*x = TranslationFileMapping{}
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TranslationFileMapping) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TranslationFileMapping) ProtoMessage() {}

func (x *TranslationFileMapping) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TranslationFileMapping.ProtoReflect.Descriptor instead.
func (*TranslationFileMapping) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescGZIP(), []int{0}
}

func (x *TranslationFileMapping) GetInputPath() string {
	if x != nil {
		return x.InputPath
	}
	return ""
}

func (x *TranslationFileMapping) GetOutputPath() string {
	if x != nil {
		return x.OutputPath
	}
	return ""
}

// The translation task config to capture necessary settings for a translation
// task and subtask.
type TranslationTaskDetails struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The language specific settings for the translation task.
	//
	// Types that are valid to be assigned to LanguageOptions:
	//
	//	*TranslationTaskDetails_TeradataOptions
	//	*TranslationTaskDetails_BteqOptions
	LanguageOptions isTranslationTaskDetails_LanguageOptions `protobuf_oneof:"language_options"`
	// The Cloud Storage path for translation input files.
	InputPath string `protobuf:"bytes,1,opt,name=input_path,json=inputPath,proto3" json:"input_path,omitempty"`
	// The Cloud Storage path for translation output files.
	OutputPath string `protobuf:"bytes,2,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"`
	// Cloud Storage files to be processed for translation.
	FilePaths []*TranslationFileMapping `protobuf:"bytes,12,rep,name=file_paths,json=filePaths,proto3" json:"file_paths,omitempty"`
	// The Cloud Storage path to DDL files as table schema to assist semantic
	// translation.
	SchemaPath string `protobuf:"bytes,3,opt,name=schema_path,json=schemaPath,proto3" json:"schema_path,omitempty"`
	// The file encoding type.
	FileEncoding TranslationTaskDetails_FileEncoding `protobuf:"varint,4,opt,name=file_encoding,json=fileEncoding,proto3,enum=google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails_FileEncoding" json:"file_encoding,omitempty"`
	// The settings for SQL identifiers.
	IdentifierSettings *IdentifierSettings `protobuf:"bytes,5,opt,name=identifier_settings,json=identifierSettings,proto3" json:"identifier_settings,omitempty"`
	// 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.
	SpecialTokenMap map[string]TranslationTaskDetails_TokenType `protobuf:"bytes,6,rep,name=special_token_map,json=specialTokenMap,proto3" json:"special_token_map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value,enum=google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails_TokenType"`
	// The filter applied to translation details.
	Filter *Filter `protobuf:"bytes,7,opt,name=filter,proto3" json:"filter,omitempty"`
	// 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.
	TranslationExceptionTable string `protobuf:"bytes,13,opt,name=translation_exception_table,json=translationExceptionTable,proto3" json:"translation_exception_table,omitempty"`
	unknownFields             protoimpl.UnknownFields
	sizeCache                 protoimpl.SizeCache
}

func (x *TranslationTaskDetails) Reset() {
	*x = TranslationTaskDetails{}
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TranslationTaskDetails) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TranslationTaskDetails) ProtoMessage() {}

func (x *TranslationTaskDetails) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TranslationTaskDetails.ProtoReflect.Descriptor instead.
func (*TranslationTaskDetails) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescGZIP(), []int{1}
}

func (x *TranslationTaskDetails) GetLanguageOptions() isTranslationTaskDetails_LanguageOptions {
	if x != nil {
		return x.LanguageOptions
	}
	return nil
}

func (x *TranslationTaskDetails) GetTeradataOptions() *TeradataOptions {
	if x != nil {
		if x, ok := x.LanguageOptions.(*TranslationTaskDetails_TeradataOptions); ok {
			return x.TeradataOptions
		}
	}
	return nil
}

func (x *TranslationTaskDetails) GetBteqOptions() *BteqOptions {
	if x != nil {
		if x, ok := x.LanguageOptions.(*TranslationTaskDetails_BteqOptions); ok {
			return x.BteqOptions
		}
	}
	return nil
}

func (x *TranslationTaskDetails) GetInputPath() string {
	if x != nil {
		return x.InputPath
	}
	return ""
}

func (x *TranslationTaskDetails) GetOutputPath() string {
	if x != nil {
		return x.OutputPath
	}
	return ""
}

func (x *TranslationTaskDetails) GetFilePaths() []*TranslationFileMapping {
	if x != nil {
		return x.FilePaths
	}
	return nil
}

func (x *TranslationTaskDetails) GetSchemaPath() string {
	if x != nil {
		return x.SchemaPath
	}
	return ""
}

func (x *TranslationTaskDetails) GetFileEncoding() TranslationTaskDetails_FileEncoding {
	if x != nil {
		return x.FileEncoding
	}
	return TranslationTaskDetails_FILE_ENCODING_UNSPECIFIED
}

func (x *TranslationTaskDetails) GetIdentifierSettings() *IdentifierSettings {
	if x != nil {
		return x.IdentifierSettings
	}
	return nil
}

func (x *TranslationTaskDetails) GetSpecialTokenMap() map[string]TranslationTaskDetails_TokenType {
	if x != nil {
		return x.SpecialTokenMap
	}
	return nil
}

func (x *TranslationTaskDetails) GetFilter() *Filter {
	if x != nil {
		return x.Filter
	}
	return nil
}

func (x *TranslationTaskDetails) GetTranslationExceptionTable() string {
	if x != nil {
		return x.TranslationExceptionTable
	}
	return ""
}

type isTranslationTaskDetails_LanguageOptions interface {
	isTranslationTaskDetails_LanguageOptions()
}

type TranslationTaskDetails_TeradataOptions struct {
	// The Teradata SQL specific settings for the translation task.
	TeradataOptions *TeradataOptions `protobuf:"bytes,10,opt,name=teradata_options,json=teradataOptions,proto3,oneof"`
}

type TranslationTaskDetails_BteqOptions struct {
	// The BTEQ specific settings for the translation task.
	BteqOptions *BteqOptions `protobuf:"bytes,11,opt,name=bteq_options,json=bteqOptions,proto3,oneof"`
}

func (*TranslationTaskDetails_TeradataOptions) isTranslationTaskDetails_LanguageOptions() {}

func (*TranslationTaskDetails_BteqOptions) isTranslationTaskDetails_LanguageOptions() {}

// The filter applied to fields of translation details.
type Filter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The list of prefixes used to exclude processing for input files.
	InputFileExclusionPrefixes []string `protobuf:"bytes,1,rep,name=input_file_exclusion_prefixes,json=inputFileExclusionPrefixes,proto3" json:"input_file_exclusion_prefixes,omitempty"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

func (x *Filter) Reset() {
	*x = Filter{}
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Filter) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Filter) ProtoMessage() {}

func (x *Filter) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Filter.ProtoReflect.Descriptor instead.
func (*Filter) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescGZIP(), []int{2}
}

func (x *Filter) GetInputFileExclusionPrefixes() []string {
	if x != nil {
		return x.InputFileExclusionPrefixes
	}
	return nil
}

// Settings related to SQL identifiers.
type IdentifierSettings struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The setting to control output queries' identifier case.
	OutputIdentifierCase IdentifierSettings_IdentifierCase `protobuf:"varint,1,opt,name=output_identifier_case,json=outputIdentifierCase,proto3,enum=google.cloud.bigquery.migration.v2alpha.IdentifierSettings_IdentifierCase" json:"output_identifier_case,omitempty"`
	// Specifies the rewrite mode for SQL identifiers.
	IdentifierRewriteMode IdentifierSettings_IdentifierRewriteMode `protobuf:"varint,2,opt,name=identifier_rewrite_mode,json=identifierRewriteMode,proto3,enum=google.cloud.bigquery.migration.v2alpha.IdentifierSettings_IdentifierRewriteMode" json:"identifier_rewrite_mode,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *IdentifierSettings) Reset() {
	*x = IdentifierSettings{}
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *IdentifierSettings) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*IdentifierSettings) ProtoMessage() {}

func (x *IdentifierSettings) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use IdentifierSettings.ProtoReflect.Descriptor instead.
func (*IdentifierSettings) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescGZIP(), []int{3}
}

func (x *IdentifierSettings) GetOutputIdentifierCase() IdentifierSettings_IdentifierCase {
	if x != nil {
		return x.OutputIdentifierCase
	}
	return IdentifierSettings_IDENTIFIER_CASE_UNSPECIFIED
}

func (x *IdentifierSettings) GetIdentifierRewriteMode() IdentifierSettings_IdentifierRewriteMode {
	if x != nil {
		return x.IdentifierRewriteMode
	}
	return IdentifierSettings_IDENTIFIER_REWRITE_MODE_UNSPECIFIED
}

// Teradata SQL specific translation task related settings.
type TeradataOptions struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TeradataOptions) Reset() {
	*x = TeradataOptions{}
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TeradataOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TeradataOptions) ProtoMessage() {}

func (x *TeradataOptions) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TeradataOptions.ProtoReflect.Descriptor instead.
func (*TeradataOptions) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescGZIP(), []int{4}
}

// BTEQ translation task related settings.
type BteqOptions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Specifies the project and dataset in BigQuery that will be used for
	// external table creation during the translation.
	ProjectDataset *DatasetReference `protobuf:"bytes,1,opt,name=project_dataset,json=projectDataset,proto3" json:"project_dataset,omitempty"`
	// The Cloud Storage location to be used as the default path for files that
	// are not otherwise specified in the file replacement map.
	DefaultPathUri string `protobuf:"bytes,2,opt,name=default_path_uri,json=defaultPathUri,proto3" json:"default_path_uri,omitempty"`
	// 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).
	FileReplacementMap map[string]string `protobuf:"bytes,3,rep,name=file_replacement_map,json=fileReplacementMap,proto3" json:"file_replacement_map,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *BteqOptions) Reset() {
	*x = BteqOptions{}
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BteqOptions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BteqOptions) ProtoMessage() {}

func (x *BteqOptions) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BteqOptions.ProtoReflect.Descriptor instead.
func (*BteqOptions) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescGZIP(), []int{5}
}

func (x *BteqOptions) GetProjectDataset() *DatasetReference {
	if x != nil {
		return x.ProjectDataset
	}
	return nil
}

func (x *BteqOptions) GetDefaultPathUri() string {
	if x != nil {
		return x.DefaultPathUri
	}
	return ""
}

func (x *BteqOptions) GetFileReplacementMap() map[string]string {
	if x != nil {
		return x.FileReplacementMap
	}
	return nil
}

// Reference to a BigQuery dataset.
type DatasetReference struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// 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.
	DatasetId string `protobuf:"bytes,1,opt,name=dataset_id,json=datasetId,proto3" json:"dataset_id,omitempty"`
	// The ID of the project containing this dataset.
	ProjectId     string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DatasetReference) Reset() {
	*x = DatasetReference{}
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DatasetReference) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DatasetReference) ProtoMessage() {}

func (x *DatasetReference) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DatasetReference.ProtoReflect.Descriptor instead.
func (*DatasetReference) Descriptor() ([]byte, []int) {
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescGZIP(), []int{6}
}

func (x *DatasetReference) GetDatasetId() string {
	if x != nil {
		return x.DatasetId
	}
	return ""
}

func (x *DatasetReference) GetProjectId() string {
	if x != nil {
		return x.ProjectId
	}
	return ""
}

var File_google_cloud_bigquery_migration_v2alpha_translation_task_proto protoreflect.FileDescriptor

const file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDesc = "" +
	"\n" +
	">google/cloud/bigquery/migration/v2alpha/translation_task.proto\x12'google.cloud.bigquery.migration.v2alpha\"X\n" +
	"\x16TranslationFileMapping\x12\x1d\n" +
	"\n" +
	"input_path\x18\x01 \x01(\tR\tinputPath\x12\x1f\n" +
	"\voutput_path\x18\x02 \x01(\tR\n" +
	"outputPath\"\xa9\n" +
	"\n" +
	"\x16TranslationTaskDetails\x12e\n" +
	"\x10teradata_options\x18\n" +
	" \x01(\v28.google.cloud.bigquery.migration.v2alpha.TeradataOptionsH\x00R\x0fteradataOptions\x12Y\n" +
	"\fbteq_options\x18\v \x01(\v24.google.cloud.bigquery.migration.v2alpha.BteqOptionsH\x00R\vbteqOptions\x12\x1d\n" +
	"\n" +
	"input_path\x18\x01 \x01(\tR\tinputPath\x12\x1f\n" +
	"\voutput_path\x18\x02 \x01(\tR\n" +
	"outputPath\x12^\n" +
	"\n" +
	"file_paths\x18\f \x03(\v2?.google.cloud.bigquery.migration.v2alpha.TranslationFileMappingR\tfilePaths\x12\x1f\n" +
	"\vschema_path\x18\x03 \x01(\tR\n" +
	"schemaPath\x12q\n" +
	"\rfile_encoding\x18\x04 \x01(\x0e2L.google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.FileEncodingR\ffileEncoding\x12l\n" +
	"\x13identifier_settings\x18\x05 \x01(\v2;.google.cloud.bigquery.migration.v2alpha.IdentifierSettingsR\x12identifierSettings\x12\x80\x01\n" +
	"\x11special_token_map\x18\x06 \x03(\v2T.google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.SpecialTokenMapEntryR\x0fspecialTokenMap\x12G\n" +
	"\x06filter\x18\a \x01(\v2/.google.cloud.bigquery.migration.v2alpha.FilterR\x06filter\x12>\n" +
	"\x1btranslation_exception_table\x18\r \x01(\tR\x19translationExceptionTable\x1a\x8d\x01\n" +
	"\x14SpecialTokenMapEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12_\n" +
	"\x05value\x18\x02 \x01(\x0e2I.google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.TokenTypeR\x05value:\x028\x01\"~\n" +
	"\fFileEncoding\x12\x1d\n" +
	"\x19FILE_ENCODING_UNSPECIFIED\x10\x00\x12\t\n" +
	"\x05UTF_8\x10\x01\x12\x0e\n" +
	"\n" +
	"ISO_8859_1\x10\x02\x12\f\n" +
	"\bUS_ASCII\x10\x03\x12\n" +
	"\n" +
	"\x06UTF_16\x10\x04\x12\f\n" +
	"\bUTF_16LE\x10\x05\x12\f\n" +
	"\bUTF_16BE\x10\x06\"{\n" +
	"\tTokenType\x12\x1a\n" +
	"\x16TOKEN_TYPE_UNSPECIFIED\x10\x00\x12\n" +
	"\n" +
	"\x06STRING\x10\x01\x12\t\n" +
	"\x05INT64\x10\x02\x12\v\n" +
	"\aNUMERIC\x10\x03\x12\b\n" +
	"\x04BOOL\x10\x04\x12\v\n" +
	"\aFLOAT64\x10\x05\x12\b\n" +
	"\x04DATE\x10\x06\x12\r\n" +
	"\tTIMESTAMP\x10\aB\x12\n" +
	"\x10language_options\"K\n" +
	"\x06Filter\x12A\n" +
	"\x1dinput_file_exclusion_prefixes\x18\x01 \x03(\tR\x1ainputFileExclusionPrefixes\"\xd7\x03\n" +
	"\x12IdentifierSettings\x12\x80\x01\n" +
	"\x16output_identifier_case\x18\x01 \x01(\x0e2J.google.cloud.bigquery.migration.v2alpha.IdentifierSettings.IdentifierCaseR\x14outputIdentifierCase\x12\x89\x01\n" +
	"\x17identifier_rewrite_mode\x18\x02 \x01(\x0e2Q.google.cloud.bigquery.migration.v2alpha.IdentifierSettings.IdentifierRewriteModeR\x15identifierRewriteMode\"U\n" +
	"\x0eIdentifierCase\x12\x1f\n" +
	"\x1bIDENTIFIER_CASE_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bORIGINAL\x10\x01\x12\t\n" +
	"\x05UPPER\x10\x02\x12\t\n" +
	"\x05LOWER\x10\x03\"[\n" +
	"\x15IdentifierRewriteMode\x12'\n" +
	"#IDENTIFIER_REWRITE_MODE_UNSPECIFIED\x10\x00\x12\b\n" +
	"\x04NONE\x10\x01\x12\x0f\n" +
	"\vREWRITE_ALL\x10\x02\"\x11\n" +
	"\x0fTeradataOptions\"\xe2\x02\n" +
	"\vBteqOptions\x12b\n" +
	"\x0fproject_dataset\x18\x01 \x01(\v29.google.cloud.bigquery.migration.v2alpha.DatasetReferenceR\x0eprojectDataset\x12(\n" +
	"\x10default_path_uri\x18\x02 \x01(\tR\x0edefaultPathUri\x12~\n" +
	"\x14file_replacement_map\x18\x03 \x03(\v2L.google.cloud.bigquery.migration.v2alpha.BteqOptions.FileReplacementMapEntryR\x12fileReplacementMap\x1aE\n" +
	"\x17FileReplacementMapEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"P\n" +
	"\x10DatasetReference\x12\x1d\n" +
	"\n" +
	"dataset_id\x18\x01 \x01(\tR\tdatasetId\x12\x1d\n" +
	"\n" +
	"project_id\x18\x02 \x01(\tR\tprojectIdB\xe4\x01\n" +
	"+com.google.cloud.bigquery.migration.v2alphaB\x14TranslationTaskProtoP\x01ZIcloud.google.com/go/bigquery/migration/apiv2alpha/migrationpb;migrationpb\xaa\x02'Google.Cloud.BigQuery.Migration.V2Alpha\xca\x02'Google\\Cloud\\BigQuery\\Migration\\V2alphab\x06proto3"

var (
	file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescOnce sync.Once
	file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescData []byte
)

func file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescGZIP() []byte {
	file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescOnce.Do(func() {
		file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDesc), len(file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDesc)))
	})
	return file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDescData
}

var file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
var file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_goTypes = []any{
	(TranslationTaskDetails_FileEncoding)(0),      // 0: google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.FileEncoding
	(TranslationTaskDetails_TokenType)(0),         // 1: google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.TokenType
	(IdentifierSettings_IdentifierCase)(0),        // 2: google.cloud.bigquery.migration.v2alpha.IdentifierSettings.IdentifierCase
	(IdentifierSettings_IdentifierRewriteMode)(0), // 3: google.cloud.bigquery.migration.v2alpha.IdentifierSettings.IdentifierRewriteMode
	(*TranslationFileMapping)(nil),                // 4: google.cloud.bigquery.migration.v2alpha.TranslationFileMapping
	(*TranslationTaskDetails)(nil),                // 5: google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails
	(*Filter)(nil),                                // 6: google.cloud.bigquery.migration.v2alpha.Filter
	(*IdentifierSettings)(nil),                    // 7: google.cloud.bigquery.migration.v2alpha.IdentifierSettings
	(*TeradataOptions)(nil),                       // 8: google.cloud.bigquery.migration.v2alpha.TeradataOptions
	(*BteqOptions)(nil),                           // 9: google.cloud.bigquery.migration.v2alpha.BteqOptions
	(*DatasetReference)(nil),                      // 10: google.cloud.bigquery.migration.v2alpha.DatasetReference
	nil,                                           // 11: google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.SpecialTokenMapEntry
	nil,                                           // 12: google.cloud.bigquery.migration.v2alpha.BteqOptions.FileReplacementMapEntry
}
var file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_depIdxs = []int32{
	8,  // 0: google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.teradata_options:type_name -> google.cloud.bigquery.migration.v2alpha.TeradataOptions
	9,  // 1: google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.bteq_options:type_name -> google.cloud.bigquery.migration.v2alpha.BteqOptions
	4,  // 2: google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.file_paths:type_name -> google.cloud.bigquery.migration.v2alpha.TranslationFileMapping
	0,  // 3: google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.file_encoding:type_name -> google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.FileEncoding
	7,  // 4: google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.identifier_settings:type_name -> google.cloud.bigquery.migration.v2alpha.IdentifierSettings
	11, // 5: google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.special_token_map:type_name -> google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.SpecialTokenMapEntry
	6,  // 6: google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.filter:type_name -> google.cloud.bigquery.migration.v2alpha.Filter
	2,  // 7: google.cloud.bigquery.migration.v2alpha.IdentifierSettings.output_identifier_case:type_name -> google.cloud.bigquery.migration.v2alpha.IdentifierSettings.IdentifierCase
	3,  // 8: google.cloud.bigquery.migration.v2alpha.IdentifierSettings.identifier_rewrite_mode:type_name -> google.cloud.bigquery.migration.v2alpha.IdentifierSettings.IdentifierRewriteMode
	10, // 9: google.cloud.bigquery.migration.v2alpha.BteqOptions.project_dataset:type_name -> google.cloud.bigquery.migration.v2alpha.DatasetReference
	12, // 10: google.cloud.bigquery.migration.v2alpha.BteqOptions.file_replacement_map:type_name -> google.cloud.bigquery.migration.v2alpha.BteqOptions.FileReplacementMapEntry
	1,  // 11: google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.SpecialTokenMapEntry.value:type_name -> google.cloud.bigquery.migration.v2alpha.TranslationTaskDetails.TokenType
	12, // [12:12] is the sub-list for method output_type
	12, // [12:12] is the sub-list for method input_type
	12, // [12:12] is the sub-list for extension type_name
	12, // [12:12] is the sub-list for extension extendee
	0,  // [0:12] is the sub-list for field type_name
}

func init() { file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_init() }
func file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_init() {
	if File_google_cloud_bigquery_migration_v2alpha_translation_task_proto != nil {
		return
	}
	file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes[1].OneofWrappers = []any{
		(*TranslationTaskDetails_TeradataOptions)(nil),
		(*TranslationTaskDetails_BteqOptions)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDesc), len(file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_rawDesc)),
			NumEnums:      4,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_goTypes,
		DependencyIndexes: file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_depIdxs,
		EnumInfos:         file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_enumTypes,
		MessageInfos:      file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_msgTypes,
	}.Build()
	File_google_cloud_bigquery_migration_v2alpha_translation_task_proto = out.File
	file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_goTypes = nil
	file_google_cloud_bigquery_migration_v2alpha_translation_task_proto_depIdxs = nil
}
