# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/redis/v1/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/field_mask_pb'
require 'google/protobuf/timestamp_pb'
require 'google/protobuf'

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("google/cloud/redis/v1/cloud_redis.proto", :syntax => :proto3) do
    add_message "google.cloud.redis.v1.NodeInfo" do
      optional :id, :string, 1
      optional :zone, :string, 2
    end
    add_message "google.cloud.redis.v1.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.v1.Instance.State"
      optional :status_message, :string, 15
      map :redis_configs, :string, :string, 16
      optional :tier, :enum, 17, "google.cloud.redis.v1.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.v1.Instance.ConnectMode"
      optional :replica_count, :int32, 31
      repeated :nodes, :message, 32, "google.cloud.redis.v1.NodeInfo"
      optional :read_endpoint, :string, 33
      optional :read_endpoint_port, :int32, 34
      optional :read_replicas_mode, :enum, 35, "google.cloud.redis.v1.Instance.ReadReplicasMode"
    end
    add_enum "google.cloud.redis.v1.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, 9
    end
    add_enum "google.cloud.redis.v1.Instance.Tier" do
      value :TIER_UNSPECIFIED, 0
      value :BASIC, 1
      value :STANDARD_HA, 3
    end
    add_enum "google.cloud.redis.v1.Instance.ConnectMode" do
      value :CONNECT_MODE_UNSPECIFIED, 0
      value :DIRECT_PEERING, 1
      value :PRIVATE_SERVICE_ACCESS, 2
    end
    add_enum "google.cloud.redis.v1.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.v1.ListInstancesRequest" do
      optional :parent, :string, 1
      optional :page_size, :int32, 2
      optional :page_token, :string, 3
    end
    add_message "google.cloud.redis.v1.ListInstancesResponse" do
      repeated :instances, :message, 1, "google.cloud.redis.v1.Instance"
      optional :next_page_token, :string, 2
      repeated :unreachable, :string, 3
    end
    add_message "google.cloud.redis.v1.GetInstanceRequest" do
      optional :name, :string, 1
    end
    add_message "google.cloud.redis.v1.CreateInstanceRequest" do
      optional :parent, :string, 1
      optional :instance_id, :string, 2
      optional :instance, :message, 3, "google.cloud.redis.v1.Instance"
    end
    add_message "google.cloud.redis.v1.UpdateInstanceRequest" do
      optional :update_mask, :message, 1, "google.protobuf.FieldMask"
      optional :instance, :message, 2, "google.cloud.redis.v1.Instance"
    end
    add_message "google.cloud.redis.v1.UpgradeInstanceRequest" do
      optional :name, :string, 1
      optional :redis_version, :string, 2
    end
    add_message "google.cloud.redis.v1.DeleteInstanceRequest" do
      optional :name, :string, 1
    end
    add_message "google.cloud.redis.v1.GcsSource" do
      optional :uri, :string, 1
    end
    add_message "google.cloud.redis.v1.InputConfig" do
      oneof :source do
        optional :gcs_source, :message, 1, "google.cloud.redis.v1.GcsSource"
      end
    end
    add_message "google.cloud.redis.v1.ImportInstanceRequest" do
      optional :name, :string, 1
      optional :input_config, :message, 3, "google.cloud.redis.v1.InputConfig"
    end
    add_message "google.cloud.redis.v1.GcsDestination" do
      optional :uri, :string, 1
    end
    add_message "google.cloud.redis.v1.OutputConfig" do
      oneof :destination do
        optional :gcs_destination, :message, 1, "google.cloud.redis.v1.GcsDestination"
      end
    end
    add_message "google.cloud.redis.v1.ExportInstanceRequest" do
      optional :name, :string, 1
      optional :output_config, :message, 3, "google.cloud.redis.v1.OutputConfig"
    end
    add_message "google.cloud.redis.v1.FailoverInstanceRequest" do
      optional :name, :string, 1
      optional :data_protection_mode, :enum, 2, "google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode"
    end
    add_enum "google.cloud.redis.v1.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.v1.OperationMetadata" do
      optional :create_time, :message, 1, "google.protobuf.Timestamp"
      optional :end_time, :message, 2, "google.protobuf.Timestamp"
      optional :target, :string, 3
      optional :verb, :string, 4
      optional :status_detail, :string, 5
      optional :cancel_requested, :bool, 6
      optional :api_version, :string, 7
    end
    add_message "google.cloud.redis.v1.LocationMetadata" do
      map :available_zones, :string, :message, 1, "google.cloud.redis.v1.ZoneMetadata"
    end
    add_message "google.cloud.redis.v1.ZoneMetadata" do
    end
  end
end

module Google
  module Cloud
    module Redis
      module V1
        NodeInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.NodeInfo").msgclass
        Instance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.Instance").msgclass
        Instance::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.Instance.State").enummodule
        Instance::Tier = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.Instance.Tier").enummodule
        Instance::ConnectMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.Instance.ConnectMode").enummodule
        Instance::ReadReplicasMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.Instance.ReadReplicasMode").enummodule
        ListInstancesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.ListInstancesRequest").msgclass
        ListInstancesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.ListInstancesResponse").msgclass
        GetInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.GetInstanceRequest").msgclass
        CreateInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.CreateInstanceRequest").msgclass
        UpdateInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.UpdateInstanceRequest").msgclass
        UpgradeInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.UpgradeInstanceRequest").msgclass
        DeleteInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.DeleteInstanceRequest").msgclass
        GcsSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.GcsSource").msgclass
        InputConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.InputConfig").msgclass
        ImportInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.ImportInstanceRequest").msgclass
        GcsDestination = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.GcsDestination").msgclass
        OutputConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.OutputConfig").msgclass
        ExportInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.ExportInstanceRequest").msgclass
        FailoverInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.FailoverInstanceRequest").msgclass
        FailoverInstanceRequest::DataProtectionMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.FailoverInstanceRequest.DataProtectionMode").enummodule
        OperationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.OperationMetadata").msgclass
        LocationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.LocationMetadata").msgclass
        ZoneMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.redis.v1.ZoneMetadata").msgclass
      end
    end
  end
end
