# frozen_string_literal: true
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/cloud/networkservices/v1/service_lb_policy.proto

require 'google/protobuf'

require 'google/api/field_behavior_pb'
require 'google/api/resource_pb'
require 'google/protobuf/field_mask_pb'
require 'google/protobuf/timestamp_pb'


descriptor_data = "\n7google/cloud/networkservices/v1/service_lb_policy.proto\x12\x1fgoogle.cloud.networkservices.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xba\x0b\n\x0fServiceLbPolicy\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12Q\n\x06labels\x18\x04 \x03(\x0b\x32<.google.cloud.networkservices.v1.ServiceLbPolicy.LabelsEntryB\x03\xe0\x41\x01\x12\x18\n\x0b\x64\x65scription\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12n\n\x18load_balancing_algorithm\x18\x06 \x01(\x0e\x32G.google.cloud.networkservices.v1.ServiceLbPolicy.LoadBalancingAlgorithmB\x03\xe0\x41\x01\x12\x64\n\x13\x61uto_capacity_drain\x18\x08 \x01(\x0b\x32\x42.google.cloud.networkservices.v1.ServiceLbPolicy.AutoCapacityDrainB\x03\xe0\x41\x01\x12]\n\x0f\x66\x61ilover_config\x18\n \x01(\x0b\x32?.google.cloud.networkservices.v1.ServiceLbPolicy.FailoverConfigB\x03\xe0\x41\x01\x12_\n\x10isolation_config\x18\x0b \x01(\x0b\x32@.google.cloud.networkservices.v1.ServiceLbPolicy.IsolationConfigB\x03\xe0\x41\x01\x1a(\n\x11\x41utoCapacityDrain\x12\x13\n\x06\x65nable\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\x1a\x38\n\x0e\x46\x61iloverConfig\x12&\n\x19\x66\x61ilover_health_threshold\x18\x01 \x01(\x05\x42\x03\xe0\x41\x01\x1a\xd9\x01\n\x0fIsolationConfig\x12i\n\x15isolation_granularity\x18\x01 \x01(\x0e\x32\x45.google.cloud.networkservices.v1.ServiceLbPolicy.IsolationGranularityB\x03\xe0\x41\x01\x12[\n\x0eisolation_mode\x18\x02 \x01(\x0e\x32>.google.cloud.networkservices.v1.ServiceLbPolicy.IsolationModeB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x9b\x01\n\x16LoadBalancingAlgorithm\x12(\n$LOAD_BALANCING_ALGORITHM_UNSPECIFIED\x10\x00\x12\x12\n\x0eSPRAY_TO_WORLD\x10\x03\x12\x13\n\x0fSPRAY_TO_REGION\x10\x04\x12\x17\n\x13WATERFALL_BY_REGION\x10\x05\x12\x15\n\x11WATERFALL_BY_ZONE\x10\x06\"I\n\x14IsolationGranularity\x12%\n!ISOLATION_GRANULARITY_UNSPECIFIED\x10\x00\x12\n\n\x06REGION\x10\x01\"H\n\rIsolationMode\x12\x1e\n\x1aISOLATION_MODE_UNSPECIFIED\x10\x00\x12\x0b\n\x07NEAREST\x10\x01\x12\n\n\x06STRICT\x10\x02:\x82\x01\xea\x41\x7f\n.networkservices.googleapis.com/ServiceLbPolicy\x12Mprojects/{project}/locations/{location}/serviceLbPolicies/{service_lb_policy}\"\x8d\x01\n\x1cListServiceLbPoliciesRequest\x12\x46\n\x06parent\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\x12.networkservices.googleapis.com/ServiceLbPolicy\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x9c\x01\n\x1dListServiceLbPoliciesResponse\x12M\n\x13service_lb_policies\x18\x01 \x03(\x0b\x32\x30.google.cloud.networkservices.v1.ServiceLbPolicy\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x13\n\x0bunreachable\x18\x03 \x03(\t\"a\n\x19GetServiceLbPolicyRequest\x12\x44\n\x04name\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.networkservices.googleapis.com/ServiceLbPolicy\"\xdb\x01\n\x1c\x43reateServiceLbPolicyRequest\x12\x46\n\x06parent\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\x12.networkservices.googleapis.com/ServiceLbPolicy\x12!\n\x14service_lb_policy_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12P\n\x11service_lb_policy\x18\x03 \x01(\x0b\x32\x30.google.cloud.networkservices.v1.ServiceLbPolicyB\x03\xe0\x41\x02\"\xa6\x01\n\x1cUpdateServiceLbPolicyRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12P\n\x11service_lb_policy\x18\x02 \x01(\x0b\x32\x30.google.cloud.networkservices.v1.ServiceLbPolicyB\x03\xe0\x41\x02\"d\n\x1c\x44\x65leteServiceLbPolicyRequest\x12\x44\n\x04name\x18\x01 \x01(\tB6\xe0\x41\x02\xfa\x41\x30\n.networkservices.googleapis.com/ServiceLbPolicyB\xf5\x01\n#com.google.cloud.networkservices.v1B\x14ServiceLbPolicyProtoP\x01ZMcloud.google.com/go/networkservices/apiv1/networkservicespb;networkservicespb\xaa\x02\x1fGoogle.Cloud.NetworkServices.V1\xca\x02\x1fGoogle\\Cloud\\NetworkServices\\V1\xea\x02\"Google::Cloud::NetworkServices::V1b\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.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
    ["google.protobuf.FieldMask", "google/protobuf/field_mask.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 Cloud
    module NetworkServices
      module V1
        ServiceLbPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.ServiceLbPolicy").msgclass
        ServiceLbPolicy::AutoCapacityDrain = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.ServiceLbPolicy.AutoCapacityDrain").msgclass
        ServiceLbPolicy::FailoverConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.ServiceLbPolicy.FailoverConfig").msgclass
        ServiceLbPolicy::IsolationConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.ServiceLbPolicy.IsolationConfig").msgclass
        ServiceLbPolicy::LoadBalancingAlgorithm = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.ServiceLbPolicy.LoadBalancingAlgorithm").enummodule
        ServiceLbPolicy::IsolationGranularity = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.ServiceLbPolicy.IsolationGranularity").enummodule
        ServiceLbPolicy::IsolationMode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.ServiceLbPolicy.IsolationMode").enummodule
        ListServiceLbPoliciesRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.ListServiceLbPoliciesRequest").msgclass
        ListServiceLbPoliciesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.ListServiceLbPoliciesResponse").msgclass
        GetServiceLbPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.GetServiceLbPolicyRequest").msgclass
        CreateServiceLbPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.CreateServiceLbPolicyRequest").msgclass
        UpdateServiceLbPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.UpdateServiceLbPolicyRequest").msgclass
        DeleteServiceLbPolicyRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.networkservices.v1.DeleteServiceLbPolicyRequest").msgclass
      end
    end
  end
end
