# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/redis/v1beta1/cloud_redis.proto

require 'google/api/annotations_pb'
require 'google/api/client_pb'
require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/longrunning/operations_pb'
require 'google/protobuf/duration_pb'
require 'google/protobuf/field_mask_pb'
require 'google/protobuf/timestamp_pb'
require 'google/type/dayofweek_pb'
require 'google/type/timeofday_pb'
require 'google/protobuf'

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("google/cloud/redis/v1beta1/cloud_redis.proto", :syntax => :proto3) do
    add_message "google.cloud.redis.v1beta1.NodeInfo" do
      optional :id, :string, 1
      optional :zone, :string, 2
    end
    add_message "google.cloud.redis.v1beta1.Instance" do
      optional :name, :string, 1
      optional :display_name, :string, 2
      map :labels, :string, :string, 3
      optional :location_id, :string, 4
      optional :alternative_location_id, :string, 5
      optional :redis_version, :string, 7
      optional :reserved_ip_range, :string, 9
      optional :host, :string, 10
      optional :port, :int32, 11
      optional :current_location_id, :string, 12
      optional :create_time, :message, 13, "google.protobuf.Timestamp"
      optional :state, :enum, 14, "google.cloud.redis.v1beta1.Instance.State"
      optional :status_message, :string, 15
      map :redis_configs, :string, :string, 16
      optional :tier, :enum, 17, "google.cloud.redis.v1beta1.Instance.Tier"
      optional :memory_size_gb, :int32, 18
      optional :authorized_network, :string, 20
      optional :persistence_iam_identity, :string, 21
      optional :connect_mode, :enum, 22, "google.cloud.redis.v1beta1.Instance.ConnectMode"
      optional :auth_enabled, :bool, 23
      repeated :server_ca_certs, :message, 25, "google.cloud.redis.v1beta1.TlsCertificate"
      optional :transit_encryption_mode, :enum, 26, "google.cloud.redis.v1beta1.Instance.TransitEncryptionMode"
      optional :maintenance_policy, :message, 27, "google.cloud.redis.v1beta1.MaintenancePolicy"
      optional :maintenance_schedule, :message, 28, "google.cloud.redis.v1beta1.MaintenanceSchedule"
      optional :replica_count, :int32, 31
      repeated :nodes, :message, 32, "google.cloud.redis.v1beta1.NodeInfo"
      optional :read_endpoint, :string, 33
      optional :read_endpoint_port, :int32, 34
      optional :read_replicas_mode, :enum, 35, "google.cloud.redis.v1beta1.Instance.ReadReplicasMode"
    end
    add_enum "google.cloud.redis.v1beta1.Instance.State" do
      value :STATE_UNSPECIFIED, 0
      value :CREATING, 1
      value :READY, 2
      value :UPDATING, 3
      value :DELETING, 4
      value :REPAIRING, 5
      value :MAINTENANCE, 6
      value :IMPORTING, 8
      value :FAILING_OVER, 10
    end
    add_enum "google.cloud.redis.v1beta1.Instance.Tier" do
      value :TIER_UNSPECIFIED, 0
      value :BASIC, 1
      value :STANDARD_HA, 3
    end
    add_enum "google.cloud.redis.v1beta1.Instance.ConnectMode" do
      value :CONNECT_MODE_UNSPECIFIED, 0
      value :DIRECT_PEERING, 1
      value :PRIVATE_SERVICE_ACCESS, 2
    end
    add_enum "google.cloud.redis.v1beta1.Instance.TransitEncryptionMode" do
      value :TRANSIT_ENCRYPTION_MODE_UNSPECIFIED, 0
      value :SERVER_AUTHENTICATION, 1
      value :DISABLED, 2
    end
    add_enum "google.cloud.redis.v1beta1.Instance.ReadReplicasMode" do
      value :READ_REPLICAS_MODE_UNSPECIFIED, 0
      value :READ_REPLICAS_DISABLED, 1
      value :READ_REPLICAS_ENABLED, 2
    end
    add_message "google.cloud.redis.v1beta1.RescheduleMaintenanceRequest" do
      optional :name, :string, 1
      optional :reschedule_type, :enum, 2, "google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType"
      optional :schedule_time, :message, 3, "google.protobuf.Timestamp"
    end
    add_enum "google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType" do
      value :RESCHEDULE_TYPE_UNSPECIFIED, 0
      value :IMMEDIATE, 1
      value :NEXT_AVAILABLE_WINDOW, 2
      value :SPECIFIC_TIME, 3
    end
    add_message "google.cloud.redis.v1beta1.MaintenancePolicy" do
      optional :create_time, :message, 1, "google.protobuf.Timestamp"
      optional :update_time, :message, 2, "google.protobuf.Timestamp"
      optional :description, :string, 3
      repeated :weekly_maintenance_window, :message, 4, "google.cloud.redis.v1beta1.WeeklyMaintenanceWindow"
    end
    add_message "google.cloud.redis.v1beta1.WeeklyMaintenanceWindow" do
      optional :day, :enum, 1, "google.type.DayOfWeek"
      optional :start_time, :message, 2, "google.type.TimeOfDay"
      optional :duration, :message, 3, "google.protobuf.Duration"
    end
    add_message "google.cloud.redis.v1beta1.MaintenanceSchedule" do
      optional :start_time, :message, 1, "google.protobuf.Timestamp"
      optional :end_time, :message, 2, "google.protobuf.Timestamp"
      optional :can_reschedule, :bool, 3
      optional :schedule_deadline_time, :message, 5, "google.protobuf.Timestamp"
    end
    add_message "google.cloud.redis.v1beta1.ListInstancesRequest" do
      optional :parent, :string, 1
      optional :page_size, :int32, 2
      optional :page_token, :string, 3
    end
    add_message "google.cloud.redis.v1beta1.ListInstancesResponse" do
      repeated :instances, :message, 1, "google.cloud.redis.v1beta1.Instance"
      optional :next_page_token, :string, 2
      repeated :unreachable, :string, 3
    end
    add_message "google.cloud.redis.v1beta1.GetInstanceRequest" do
      optional :name, :string, 1
    end
    add_message "google.cloud.redis.v1beta1.GetInstanceAuthStringRequest" do
      optional :name, :string, 1
    end
    add_message "google.cloud.redis.v1beta1.InstanceAuthString" do
      optional :auth_string, :string, 1
    end
    add_message "google.cloud.redis.v1beta1.CreateInstanceRequest" do
      optional :parent, :string, 1
      optional :instance_id, :string, 2
      optional :instance, :message, 3, "google.cloud.redis.v1beta1.Instance"
    end
    add_message "google.cloud.redis.v1beta1.UpdateInstanceRequest" do
      optional :update_mask, :message, 1, "google.protobuf.FieldMask"
      optional :instance, :message, 2, "google.cloud.redis.v1beta1.Instance"
    end
    add_message "google.cloud.redis.v1beta1.UpgradeInstanceRequest" do
      optional :name, :string, 1
      optional :redis_version, :string, 2
    end
    add_message "google.cloud.redis.v1beta1.DeleteInstanceRequest" do
      optional :name, :string, 1
    end
    add_message "google.cloud.redis.v1beta1.GcsSource" do
      optional :uri, :string, 1
    end
    add_message "google.cloud.redis.v1beta1.InputConfig" do
      oneof :source do
        optional :gcs_source, :message, 1, "google.cloud.redis.v1beta1.GcsSource"
      end
    end
    add_message "google.cloud.redis.v1beta1.ImportInstanceRequest" do
      optional :name, :string, 1
      optional :input_config, :message, 3, "google.cloud.redis.v1beta1.InputConfig"
    end
    add_message "google.cloud.redis.v1beta1.GcsDestination" do
      optional :uri, :string, 1
    end
    add_message "google.cloud.redis.v1beta1.OutputConfig" do
      oneof :destination do
        optional :gcs_destination, :message, 1, "google.cloud.redis.v1beta1.GcsDestination"
      end
    end
    add_message "google.cloud.redis.v1beta1.ExportInstanceRequest" do
      optional :name, :string, 1
      optional :output_config, :message, 3, "google.cloud.redis.v1beta1.OutputConfig"
    end
    add_message "google.cloud.redis.v1beta1.FailoverInstanceRequest" do
      optional :name, :string, 1
      optional :data_protection_mode, :enum, 2, "google.cloud.redis.v1beta1.FailoverInstanceRequest.DataProtectionMode"
    end
    add_enum "google.cloud.redis.v1beta1.FailoverInstanceRequest.DataProtectionMode" do
      value :DATA_PROTECTION_MODE_UNSPECIFIED, 0
      value :LIMITED_DATA_LOSS, 1
      value :FORCE_DATA_LOSS, 2
    end
    add_message "google.cloud.redis.v1beta1.LocationMetadata" do
      map :available_zones, :string, :message, 1, "google.cloud.redis.v1beta1.ZoneMetadata"
    end
    add_message "google.cloud.redis.v1beta1.ZoneMetadata" do
    end
    add_message "google.cloud.redis.v1beta1.TlsCertificate" do
      optional :serial_number, :string, 1
      optional :cert, :string, 2
      optional :create_time, :message, 3, "google.protobuf.Timestamp"
      optional :expire_time, :message, 4, "google.protobuf.Timestamp"
      optional :sha1_fingerprint, :string, 5
    end
  end
