# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/managedidentities/v1/resource.proto

require 'google/protobuf'

require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/protobuf/timestamp_pb'
require 'google/api/annotations_pb'
Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("google/cloud/managedidentities/v1/resource.proto", :syntax => :proto3) do
    add_message "google.cloud.managedidentities.v1.Domain" do
      optional :name, :string, 1
      map :labels, :string, :string, 2
      repeated :authorized_networks, :string, 3
      optional :reserved_ip_range, :string, 4
      repeated :locations, :string, 5
      optional :admin, :string, 6
      optional :fqdn, :string, 10
      optional :create_time, :message, 11, "google.protobuf.Timestamp"
      optional :update_time, :message, 12, "google.protobuf.Timestamp"
      optional :state, :enum, 13, "google.cloud.managedidentities.v1.Domain.State"
      optional :status_message, :string, 14
      repeated :trusts, :message, 15, "google.cloud.managedidentities.v1.Trust"
    end
    add_enum "google.cloud.managedidentities.v1.Domain.State" do
      value :STATE_UNSPECIFIED, 0
      value :CREATING, 1
      value :READY, 2
      value :UPDATING, 3
      value :DELETING, 4
      value :REPAIRING, 5
      value :PERFORMING_MAINTENANCE, 6
      value :UNAVAILABLE, 7
    end
    add_message "google.cloud.managedidentities.v1.Trust" do
      optional :target_domain_name, :string, 1
      optional :trust_type, :enum, 2, "google.cloud.managedidentities.v1.Trust.TrustType"
      optional :trust_direction, :enum, 3, "google.cloud.managedidentities.v1.Trust.TrustDirection"
      optional :selective_authentication, :bool, 4
      repeated :target_dns_ip_addresses, :string, 5
      optional :trust_handshake_secret, :string, 6
      optional :create_time, :message, 7, "google.protobuf.Timestamp"
      optional :update_time, :message, 8, "google.protobuf.Timestamp"
      optional :state, :enum, 9, "google.cloud.managedidentities.v1.Trust.State"
      optional :state_description, :string, 11
      optional :last_trust_heartbeat_time, :message, 12, "google.protobuf.Timestamp"
    end
    add_enum "google.cloud.managedidentities.v1.Trust.State" do
      value :STATE_UNSPECIFIED, 0
      value :CREATING, 1
      value :UPDATING, 2
      value :DELETING, 3
      value :CONNECTED, 4
      value :DISCONNECTED, 5
    end
    add_enum "google.cloud.managedidentities.v1.Trust.TrustType" do
      value :TRUST_TYPE_UNSPECIFIED, 0
      value :FOREST, 1
      value :EXTERNAL, 2
    end
    add_enum "google.cloud.managedidentities.v1.Trust.TrustDirection" do
      value :TRUST_DIRECTION_UNSPECIFIED, 0
      value :INBOUND, 1
      value :OUTBOUND, 2
      value :BIDIRECTIONAL, 3
    end
  end
end

module Google
  module Cloud
    module ManagedIdentities
      module V1
        Domain = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.managedidentities.v1.Domain").msgclass
        Domain::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.managedidentities.v1.Domain.State").enummodule
        Trust = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.managedidentities.v1.Trust").msgclass
        Trust::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.managedidentities.v1.Trust.State").enummodule
        Trust::TrustType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.managedidentities.v1.Trust.TrustType").enummodule
        Trust::TrustDirection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.managedidentities.v1.Trust.TrustDirection").enummodule
      end
    end
  end
end