# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/orgpolicy/v2/orgpolicy.proto

require 'google/protobuf'

require 'google/api/annotations_pb'
require 'google/api/client_pb'
require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/cloud/orgpolicy/v2/constraint_pb'
require 'google/protobuf/empty_pb'
require 'google/protobuf/timestamp_pb'
require 'google/type/expr_pb'

Google::Protobuf::DescriptorPool.generated_pool.build do
  add_file("google/cloud/orgpolicy/v2/orgpolicy.proto", :syntax => :proto3) do
    add_message "google.cloud.orgpolicy.v2.Policy" do
      optional :name, :string, 1
      optional :spec, :message, 2, "google.cloud.orgpolicy.v2.PolicySpec"
      optional :alternate, :message, 3, "google.cloud.orgpolicy.v2.AlternatePolicySpec"
    end
    add_message "google.cloud.orgpolicy.v2.AlternatePolicySpec" do
      optional :launch, :string, 1
      optional :spec, :message, 2, "google.cloud.orgpolicy.v2.PolicySpec"
    end
    add_message "google.cloud.orgpolicy.v2.PolicySpec" do
      optional :etag, :string, 1
      optional :update_time, :message, 2, "google.protobuf.Timestamp"
      repeated :rules, :message, 3, "google.cloud.orgpolicy.v2.PolicySpec.PolicyRule"
      optional :inherit_from_parent, :bool, 4
      optional :reset, :bool, 5
    end
    add_message "google.cloud.orgpolicy.v2.PolicySpec.PolicyRule" do
      optional :condition, :message, 5, "google.type.Expr"
      oneof :kind do
        optional :values, :message, 1, "google.cloud.orgpolicy.v2.PolicySpec.PolicyRule.StringValues"
        optional :allow_all, :bool, 2
        optional :deny_all, :bool, 3
        optional :enforce, :bool, 4
      end
    end
    add_message "google.cloud.orgpolicy.v2.PolicySpec.PolicyRule.StringValues" do
      repeated :allowed_values, :string, 1
      repeated :denied_values, :string, 2
    end
    add_message "google.cloud.orgpolicy.v2.ListConstraintsRequest" do
      optional :parent, :string, 1
      optional :page_size, :int32, 2
      optional :page_token, :string, 3
    end
    add_message "google.cloud.orgpolicy.v2.ListConstraintsResponse" do
      repeated :constraints, :message, 1, "google.cloud.orgpolicy.v2.Constraint"
      optional :next_page_token, :string, 2
    end
    add_message "google.cloud.orgpolicy.v2.ListPoliciesRequest" do
      optional :parent, :string, 1
      optional :page_size, :int32, 2
      optional :page_token, :string, 3
    end
    add_message "google.cloud.orgpolicy.v2.ListPoliciesResponse" do
      repeated :policies, :message, 1, "google.cloud.orgpolicy.v2.Policy"
      optional :next_page_token, :string, 2
    end
    add_message "google.cloud.orgpolicy.v2.GetPolicyRequest" do
      optional :name, :string, 1
    end
    add_message "google.cloud.orgpolicy.v2.GetEffectivePolicyRequest" do
      optional :name, :string, 1
    end
    add_message "google.cloud.orgpolicy.v2.CreatePolicyRequest" do
      optional :parent, :string, 1
      optional :policy, :message, 3, "google.cloud.orgpolicy.v2.Policy"
    end
    add_message "google.cloud.orgpolicy.v2.UpdatePolicyRequest" do
      optional :policy, :message, 1, "google.cloud.orgpolicy.v2.Policy"
    end
    add_message "google.cloud.orgpolicy.v2.DeletePolicyRequest" do
      optional :name, :string, 1
    end
  end
end

module Google
  module Cloud
    module OrgPolicy
      module V2
        Policy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.Policy").msgclass
        AlternatePolicySpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.AlternatePolicySpec").msgclass
        PolicySpec = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.PolicySpec").msgclass
        PolicySpec::PolicyRule = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.PolicySpec.PolicyRule").msgclass
        PolicySpec::PolicyRule::StringValues = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.PolicySpec.PolicyRule.StringValues").msgclass
        ListConstraintsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.ListConstraintsRequest").msgclass
        ListConstraintsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.ListConstraintsResponse").msgclass
        ListPoliciesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.ListPoliciesRequest").msgclass
        ListPoliciesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.ListPoliciesResponse").msgclass
        GetPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.GetPolicyRequest").msgclass
        GetEffectivePolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.GetEffectivePolicyRequest").msgclass
        CreatePolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.CreatePolicyRequest").msgclass
        UpdatePolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.UpdatePolicyRequest").msgclass
        DeletePolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.orgpolicy.v2.DeletePolicyRequest").msgclass
      end
    end
  end
end