end

module Google
  module Cloud
    module Redis
      module V1beta1
        NodeInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.NodeInfo").msgclass
        Instance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.Instance").msgclass
        Instance::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.Instance.State").enummodule
        Instance::Tier = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.Instance.Tier").enummodule
        Instance::ConnectMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.Instance.ConnectMode").enummodule
        Instance::TransitEncryptionMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.Instance.TransitEncryptionMode").enummodule
        Instance::ReadReplicasMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.Instance.ReadReplicasMode").enummodule
        RescheduleMaintenanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.RescheduleMaintenanceRequest").msgclass
        RescheduleMaintenanceRequest::RescheduleType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.RescheduleMaintenanceRequest.RescheduleType").enummodule
        MaintenancePolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.MaintenancePolicy").msgclass
        WeeklyMaintenanceWindow = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.WeeklyMaintenanceWindow").msgclass
        MaintenanceSchedule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.MaintenanceSchedule").msgclass
        ListInstancesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.ListInstancesRequest").msgclass
        ListInstancesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.ListInstancesResponse").msgclass
        GetInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.GetInstanceRequest").msgclass
        GetInstanceAuthStringRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.GetInstanceAuthStringRequest").msgclass
        InstanceAuthString = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.InstanceAuthString").msgclass
        CreateInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.CreateInstanceRequest").msgclass
        UpdateInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.UpdateInstanceRequest").msgclass
        UpgradeInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.UpgradeInstanceRequest").msgclass
        DeleteInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.DeleteInstanceRequest").msgclass
        GcsSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.GcsSource").msgclass
        InputConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.InputConfig").msgclass
        ImportInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.ImportInstanceRequest").msgclass
        GcsDestination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.GcsDestination").msgclass
        OutputConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.OutputConfig").msgclass
        ExportInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.ExportInstanceRequest").msgclass
        FailoverInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.FailoverInstanceRequest").msgclass
        FailoverInstanceRequest::DataProtectionMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.FailoverInstanceRequest.DataProtectionMode").enummodule
        LocationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.LocationMetadata").msgclass
        ZoneMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.ZoneMetadata").msgclass
        TlsCertificate = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1beta1.TlsCertificate").msgclass
      end
    end
  end
end