# frozen_string_literal: true
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/iam/v3/policy_binding_resources.proto

require 'google/protobuf'

require 'google/api/field_behavior_pb'
require 'google/api/field_info_pb'
require 'google/api/resource_pb'
require 'google/protobuf/timestamp_pb'
require 'google/type/expr_pb'


descriptor_data = "\n,google/iam/v3/policy_binding_resources.proto\x12\rgoogle.iam.v3\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1bgoogle/api/field_info.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x16google/type/expr.proto\"\xd6\x07\n\rPolicyBinding\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x03uid\x18\x02 \x01(\tB\x0b\xe0\x41\x03\xe2\x8c\xcf\xd7\x08\x02\x08\x01\x12\x11\n\x04\x65tag\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x19\n\x0c\x64isplay_name\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12G\n\x0b\x61nnotations\x18\x05 \x03(\x0b\x32-.google.iam.v3.PolicyBinding.AnnotationsEntryB\x03\xe0\x41\x01\x12;\n\x06target\x18\x06 \x01(\x0b\x32#.google.iam.v3.PolicyBinding.TargetB\x06\xe0\x41\x05\xe0\x41\x02\x12\x41\n\x0bpolicy_kind\x18\x0b \x01(\x0e\x32\'.google.iam.v3.PolicyBinding.PolicyKindB\x03\xe0\x41\x05\x12\x16\n\x06policy\x18\x07 \x01(\tB\x06\xe0\x41\x05\xe0\x41\x02\x12\x17\n\npolicy_uid\x18\x0c \x01(\tB\x03\xe0\x41\x03\x12)\n\tcondition\x18\x08 \x01(\x0b\x32\x11.google.type.ExprB\x03\xe0\x41\x01\x12\x34\n\x0b\x63reate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x1a\x30\n\x06Target\x12\x1c\n\rprincipal_set\x18\x01 \x01(\tB\x03\xe0\x41\x05H\x00\x42\x08\n\x06target\x1a\x32\n\x10\x41nnotationsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"H\n\nPolicyKind\x12\x1b\n\x17POLICY_KIND_UNSPECIFIED\x10\x00\x12\x1d\n\x19PRINCIPAL_ACCESS_BOUNDARY\x10\x01:\xa8\x02\xea\x41\xa4\x02\n iam.googleapis.com/PolicyBinding\x12Qorganizations/{organization}/locations/{location}/policyBindings/{policy_binding}\x12\x45\x66olders/{folder}/locations/{location}/policyBindings/{policy_binding}\x12Gprojects/{project}/locations/{location}/policyBindings/{policy_binding}*\x0epolicyBindings2\rpolicyBindingB\x89\x01\n\x11\x63om.google.iam.v3B\x1bPolicyBindingResourcesProtoP\x01Z)cloud.google.com/go/iam/apiv3/iampb;iampb\xaa\x02\x13Google.Cloud.Iam.V3\xca\x02\x13Google\\Cloud\\Iam\\V3b\x06proto3"

pool = Google::Protobuf::DescriptorPool.generated_pool

begin
  pool.add_serialized_file(descriptor_data)
rescue TypeError
  # Compatibility code: will be removed in the next major version.
  require 'google/protobuf/descriptor_pb'
  parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
  parsed.clear_dependency
  serialized = parsed.class.encode(parsed)
  file = pool.add_serialized_file(serialized)
  warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
  imports = [
    ["google.type.Expr", "google/type/expr.proto"],
    ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
  ]
  imports.each do |type_name, expected_filename|
    import_file = pool.lookup(type_name).file_descriptor
    if import_file.name != expected_filename
      warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
    end
  end
  warn "Each proto file must use a consistent fully-qualified name."
  warn "This will become an error in the next major version."
end

module Google
  module Iam
    module V3
      PolicyBinding = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.PolicyBinding").msgclass
      PolicyBinding::Target = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.PolicyBinding.Target").msgclass
      PolicyBinding::PolicyKind = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.iam.v3.PolicyBinding.PolicyKind").enummodule
    end
  end
end
