# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/datastream/v1alpha1/datastream_resources.proto

require 'google/protobuf'

require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/protobuf/duration_pb'
require 'google/protobuf/timestamp_pb'
require 'google/api/annotations_pb'

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("google/cloud/datastream/v1alpha1/datastream_resources.proto", :syntax => :proto3) do
    add_message "google.cloud.datastream.v1alpha1.OracleProfile" do
      optional :hostname, :string, 1
      optional :port, :int32, 2
      optional :username, :string, 3
      optional :password, :string, 4
      optional :database_service, :string, 5
      map :connection_attributes, :string, :string, 6
    end
    add_message "google.cloud.datastream.v1alpha1.MysqlProfile" do
      optional :hostname, :string, 1
      optional :port, :int32, 2
      optional :username, :string, 3
      optional :password, :string, 4
      optional :ssl_config, :message, 5, "google.cloud.datastream.v1alpha1.MysqlSslConfig"
    end
    add_message "google.cloud.datastream.v1alpha1.GcsProfile" do
      optional :bucket_name, :string, 1
      optional :root_path, :string, 2
    end
    add_message "google.cloud.datastream.v1alpha1.NoConnectivitySettings" do
    end
    add_message "google.cloud.datastream.v1alpha1.StaticServiceIpConnectivity" do
    end
    add_message "google.cloud.datastream.v1alpha1.ForwardSshTunnelConnectivity" do
      optional :hostname, :string, 1
      optional :username, :string, 2
      optional :port, :int32, 3
      oneof :authentication_method do
        optional :password, :string, 100
        optional :private_key, :string, 101
      end
    end
    add_message "google.cloud.datastream.v1alpha1.VpcPeeringConfig" do
      optional :vpc_name, :string, 1
      optional :subnet, :string, 2
    end
    add_message "google.cloud.datastream.v1alpha1.PrivateConnection" do
      optional :name, :string, 1
      optional :create_time, :message, 2, "google.protobuf.Timestamp"
      optional :update_time, :message, 3, "google.protobuf.Timestamp"
      map :labels, :string, :string, 4
      optional :display_name, :string, 5
      optional :state, :enum, 6, "google.cloud.datastream.v1alpha1.PrivateConnection.State"
      optional :error, :message, 7, "google.cloud.datastream.v1alpha1.Error"
      optional :vpc_peering_config, :message, 100, "google.cloud.datastream.v1alpha1.VpcPeeringConfig"
    end
    add_enum "google.cloud.datastream.v1alpha1.PrivateConnection.State" do
      value :STATE_UNSPECIFIED, 0
      value :CREATING, 1
      value :CREATED, 2
      value :FAILED, 3
    end
    add_message "google.cloud.datastream.v1alpha1.PrivateConnectivity" do
      optional :private_connection_name, :string, 1
    end
    add_message "google.cloud.datastream.v1alpha1.Route" do
      optional :name, :string, 1
      optional :create_time, :message, 2, "google.protobuf.Timestamp"
      optional :update_time, :message, 3, "google.protobuf.Timestamp"
      map :labels, :string, :string, 4
      optional :display_name, :string, 5
      optional :destination_address, :string, 6
      optional :destination_port, :int32, 7
    end
    add_message "google.cloud.datastream.v1alpha1.MysqlSslConfig" do
      optional :client_key, :string, 11
      optional :client_key_set, :bool, 12
      optional :client_certificate, :string, 13
      optional :client_certificate_set, :bool, 14
      optional :ca_certificate, :string, 15
      optional :ca_certificate_set, :bool, 16
    end
    add_message "google.cloud.datastream.v1alpha1.ConnectionProfile" do
      optional :name, :string, 1
      optional :create_time, :message, 2, "google.protobuf.Timestamp"
      optional :update_time, :message, 3, "google.protobuf.Timestamp"
      map :labels, :string, :string, 4
      optional :display_name, :string, 5
      oneof :profile do
        optional :oracle_profile, :message, 100, "google.cloud.datastream.v1alpha1.OracleProfile"
        optional :gcs_profile, :message, 101, "google.cloud.datastream.v1alpha1.GcsProfile"
        optional :mysql_profile, :message, 102, "google.cloud.datastream.v1alpha1.MysqlProfile"
      end
      oneof :connectivity do
        optional :no_connectivity, :message, 200, "google.cloud.datastream.v1alpha1.NoConnectivitySettings"
        optional :static_service_ip_connectivity, :message, 201, "google.cloud.datastream.v1alpha1.StaticServiceIpConnectivity"
        optional :forward_ssh_connectivity, :message, 202, "google.cloud.datastream.v1alpha1.ForwardSshTunnelConnectivity"
        optional :private_connectivity, :message, 203, "google.cloud.datastream.v1alpha1.PrivateConnectivity"
      end
    end
    add_message "google.cloud.datastream.v1alpha1.OracleColumn" do
      optional :column_name, :string, 1
      optional :data_type, :string, 2
      optional :length, :int32, 3
      optional :precision, :int32, 4
      optional :scale, :int32, 5
      optional :encoding, :string, 6
      optional :primary_key, :bool, 7
      optional :nullable, :bool, 8
      optional :ordinal_position, :int32, 9
    end
    add_message "google.cloud.datastream.v1alpha1.OracleTable" do
      optional :table_name, :string, 1
      repeated :oracle_columns, :message, 2, "google.cloud.datastream.v1alpha1.OracleColumn"
    end
    add_message "google.cloud.datastream.v1alpha1.OracleSchema" do
      optional :schema_name, :string, 1
      repeated :oracle_tables, :message, 2, "google.cloud.datastream.v1alpha1.OracleTable"
    end
    add_message "google.cloud.datastream.v1alpha1.OracleRdbms" do
      repeated :oracle_schemas, :message, 1, "google.cloud.datastream.v1alpha1.OracleSchema"
    end
    add_message "google.cloud.datastream.v1alpha1.OracleSourceConfig" do
      optional :allowlist, :message, 1, "google.cloud.datastream.v1alpha1.OracleRdbms"
      optional :rejectlist, :message, 2, "google.cloud.datastream.v1alpha1.OracleRdbms"
    end
    add_message "google.cloud.datastream.v1alpha1.MysqlColumn" do
      optional :column_name, :string, 1
      optional :data_type, :string, 2
      optional :length, :int32, 3
      optional :collation, :string, 4
      optional :primary_key, :bool, 5
      optional :nullable, :bool, 6
      optional :ordinal_position, :int32, 7
    end
    add_message "google.cloud.datastream.v1alpha1.MysqlTable" do
      optional :table_name, :string, 1
      repeated :mysql_columns, :message, 2, "google.cloud.datastream.v1alpha1.MysqlColumn"
    end
    add_message "google.cloud.datastream.v1alpha1.MysqlDatabase" do
      optional :database_name, :string, 1
      repeated :mysql_tables, :message, 2, "google.cloud.datastream.v1alpha1.MysqlTable"
    end
    add_message "google.cloud.datastream.v1alpha1.MysqlRdbms" do
      repeated :mysql_databases, :message, 1, "google.cloud.datastream.v1alpha1.MysqlDatabase"
    end
    add_message "google.cloud.datastream.v1alpha1.MysqlSourceConfig" do
      optional :allowlist, :message, 1, "google.cloud.datastream.v1alpha1.MysqlRdbms"
      optional :rejectlist, :message, 2, "google.cloud.datastream.v1alpha1.MysqlRdbms"
    end
    add_message "google.cloud.datastream.v1alpha1.SourceConfig" do
      optional :source_connection_profile_name, :string, 1
      oneof :source_stream_config do
        optional :oracle_source_config, :message, 100, "google.cloud.datastream.v1alpha1.OracleSourceConfig"
        optional :mysql_source_config, :message, 101, "google.cloud.datastream.v1alpha1.MysqlSourceConfig"
      end
    end
    add_message "google.cloud.datastream.v1alpha1.AvroFileFormat" do
    end
    add_message "google.cloud.datastream.v1alpha1.JsonFileFormat" do
      optional :schema_file_format, :enum, 1, "google.cloud.datastream.v1alpha1.SchemaFileFormat"
      optional :compression, :enum, 2, "google.cloud.datastream.v1alpha1.JsonFileFormat.JsonCompression"
    end
    add_enum "google.cloud.datastream.v1alpha1.JsonFileFormat.JsonCompression" do
      value :JSON_COMPRESSION_UNSPECIFIED, 0
      value :NO_COMPRESSION, 1
      value :GZIP, 2
    end
    add_message "google.cloud.datastream.v1alpha1.GcsDestinationConfig" do
      optional :path, :string, 1
      optional :gcs_file_format, :enum, 2, "google.cloud.datastream.v1alpha1.GcsFileFormat"
      optional :file_rotation_mb, :int32, 3
      optional :file_rotation_interval, :message, 4, "google.protobuf.Duration"
      oneof :file_format do
        optional :avro_file_format, :message, 100, "google.cloud.datastream.v1alpha1.AvroFileFormat"
        optional :json_file_format, :message, 101, "google.cloud.datastream.v1alpha1.JsonFileFormat"
      end
    end
    add_message "google.cloud.datastream.v1alpha1.DestinationConfig" do
      optional :destination_connection_profile_name, :string, 1
      oneof :destination_stream_config do
        optional :gcs_destination_config, :message, 100, "google.cloud.datastream.v1alpha1.GcsDestinationConfig"
      end
    end
    add_message "google.cloud.datastream.v1alpha1.Stream" do
      optional :name, :string, 1
      optional :create_time, :message, 2, "google.protobuf.Timestamp"
      optional :update_time, :message, 3, "google.protobuf.Timestamp"
      map :labels, :string, :string, 4
      optional :display_name, :string, 5
      optional :source_config, :message, 6, "google.cloud.datastream.v1alpha1.SourceConfig"
      optional :destination_config, :message, 7, "google.cloud.datastream.v1alpha1.DestinationConfig"
      optional :state, :enum, 8, "google.cloud.datastream.v1alpha1.Stream.State"
      repeated :errors, :message, 9, "google.cloud.datastream.v1alpha1.Error"
      oneof :backfill_strategy do
        optional :backfill_all, :message, 101, "google.cloud.datastream.v1alpha1.Stream.BackfillAllStrategy"
        optional :backfill_none, :message, 102, "google.cloud.datastream.v1alpha1.Stream.BackfillNoneStrategy"
      end
    end
    add_message "google.cloud.datastream.v1alpha1.Stream.BackfillAllStrategy" do
      oneof :excluded_objects do
        optional :oracle_excluded_objects, :message, 1, "google.cloud.datastream.v1alpha1.OracleRdbms"
        optional :mysql_excluded_objects, :message, 2, "google.cloud.datastream.v1alpha1.MysqlRdbms"
      end
    end
    add_message "google.cloud.datastream.v1alpha1.Stream.BackfillNoneStrategy" do
    end
    add_enum "google.cloud.datastream.v1alpha1.Stream.State" do
      value :STATE_UNSPECIFIED, 0
      value :CREATED, 1
      value :RUNNING, 2
      value :PAUSED, 3
      value :MAINTENANCE, 4
      value :FAILED, 5
      value :FAILED_PERMANENTLY, 6
      value :STARTING, 7
      value :DRAINING, 8
    end
    add_message "google.cloud.datastream.v1alpha1.Error" do
      optional :reason, :string, 1
      optional :error_uuid, :string, 2
      optional :message, :string, 3
      optional :error_time, :message, 4, "google.protobuf.Timestamp"
      map :details, :string, :string, 5
    end
    add_message "google.cloud.datastream.v1alpha1.ValidationResult" do
      repeated :validations, :message, 1, "google.cloud.datastream.v1alpha1.Validation"
    end
    add_message "google.cloud.datastream.v1alpha1.Validation" do
      optional :description, :string, 1
      optional :status, :enum, 2, "google.cloud.datastream.v1alpha1.Validation.Status"
      repeated :message, :message, 3, "google.cloud.datastream.v1alpha1.ValidationMessage"
      optional :code, :string, 4
    end
    add_enum "google.cloud.datastream.v1alpha1.Validation.Status" do
      value :STATUS_UNSPECIFIED, 0
      value :NOT_EXECUTED, 1
      value :FAILED, 2
      value :PASSED, 3
    end
    add_message "google.cloud.datastream.v1alpha1.ValidationMessage" do
      optional :message, :string, 1
      optional :level, :enum, 2, "google.cloud.datastream.v1alpha1.ValidationMessage.Level"
      map :metadata, :string, :string, 3
      optional :code, :string, 4
    end
    add_enum "google.cloud.datastream.v1alpha1.ValidationMessage.Level" do
      value :LEVEL_UNSPECIFIED, 0
      value :WARNING, 1
      value :ERROR, 2
    end
    add_enum "google.cloud.datastream.v1alpha1.GcsFileFormat" do
      value :GCS_FILE_FORMAT_UNSPECIFIED, 0
      value :AVRO, 1
    end
    add_enum "google.cloud.datastream.v1alpha1.SchemaFileFormat" do
      value :SCHEMA_FILE_FORMAT_UNSPECIFIED, 0
      value :NO_SCHEMA_FILE, 1
      value :AVRO_SCHEMA_FILE, 2
    end
  end
