# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/spanner/admin/instance/v1/spanner_instance_admin.proto

require 'google/api/annotations_pb'
require 'google/api/client_pb'
require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/iam/v1/iam_policy_pb'
require 'google/iam/v1/policy_pb'
require 'google/longrunning/operations_pb'
require 'google/protobuf/empty_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/spanner/admin/instance/v1/spanner_instance_admin.proto", :syntax => :proto3) do
    add_message "google.spanner.admin.instance.v1.ReplicaInfo" do
      optional :location, :string, 1
      optional :type, :enum, 2, "google.spanner.admin.instance.v1.ReplicaInfo.ReplicaType"
      optional :default_leader_location, :bool, 3
    end
    add_enum "google.spanner.admin.instance.v1.ReplicaInfo.ReplicaType" do
      value :TYPE_UNSPECIFIED, 0
      value :READ_WRITE, 1
      value :READ_ONLY, 2
      value :WITNESS, 3
    end
    add_message "google.spanner.admin.instance.v1.InstanceConfig" do
      optional :name, :string, 1
      optional :display_name, :string, 2
      repeated :replicas, :message, 3, "google.spanner.admin.instance.v1.ReplicaInfo"
      repeated :leader_options, :string, 4
    end
    add_message "google.spanner.admin.instance.v1.Instance" do
      optional :name, :string, 1
      optional :config, :string, 2
      optional :display_name, :string, 3
      optional :node_count, :int32, 5
      optional :processing_units, :int32, 9
      optional :state, :enum, 6, "google.spanner.admin.instance.v1.Instance.State"
      map :labels, :string, :string, 7
      repeated :endpoint_uris, :string, 8
    end
    add_enum "google.spanner.admin.instance.v1.Instance.State" do
      value :STATE_UNSPECIFIED, 0
      value :CREATING, 1
      value :READY, 2
    end
    add_message "google.spanner.admin.instance.v1.ListInstanceConfigsRequest" do
      optional :parent, :string, 1
      optional :page_size, :int32, 2
      optional :page_token, :string, 3
    end
    add_message "google.spanner.admin.instance.v1.ListInstanceConfigsResponse" do
      repeated :instance_configs, :message, 1, "google.spanner.admin.instance.v1.InstanceConfig"
      optional :next_page_token, :string, 2
    end
    add_message "google.spanner.admin.instance.v1.GetInstanceConfigRequest" do
      optional :name, :string, 1
    end
    add_message "google.spanner.admin.instance.v1.GetInstanceRequest" do
      optional :name, :string, 1
      optional :field_mask, :message, 2, "google.protobuf.FieldMask"
    end
    add_message "google.spanner.admin.instance.v1.CreateInstanceRequest" do
      optional :parent, :string, 1
      optional :instance_id, :string, 2
      optional :instance, :message, 3, "google.spanner.admin.instance.v1.Instance"
    end
    add_message "google.spanner.admin.instance.v1.ListInstancesRequest" do
      optional :parent, :string, 1
      optional :page_size, :int32, 2
      optional :page_token, :string, 3
      optional :filter, :string, 4
    end
    add_message "google.spanner.admin.instance.v1.ListInstancesResponse" do
      repeated :instances, :message, 1, "google.spanner.admin.instance.v1.Instance"
      optional :next_page_token, :string, 2
    end
    add_message "google.spanner.admin.instance.v1.UpdateInstanceRequest" do
      optional :instance, :message, 1, "google.spanner.admin.instance.v1.Instance"
      optional :field_mask, :message, 2, "google.protobuf.FieldMask"
    end
    add_message "google.spanner.admin.instance.v1.DeleteInstanceRequest" do
      optional :name, :string, 1
    end
    add_message "google.spanner.admin.instance.v1.CreateInstanceMetadata" do
      optional :instance, :message, 1, "google.spanner.admin.instance.v1.Instance"
      optional :start_time, :message, 2, "google.protobuf.Timestamp"
      optional :cancel_time, :message, 3, "google.protobuf.Timestamp"
      optional :end_time, :message, 4, "google.protobuf.Timestamp"
    end
    add_message "google.spanner.admin.instance.v1.UpdateInstanceMetadata" do
      optional :instance, :message, 1, "google.spanner.admin.instance.v1.Instance"
      optional :start_time, :message, 2, "google.protobuf.Timestamp"
      optional :cancel_time, :message, 3, "google.protobuf.Timestamp"
      optional :end_time, :message, 4, "google.protobuf.Timestamp"
    end
  end
end

module Google
  module Cloud
    module Spanner
      module Admin
        module Instance
          module V1
            ReplicaInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.ReplicaInfo").msgclass
            ReplicaInfo::ReplicaType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.ReplicaInfo.ReplicaType").enummodule
            InstanceConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.InstanceConfig").msgclass
            Instance = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.Instance").msgclass
            Instance::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.Instance.State").enummodule
            ListInstanceConfigsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.ListInstanceConfigsRequest").msgclass
            ListInstanceConfigsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.ListInstanceConfigsResponse").msgclass
            GetInstanceConfigRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.GetInstanceConfigRequest").msgclass
            GetInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.GetInstanceRequest").msgclass
            CreateInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.CreateInstanceRequest").msgclass
            ListInstancesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.ListInstancesRequest").msgclass
            ListInstancesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.ListInstancesResponse").msgclass
            UpdateInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.UpdateInstanceRequest").msgclass
            DeleteInstanceRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.DeleteInstanceRequest").msgclass
            CreateInstanceMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.CreateInstanceMetadata").msgclass
            UpdateInstanceMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.spanner.admin.instance.v1.UpdateInstanceMetadata").msgclass
          end
        end
      end
    end
  end
end