# frozen_string_literal: true # Generated by the protocol buffer compiler. DO NOT EDIT! # source: google/api/field_info.proto require 'google/protobuf' require 'google/protobuf/descriptor_pb' descriptor_data = "\n\x1bgoogle/api/field_info.proto\x12\ngoogle.api\x1a google/protobuf/descriptor.proto\"\x8c\x01\n\tFieldInfo\x12,\n\x06\x66ormat\x18\x01 \x01(\x0e\x32\x1c.google.api.FieldInfo.Format\"Q\n\x06\x46ormat\x12\x16\n\x12\x46ORMAT_UNSPECIFIED\x10\x00\x12\t\n\x05UUID4\x10\x01\x12\x08\n\x04IPV4\x10\x02\x12\x08\n\x04IPV6\x10\x03\x12\x10\n\x0cIPV4_OR_IPV6\x10\x04:L\n\nfield_info\x12\x1d.google.protobuf.FieldOptions\x18\xcc\xf1\xf9\x8a\x01 \x01(\x0b\x32\x15.google.api.FieldInfoBl\n\x0e\x63om.google.apiB\x0e\x46ieldInfoProtoP\x01ZAgoogle.golang.org/genproto/googleapis/api/annotations;annotations\xa2\x02\x04GAPIb\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 FieldInfo = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.api.FieldInfo").msgclass FieldInfo::Format = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.api.FieldInfo.Format").enummodule end end #### Source proto file: google/api/field_info.proto #### # # // Copyright 2023 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; # # import "google/protobuf/descriptor.proto"; # # option go_package = "google.golang.org/genproto/googleapis/api/annotations;annotations"; # option java_multiple_files = true; # option java_outer_classname = "FieldInfoProto"; # option java_package = "com.google.api"; # option objc_class_prefix = "GAPI"; # # extend google.protobuf.FieldOptions { # // Rich semantic descriptor of an API field beyond the basic typing. # // # // Examples: # // # // string request_id = 1 [(google.api.field_info).format = UUID4]; # // string old_ip_address = 2 [(google.api.field_info).format = IPV4]; # // string new_ip_address = 3 [(google.api.field_info).format = IPV6]; # // string actual_ip_address = 4 [ # // (google.api.field_info).format = IPV4_OR_IPV6 # // ]; # google.api.FieldInfo field_info = 291403980; # } # # // Rich semantic information of an API field beyond basic typing. # message FieldInfo { # // The standard format of a field value. The supported formats are all backed # // by either an RFC defined by the IETF or a Google-defined AIP. # enum Format { # // Default, unspecified value. # FORMAT_UNSPECIFIED = 0; # # // Universally Unique Identifier, version 4, value as defined by # // https://datatracker.ietf.org/doc/html/rfc4122. The value may be # // normalized to entirely lowercase letters. For example, the value # // `F47AC10B-58CC-0372-8567-0E02B2C3D479` would be normalized to # // `f47ac10b-58cc-0372-8567-0e02b2c3d479`. # UUID4 = 1; # # // Internet Protocol v4 value as defined by [RFC # // 791](https://datatracker.ietf.org/doc/html/rfc791). The value may be # // condensed, with leading zeros in each octet stripped. For example, # // `001.022.233.040` would be condensed to `1.22.233.40`. # IPV4 = 2; # # // Internet Protocol v6 value as defined by [RFC # // 2460](https://datatracker.ietf.org/doc/html/rfc2460). The value may be # // normalized to entirely lowercase letters, and zero-padded partial and # // empty octets. For example, the value `2001:DB8::` would be normalized to # // `2001:0db8:0:0`. # IPV6 = 3; # # // An IP address in either v4 or v6 format as described by the individual # // values defined herein. See the comments on the IPV4 and IPV6 types for # // allowed normalizations of each. # IPV4_OR_IPV6 = 4; # } # # // The standard format of a field value. This does not explicitly configure # // any API consumer, just documents the API's format for the field it is # // applied to. # Format format = 1; # }