end

module Google
  module Cloud
    module Datastream
      module V1alpha1
        OracleProfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.OracleProfile").msgclass
        MysqlProfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.MysqlProfile").msgclass
        GcsProfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.GcsProfile").msgclass
        NoConnectivitySettings = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.NoConnectivitySettings").msgclass
        StaticServiceIpConnectivity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.StaticServiceIpConnectivity").msgclass
        ForwardSshTunnelConnectivity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.ForwardSshTunnelConnectivity").msgclass
        VpcPeeringConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.VpcPeeringConfig").msgclass
        PrivateConnection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.PrivateConnection").msgclass
        PrivateConnection::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.PrivateConnection.State").enummodule
        PrivateConnectivity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.PrivateConnectivity").msgclass
        Route = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.Route").msgclass
        MysqlSslConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.MysqlSslConfig").msgclass
        ConnectionProfile = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.ConnectionProfile").msgclass
        OracleColumn = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.OracleColumn").msgclass
        OracleTable = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.OracleTable").msgclass
        OracleSchema = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.OracleSchema").msgclass
        OracleRdbms = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.OracleRdbms").msgclass
        OracleSourceConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.OracleSourceConfig").msgclass
        MysqlColumn = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.MysqlColumn").msgclass
        MysqlTable = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.MysqlTable").msgclass
        MysqlDatabase = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.MysqlDatabase").msgclass
        MysqlRdbms = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.MysqlRdbms").msgclass
        MysqlSourceConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.MysqlSourceConfig").msgclass
        SourceConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.SourceConfig").msgclass
        AvroFileFormat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.AvroFileFormat").msgclass
        JsonFileFormat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.JsonFileFormat").msgclass
        JsonFileFormat::JsonCompression = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.JsonFileFormat.JsonCompression").enummodule
        GcsDestinationConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.GcsDestinationConfig").msgclass
        DestinationConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.DestinationConfig").msgclass
        Stream = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.Stream").msgclass
        Stream::BackfillAllStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.Stream.BackfillAllStrategy").msgclass
        Stream::BackfillNoneStrategy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.Stream.BackfillNoneStrategy").msgclass
        Stream::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.Stream.State").enummodule
        Error = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.Error").msgclass
        ValidationResult = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.ValidationResult").msgclass
        Validation = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.Validation").msgclass
        Validation::Status = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.Validation.Status").enummodule
        ValidationMessage = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.ValidationMessage").msgclass
        ValidationMessage::Level = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.ValidationMessage.Level").enummodule
        GcsFileFormat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.GcsFileFormat").enummodule
        SchemaFileFormat = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.datastream.v1alpha1.SchemaFileFormat").enummodule
      end
    end
  end
end