# frozen_string_literal: true
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/api/consumer.proto

require 'google/protobuf'


descriptor_data = "\n\x19google/api/consumer.proto\x12\ngoogle.api\"=\n\x11ProjectProperties\x12(\n\nproperties\x18\x01 \x03(\x0b\x32\x14.google.api.Property\"\xac\x01\n\x08Property\x12\x0c\n\x04name\x18\x01 \x01(\t\x12/\n\x04type\x18\x02 \x01(\x0e\x32!.google.api.Property.PropertyType\x12\x13\n\x0b\x64\x65scription\x18\x03 \x01(\t\"L\n\x0cPropertyType\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05INT64\x10\x01\x12\x08\n\x04\x42OOL\x10\x02\x12\n\n\x06STRING\x10\x03\x12\n\n\x06\x44OUBLE\x10\x04\x42h\n\x0e\x63om.google.apiB\rConsumerProtoP\x01ZEgoogle.golang.org/genproto/googleapis/api/serviceconfig;serviceconfigb\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 = [
  ]
  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 Api
    ProjectProperties = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.api.ProjectProperties").msgclass
    Property = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.api.Property").msgclass
    Property::PropertyType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.api.Property.PropertyType").enummodule
  end
end

#### Source proto file: google/api/consumer.proto ####
#
# // Copyright 2024 Google LLC
# //
# // Licensed under the Apache License, Version 2.0 (the "License");
# // you may not use this file except in compliance with the License.
# // You may obtain a copy of the License at
# //
# //     http://www.apache.org/licenses/LICENSE-2.0
# //
# // Unless required by applicable law or agreed to in writing, software
# // distributed under the License is distributed on an "AS IS" BASIS,
# // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# // See the License for the specific language governing permissions and
# // limitations under the License.
#
# syntax = "proto3";
#
# package google.api;
#
# option go_package = "google.golang.org/genproto/googleapis/api/serviceconfig;serviceconfig";
# option java_multiple_files = true;
# option java_outer_classname = "ConsumerProto";
# option java_package = "com.google.api";
#
# // A descriptor for defining project properties for a service. One service may
# // have many consumer projects, and the service may want to behave differently
# // depending on some properties on the project. For example, a project may be
# // associated with a school, or a business, or a government agency, a business
# // type property on the project may affect how a service responds to the client.
# // This descriptor defines which properties are allowed to be set on a project.
# //
# // Example:
# //
# //    project_properties:
# //      properties:
# //      - name: NO_WATERMARK
# //        type: BOOL
# //        description: Allows usage of the API without watermarks.
# //      - name: EXTENDED_TILE_CACHE_PERIOD
# //        type: INT64
# message ProjectProperties {
#   // List of per consumer project-specific properties.
#   repeated Property properties = 1;
# }
#
# // Defines project properties.
# //
# // API services can define properties that can be assigned to consumer projects
# // so that backends can perform response customization without having to make
# // additional calls or maintain additional storage. For example, Maps API
# // defines properties that controls map tile cache period, or whether to embed a
# // watermark in a result.
# //
# // These values can be set via API producer console. Only API providers can
# // define and set these properties.
# message Property {
#   // Supported data type of the property values
#   enum PropertyType {
#     // The type is unspecified, and will result in an error.
#     UNSPECIFIED = 0;
#
#     // The type is `int64`.
#     INT64 = 1;
#
#     // The type is `bool`.
#     BOOL = 2;
#
#     // The type is `string`.
#     STRING = 3;
#
#     // The type is 'double'.
#     DOUBLE = 4;
#   }
#
#   // The name of the property (a.k.a key).
#   string name = 1;
#
#   // The type of this property.
#   PropertyType type = 2;
#
#   // The description of the property
#   string description = 3;
# }
