agones.dev/agones@v1.53.0/sdks/cpp/include/google/api/http.pb.h (about)

     1  // Copyright 2024 Google LLC All Rights Reserved.
     2  //
     3  // Licensed under the Apache License, Version 2.0 (the "License");
     4  // you may not use this file except in compliance with the License.
     5  // You may obtain a copy of the License at
     6  //
     7  //     http://www.apache.org/licenses/LICENSE-2.0
     8  //
     9  // Unless required by applicable law or agreed to in writing, software
    10  // distributed under the License is distributed on an "AS IS" BASIS,
    11  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  // See the License for the specific language governing permissions and
    13  // limitations under the License.
    14  
    15  // This code was autogenerated. Do not edit directly.
    16  // Generated by the protocol buffer compiler.  DO NOT EDIT!
    17  // NO CHECKED-IN PROTOBUF GENCODE
    18  // source: google/api/http.proto
    19  // Protobuf C++ Version: 6.30.0
    20  
    21  #ifndef google_2fapi_2fhttp_2eproto_2epb_2eh
    22  #define google_2fapi_2fhttp_2eproto_2epb_2eh
    23  
    24  #include <limits>
    25  #include <string>
    26  #include <type_traits>
    27  #include <utility>
    28  
    29  #include "google/protobuf/runtime_version.h"
    30  #if PROTOBUF_VERSION != 6030000
    31  #error "Protobuf C++ gencode is built with an incompatible version of"
    32  #error "Protobuf C++ headers/runtime. See"
    33  #error "https://protobuf.dev/support/cross-version-runtime-guarantee/#cpp"
    34  #endif
    35  #include "google/protobuf/io/coded_stream.h"
    36  #include "google/protobuf/arena.h"
    37  #include "google/protobuf/arenastring.h"
    38  #include "google/protobuf/generated_message_tctable_decl.h"
    39  #include "google/protobuf/generated_message_util.h"
    40  #include "google/protobuf/metadata_lite.h"
    41  #include "google/protobuf/generated_message_reflection.h"
    42  #include "google/protobuf/message.h"
    43  #include "google/protobuf/message_lite.h"
    44  #include "google/protobuf/repeated_field.h"  // IWYU pragma: export
    45  #include "google/protobuf/extension_set.h"  // IWYU pragma: export
    46  #include "google/protobuf/unknown_field_set.h"
    47  // @@protoc_insertion_point(includes)
    48  
    49  // Must be included last.
    50  #include "google/protobuf/port_def.inc"
    51  
    52  #define PROTOBUF_INTERNAL_EXPORT_google_2fapi_2fhttp_2eproto AGONES_EXPORT
    53  
    54  namespace google {
    55  namespace protobuf {
    56  namespace internal {
    57  template <typename T>
    58  ::absl::string_view GetAnyMessageName();
    59  }  // namespace internal
    60  }  // namespace protobuf
    61  }  // namespace google
    62  
    63  // Internal implementation detail -- do not use these members.
    64  struct AGONES_EXPORT TableStruct_google_2fapi_2fhttp_2eproto {
    65    static const ::uint32_t offsets[];
    66  };
    67  extern "C" {
    68  AGONES_EXPORT extern const ::google::protobuf::internal::DescriptorTable descriptor_table_google_2fapi_2fhttp_2eproto;
    69  }  // extern "C"
    70  namespace google {
    71  namespace api {
    72  class CustomHttpPattern;
    73  struct CustomHttpPatternDefaultTypeInternal;
    74  AGONES_EXPORT extern CustomHttpPatternDefaultTypeInternal _CustomHttpPattern_default_instance_;
    75  AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull CustomHttpPattern_class_data_;
    76  class Http;
    77  struct HttpDefaultTypeInternal;
    78  AGONES_EXPORT extern HttpDefaultTypeInternal _Http_default_instance_;
    79  AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Http_class_data_;
    80  class HttpRule;
    81  struct HttpRuleDefaultTypeInternal;
    82  AGONES_EXPORT extern HttpRuleDefaultTypeInternal _HttpRule_default_instance_;
    83  AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull HttpRule_class_data_;
    84  }  // namespace api
    85  namespace protobuf {
    86  }  // namespace protobuf
    87  }  // namespace google
    88  
    89  namespace google {
    90  namespace api {
    91  
    92  // ===================================================================
    93  
    94  
    95  // -------------------------------------------------------------------
    96  
    97  class AGONES_EXPORT CustomHttpPattern final : public ::google::protobuf::Message
    98  /* @@protoc_insertion_point(class_definition:google.api.CustomHttpPattern) */ {
    99   public:
   100    inline CustomHttpPattern() : CustomHttpPattern(nullptr) {}
   101    ~CustomHttpPattern() PROTOBUF_FINAL;
   102  
   103  #if defined(PROTOBUF_CUSTOM_VTABLE)
   104    void operator delete(CustomHttpPattern* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
   105      SharedDtor(*msg);
   106      ::google::protobuf::internal::SizedDelete(msg, sizeof(CustomHttpPattern));
   107    }
   108  #endif
   109  
   110    template <typename = void>
   111    explicit PROTOBUF_CONSTEXPR CustomHttpPattern(::google::protobuf::internal::ConstantInitialized);
   112  
   113    inline CustomHttpPattern(const CustomHttpPattern& from) : CustomHttpPattern(nullptr, from) {}
   114    inline CustomHttpPattern(CustomHttpPattern&& from) noexcept
   115        : CustomHttpPattern(nullptr, std::move(from)) {}
   116    inline CustomHttpPattern& operator=(const CustomHttpPattern& from) {
   117      CopyFrom(from);
   118      return *this;
   119    }
   120    inline CustomHttpPattern& operator=(CustomHttpPattern&& from) noexcept {
   121      if (this == &from) return *this;
   122      if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
   123        InternalSwap(&from);
   124      } else {
   125        CopyFrom(from);
   126      }
   127      return *this;
   128    }
   129  
   130    inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
   131        ABSL_ATTRIBUTE_LIFETIME_BOUND {
   132      return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
   133    }
   134    inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
   135        ABSL_ATTRIBUTE_LIFETIME_BOUND {
   136      return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
   137    }
   138  
   139    static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
   140      return GetDescriptor();
   141    }
   142    static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
   143      return default_instance().GetMetadata().descriptor;
   144    }
   145    static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
   146      return default_instance().GetMetadata().reflection;
   147    }
   148    static const CustomHttpPattern& default_instance() {
   149      return *reinterpret_cast<const CustomHttpPattern*>(
   150          &_CustomHttpPattern_default_instance_);
   151    }
   152    static constexpr int kIndexInFileMessages = 2;
   153    friend void swap(CustomHttpPattern& a, CustomHttpPattern& b) { a.Swap(&b); }
   154    inline void Swap(CustomHttpPattern* PROTOBUF_NONNULL other) {
   155      if (other == this) return;
   156      if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
   157        InternalSwap(other);
   158      } else {
   159        ::google::protobuf::internal::GenericSwap(this, other);
   160      }
   161    }
   162    void UnsafeArenaSwap(CustomHttpPattern* PROTOBUF_NONNULL other) {
   163      if (other == this) return;
   164      ABSL_DCHECK(GetArena() == other->GetArena());
   165      InternalSwap(other);
   166    }
   167  
   168    // implements Message ----------------------------------------------
   169  
   170    CustomHttpPattern* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
   171      return ::google::protobuf::Message::DefaultConstruct<CustomHttpPattern>(arena);
   172    }
   173    using ::google::protobuf::Message::CopyFrom;
   174    void CopyFrom(const CustomHttpPattern& from);
   175    using ::google::protobuf::Message::MergeFrom;
   176    void MergeFrom(const CustomHttpPattern& from) { CustomHttpPattern::MergeImpl(*this, from); }
   177  
   178    private:
   179    static void MergeImpl(::google::protobuf::MessageLite& to_msg,
   180                          const ::google::protobuf::MessageLite& from_msg);
   181  
   182    public:
   183    bool IsInitialized() const {
   184      return true;
   185    }
   186    ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
   187    #if defined(PROTOBUF_CUSTOM_VTABLE)
   188    private:
   189    static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
   190    static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
   191        const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
   192        ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
   193  
   194    public:
   195    ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
   196    ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
   197        ::uint8_t* PROTOBUF_NONNULL target,
   198        ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
   199      return _InternalSerialize(*this, target, stream);
   200    }
   201    #else   // PROTOBUF_CUSTOM_VTABLE
   202    ::size_t ByteSizeLong() const final;
   203    ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
   204        ::uint8_t* PROTOBUF_NONNULL target,
   205        ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
   206    #endif  // PROTOBUF_CUSTOM_VTABLE
   207    int GetCachedSize() const { return _impl_._cached_size_.Get(); }
   208  
   209    private:
   210    void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
   211    static void SharedDtor(MessageLite& self);
   212    void InternalSwap(CustomHttpPattern* PROTOBUF_NONNULL other);
   213   private:
   214    template <typename T>
   215    friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
   216    static ::absl::string_view FullMessageName() { return "google.api.CustomHttpPattern"; }
   217  
   218   protected:
   219    explicit CustomHttpPattern(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
   220    CustomHttpPattern(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const CustomHttpPattern& from);
   221    CustomHttpPattern(
   222        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, CustomHttpPattern&& from) noexcept
   223        : CustomHttpPattern(arena) {
   224      *this = ::std::move(from);
   225    }
   226    const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
   227    static void* PROTOBUF_NONNULL PlacementNew_(
   228        const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
   229        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
   230    static constexpr auto InternalNewImpl_();
   231  
   232   public:
   233    static constexpr auto InternalGenerateClassData_();
   234  
   235    ::google::protobuf::Metadata GetMetadata() const;
   236    // nested types ----------------------------------------------------
   237  
   238    // accessors -------------------------------------------------------
   239    enum : int {
   240      kKindFieldNumber = 1,
   241      kPathFieldNumber = 2,
   242    };
   243    // string kind = 1;
   244    void clear_kind() ;
   245    const std::string& kind() const;
   246    template <typename Arg_ = const std::string&, typename... Args_>
   247    void set_kind(Arg_&& arg, Args_... args);
   248    std::string* PROTOBUF_NONNULL mutable_kind();
   249    [[nodiscard]] std::string* PROTOBUF_NULLABLE release_kind();
   250    void set_allocated_kind(std::string* PROTOBUF_NULLABLE value);
   251  
   252    private:
   253    const std::string& _internal_kind() const;
   254    PROTOBUF_ALWAYS_INLINE void _internal_set_kind(const std::string& value);
   255    std::string* PROTOBUF_NONNULL _internal_mutable_kind();
   256  
   257    public:
   258    // string path = 2;
   259    void clear_path() ;
   260    const std::string& path() const;
   261    template <typename Arg_ = const std::string&, typename... Args_>
   262    void set_path(Arg_&& arg, Args_... args);
   263    std::string* PROTOBUF_NONNULL mutable_path();
   264    [[nodiscard]] std::string* PROTOBUF_NULLABLE release_path();
   265    void set_allocated_path(std::string* PROTOBUF_NULLABLE value);
   266  
   267    private:
   268    const std::string& _internal_path() const;
   269    PROTOBUF_ALWAYS_INLINE void _internal_set_path(const std::string& value);
   270    std::string* PROTOBUF_NONNULL _internal_mutable_path();
   271  
   272    public:
   273    // @@protoc_insertion_point(class_scope:google.api.CustomHttpPattern)
   274   private:
   275    class _Internal;
   276    friend class ::google::protobuf::internal::TcParser;
   277    static const ::google::protobuf::internal::TcParseTable<1, 2,
   278                                     0, 45,
   279                                     2>
   280        _table_;
   281  
   282    friend class ::google::protobuf::MessageLite;
   283    friend class ::google::protobuf::Arena;
   284    template <typename T>
   285    friend class ::google::protobuf::Arena::InternalHelper;
   286    using InternalArenaConstructable_ = void;
   287    using DestructorSkippable_ = void;
   288    struct Impl_ {
   289      inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
   290      inline explicit Impl_(
   291          ::google::protobuf::internal::InternalVisibility visibility,
   292          ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
   293      inline explicit Impl_(
   294          ::google::protobuf::internal::InternalVisibility visibility,
   295          ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
   296          const CustomHttpPattern& from_msg);
   297      ::google::protobuf::internal::HasBits<1> _has_bits_;
   298      ::google::protobuf::internal::CachedSize _cached_size_;
   299      ::google::protobuf::internal::ArenaStringPtr kind_;
   300      ::google::protobuf::internal::ArenaStringPtr path_;
   301      PROTOBUF_TSAN_DECLARE_MEMBER
   302    };
   303    union { Impl_ _impl_; };
   304    friend struct ::TableStruct_google_2fapi_2fhttp_2eproto;
   305  };
   306  
   307  AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull CustomHttpPattern_class_data_;
   308  // -------------------------------------------------------------------
   309  
   310  class AGONES_EXPORT HttpRule final : public ::google::protobuf::Message
   311  /* @@protoc_insertion_point(class_definition:google.api.HttpRule) */ {
   312   public:
   313    inline HttpRule() : HttpRule(nullptr) {}
   314    ~HttpRule() PROTOBUF_FINAL;
   315  
   316  #if defined(PROTOBUF_CUSTOM_VTABLE)
   317    void operator delete(HttpRule* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
   318      SharedDtor(*msg);
   319      ::google::protobuf::internal::SizedDelete(msg, sizeof(HttpRule));
   320    }
   321  #endif
   322  
   323    template <typename = void>
   324    explicit PROTOBUF_CONSTEXPR HttpRule(::google::protobuf::internal::ConstantInitialized);
   325  
   326    inline HttpRule(const HttpRule& from) : HttpRule(nullptr, from) {}
   327    inline HttpRule(HttpRule&& from) noexcept
   328        : HttpRule(nullptr, std::move(from)) {}
   329    inline HttpRule& operator=(const HttpRule& from) {
   330      CopyFrom(from);
   331      return *this;
   332    }
   333    inline HttpRule& operator=(HttpRule&& from) noexcept {
   334      if (this == &from) return *this;
   335      if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
   336        InternalSwap(&from);
   337      } else {
   338        CopyFrom(from);
   339      }
   340      return *this;
   341    }
   342  
   343    inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
   344        ABSL_ATTRIBUTE_LIFETIME_BOUND {
   345      return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
   346    }
   347    inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
   348        ABSL_ATTRIBUTE_LIFETIME_BOUND {
   349      return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
   350    }
   351  
   352    static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
   353      return GetDescriptor();
   354    }
   355    static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
   356      return default_instance().GetMetadata().descriptor;
   357    }
   358    static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
   359      return default_instance().GetMetadata().reflection;
   360    }
   361    static const HttpRule& default_instance() {
   362      return *reinterpret_cast<const HttpRule*>(
   363          &_HttpRule_default_instance_);
   364    }
   365    enum PatternCase {
   366      kGet = 2,
   367      kPut = 3,
   368      kPost = 4,
   369      kDelete = 5,
   370      kPatch = 6,
   371      kCustom = 8,
   372      PATTERN_NOT_SET = 0,
   373    };
   374    static constexpr int kIndexInFileMessages = 1;
   375    friend void swap(HttpRule& a, HttpRule& b) { a.Swap(&b); }
   376    inline void Swap(HttpRule* PROTOBUF_NONNULL other) {
   377      if (other == this) return;
   378      if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
   379        InternalSwap(other);
   380      } else {
   381        ::google::protobuf::internal::GenericSwap(this, other);
   382      }
   383    }
   384    void UnsafeArenaSwap(HttpRule* PROTOBUF_NONNULL other) {
   385      if (other == this) return;
   386      ABSL_DCHECK(GetArena() == other->GetArena());
   387      InternalSwap(other);
   388    }
   389  
   390    // implements Message ----------------------------------------------
   391  
   392    HttpRule* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
   393      return ::google::protobuf::Message::DefaultConstruct<HttpRule>(arena);
   394    }
   395    using ::google::protobuf::Message::CopyFrom;
   396    void CopyFrom(const HttpRule& from);
   397    using ::google::protobuf::Message::MergeFrom;
   398    void MergeFrom(const HttpRule& from) { HttpRule::MergeImpl(*this, from); }
   399  
   400    private:
   401    static void MergeImpl(::google::protobuf::MessageLite& to_msg,
   402                          const ::google::protobuf::MessageLite& from_msg);
   403  
   404    public:
   405    bool IsInitialized() const {
   406      return true;
   407    }
   408    ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
   409    #if defined(PROTOBUF_CUSTOM_VTABLE)
   410    private:
   411    static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
   412    static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
   413        const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
   414        ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
   415  
   416    public:
   417    ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
   418    ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
   419        ::uint8_t* PROTOBUF_NONNULL target,
   420        ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
   421      return _InternalSerialize(*this, target, stream);
   422    }
   423    #else   // PROTOBUF_CUSTOM_VTABLE
   424    ::size_t ByteSizeLong() const final;
   425    ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
   426        ::uint8_t* PROTOBUF_NONNULL target,
   427        ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
   428    #endif  // PROTOBUF_CUSTOM_VTABLE
   429    int GetCachedSize() const { return _impl_._cached_size_.Get(); }
   430  
   431    private:
   432    void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
   433    static void SharedDtor(MessageLite& self);
   434    void InternalSwap(HttpRule* PROTOBUF_NONNULL other);
   435   private:
   436    template <typename T>
   437    friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
   438    static ::absl::string_view FullMessageName() { return "google.api.HttpRule"; }
   439  
   440   protected:
   441    explicit HttpRule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
   442    HttpRule(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const HttpRule& from);
   443    HttpRule(
   444        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, HttpRule&& from) noexcept
   445        : HttpRule(arena) {
   446      *this = ::std::move(from);
   447    }
   448    const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
   449    static void* PROTOBUF_NONNULL PlacementNew_(
   450        const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
   451        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
   452    static constexpr auto InternalNewImpl_();
   453  
   454   public:
   455    static constexpr auto InternalGenerateClassData_();
   456  
   457    ::google::protobuf::Metadata GetMetadata() const;
   458    // nested types ----------------------------------------------------
   459  
   460    // accessors -------------------------------------------------------
   461    enum : int {
   462      kAdditionalBindingsFieldNumber = 11,
   463      kSelectorFieldNumber = 1,
   464      kBodyFieldNumber = 7,
   465      kResponseBodyFieldNumber = 12,
   466      kGetFieldNumber = 2,
   467      kPutFieldNumber = 3,
   468      kPostFieldNumber = 4,
   469      kDeleteFieldNumber = 5,
   470      kPatchFieldNumber = 6,
   471      kCustomFieldNumber = 8,
   472    };
   473    // repeated .google.api.HttpRule additional_bindings = 11;
   474    int additional_bindings_size() const;
   475    private:
   476    int _internal_additional_bindings_size() const;
   477  
   478    public:
   479    void clear_additional_bindings() ;
   480    ::google::api::HttpRule* PROTOBUF_NONNULL mutable_additional_bindings(int index);
   481    ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>* PROTOBUF_NONNULL mutable_additional_bindings();
   482  
   483    private:
   484    const ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>& _internal_additional_bindings() const;
   485    ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>* PROTOBUF_NONNULL _internal_mutable_additional_bindings();
   486    public:
   487    const ::google::api::HttpRule& additional_bindings(int index) const;
   488    ::google::api::HttpRule* PROTOBUF_NONNULL add_additional_bindings();
   489    const ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>& additional_bindings() const;
   490    // string selector = 1;
   491    void clear_selector() ;
   492    const std::string& selector() const;
   493    template <typename Arg_ = const std::string&, typename... Args_>
   494    void set_selector(Arg_&& arg, Args_... args);
   495    std::string* PROTOBUF_NONNULL mutable_selector();
   496    [[nodiscard]] std::string* PROTOBUF_NULLABLE release_selector();
   497    void set_allocated_selector(std::string* PROTOBUF_NULLABLE value);
   498  
   499    private:
   500    const std::string& _internal_selector() const;
   501    PROTOBUF_ALWAYS_INLINE void _internal_set_selector(const std::string& value);
   502    std::string* PROTOBUF_NONNULL _internal_mutable_selector();
   503  
   504    public:
   505    // string body = 7;
   506    void clear_body() ;
   507    const std::string& body() const;
   508    template <typename Arg_ = const std::string&, typename... Args_>
   509    void set_body(Arg_&& arg, Args_... args);
   510    std::string* PROTOBUF_NONNULL mutable_body();
   511    [[nodiscard]] std::string* PROTOBUF_NULLABLE release_body();
   512    void set_allocated_body(std::string* PROTOBUF_NULLABLE value);
   513  
   514    private:
   515    const std::string& _internal_body() const;
   516    PROTOBUF_ALWAYS_INLINE void _internal_set_body(const std::string& value);
   517    std::string* PROTOBUF_NONNULL _internal_mutable_body();
   518  
   519    public:
   520    // string response_body = 12;
   521    void clear_response_body() ;
   522    const std::string& response_body() const;
   523    template <typename Arg_ = const std::string&, typename... Args_>
   524    void set_response_body(Arg_&& arg, Args_... args);
   525    std::string* PROTOBUF_NONNULL mutable_response_body();
   526    [[nodiscard]] std::string* PROTOBUF_NULLABLE release_response_body();
   527    void set_allocated_response_body(std::string* PROTOBUF_NULLABLE value);
   528  
   529    private:
   530    const std::string& _internal_response_body() const;
   531    PROTOBUF_ALWAYS_INLINE void _internal_set_response_body(const std::string& value);
   532    std::string* PROTOBUF_NONNULL _internal_mutable_response_body();
   533  
   534    public:
   535    // string get = 2;
   536    bool has_get() const;
   537    void clear_get() ;
   538    const std::string& get() const;
   539    template <typename Arg_ = const std::string&, typename... Args_>
   540    void set_get(Arg_&& arg, Args_... args);
   541    std::string* PROTOBUF_NONNULL mutable_get();
   542    [[nodiscard]] std::string* PROTOBUF_NULLABLE release_get();
   543    void set_allocated_get(std::string* PROTOBUF_NULLABLE value);
   544  
   545    private:
   546    const std::string& _internal_get() const;
   547    PROTOBUF_ALWAYS_INLINE void _internal_set_get(const std::string& value);
   548    std::string* PROTOBUF_NONNULL _internal_mutable_get();
   549  
   550    public:
   551    // string put = 3;
   552    bool has_put() const;
   553    void clear_put() ;
   554    const std::string& put() const;
   555    template <typename Arg_ = const std::string&, typename... Args_>
   556    void set_put(Arg_&& arg, Args_... args);
   557    std::string* PROTOBUF_NONNULL mutable_put();
   558    [[nodiscard]] std::string* PROTOBUF_NULLABLE release_put();
   559    void set_allocated_put(std::string* PROTOBUF_NULLABLE value);
   560  
   561    private:
   562    const std::string& _internal_put() const;
   563    PROTOBUF_ALWAYS_INLINE void _internal_set_put(const std::string& value);
   564    std::string* PROTOBUF_NONNULL _internal_mutable_put();
   565  
   566    public:
   567    // string post = 4;
   568    bool has_post() const;
   569    void clear_post() ;
   570    const std::string& post() const;
   571    template <typename Arg_ = const std::string&, typename... Args_>
   572    void set_post(Arg_&& arg, Args_... args);
   573    std::string* PROTOBUF_NONNULL mutable_post();
   574    [[nodiscard]] std::string* PROTOBUF_NULLABLE release_post();
   575    void set_allocated_post(std::string* PROTOBUF_NULLABLE value);
   576  
   577    private:
   578    const std::string& _internal_post() const;
   579    PROTOBUF_ALWAYS_INLINE void _internal_set_post(const std::string& value);
   580    std::string* PROTOBUF_NONNULL _internal_mutable_post();
   581  
   582    public:
   583    // string delete = 5;
   584    bool has_delete_() const;
   585    void clear_delete_() ;
   586    const std::string& delete_() const;
   587    template <typename Arg_ = const std::string&, typename... Args_>
   588    void set_delete_(Arg_&& arg, Args_... args);
   589    std::string* PROTOBUF_NONNULL mutable_delete_();
   590    [[nodiscard]] std::string* PROTOBUF_NULLABLE release_delete_();
   591    void set_allocated_delete_(std::string* PROTOBUF_NULLABLE value);
   592  
   593    private:
   594    const std::string& _internal_delete_() const;
   595    PROTOBUF_ALWAYS_INLINE void _internal_set_delete_(const std::string& value);
   596    std::string* PROTOBUF_NONNULL _internal_mutable_delete_();
   597  
   598    public:
   599    // string patch = 6;
   600    bool has_patch() const;
   601    void clear_patch() ;
   602    const std::string& patch() const;
   603    template <typename Arg_ = const std::string&, typename... Args_>
   604    void set_patch(Arg_&& arg, Args_... args);
   605    std::string* PROTOBUF_NONNULL mutable_patch();
   606    [[nodiscard]] std::string* PROTOBUF_NULLABLE release_patch();
   607    void set_allocated_patch(std::string* PROTOBUF_NULLABLE value);
   608  
   609    private:
   610    const std::string& _internal_patch() const;
   611    PROTOBUF_ALWAYS_INLINE void _internal_set_patch(const std::string& value);
   612    std::string* PROTOBUF_NONNULL _internal_mutable_patch();
   613  
   614    public:
   615    // .google.api.CustomHttpPattern custom = 8;
   616    bool has_custom() const;
   617    private:
   618    bool _internal_has_custom() const;
   619  
   620    public:
   621    void clear_custom() ;
   622    const ::google::api::CustomHttpPattern& custom() const;
   623    [[nodiscard]] ::google::api::CustomHttpPattern* PROTOBUF_NULLABLE release_custom();
   624    ::google::api::CustomHttpPattern* PROTOBUF_NONNULL mutable_custom();
   625    void set_allocated_custom(::google::api::CustomHttpPattern* PROTOBUF_NULLABLE value);
   626    void unsafe_arena_set_allocated_custom(::google::api::CustomHttpPattern* PROTOBUF_NULLABLE value);
   627    ::google::api::CustomHttpPattern* PROTOBUF_NULLABLE unsafe_arena_release_custom();
   628  
   629    private:
   630    const ::google::api::CustomHttpPattern& _internal_custom() const;
   631    ::google::api::CustomHttpPattern* PROTOBUF_NONNULL _internal_mutable_custom();
   632  
   633    public:
   634    void clear_pattern();
   635    PatternCase pattern_case() const;
   636    // @@protoc_insertion_point(class_scope:google.api.HttpRule)
   637   private:
   638    class _Internal;
   639    void set_has_get();
   640    void set_has_put();
   641    void set_has_post();
   642    void set_has_delete_();
   643    void set_has_patch();
   644    void set_has_custom();
   645    inline bool has_pattern() const;
   646    inline void clear_has_pattern();
   647    friend class ::google::protobuf::internal::TcParser;
   648    static const ::google::protobuf::internal::TcParseTable<3, 10,
   649                                     2, 82,
   650                                     2>
   651        _table_;
   652  
   653    friend class ::google::protobuf::MessageLite;
   654    friend class ::google::protobuf::Arena;
   655    template <typename T>
   656    friend class ::google::protobuf::Arena::InternalHelper;
   657    using InternalArenaConstructable_ = void;
   658    using DestructorSkippable_ = void;
   659    struct Impl_ {
   660      inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
   661      inline explicit Impl_(
   662          ::google::protobuf::internal::InternalVisibility visibility,
   663          ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
   664      inline explicit Impl_(
   665          ::google::protobuf::internal::InternalVisibility visibility,
   666          ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
   667          const HttpRule& from_msg);
   668      ::google::protobuf::internal::HasBits<1> _has_bits_;
   669      ::google::protobuf::internal::CachedSize _cached_size_;
   670      ::google::protobuf::RepeatedPtrField< ::google::api::HttpRule > additional_bindings_;
   671      ::google::protobuf::internal::ArenaStringPtr selector_;
   672      ::google::protobuf::internal::ArenaStringPtr body_;
   673      ::google::protobuf::internal::ArenaStringPtr response_body_;
   674      union PatternUnion {
   675        constexpr PatternUnion() : _constinit_{} {}
   676        ::google::protobuf::internal::ConstantInitialized _constinit_;
   677        ::google::protobuf::internal::ArenaStringPtr get_;
   678        ::google::protobuf::internal::ArenaStringPtr put_;
   679        ::google::protobuf::internal::ArenaStringPtr post_;
   680        ::google::protobuf::internal::ArenaStringPtr delete__;
   681        ::google::protobuf::internal::ArenaStringPtr patch_;
   682        ::google::api::CustomHttpPattern* PROTOBUF_NULLABLE custom_;
   683      } pattern_;
   684      ::uint32_t _oneof_case_[1];
   685      PROTOBUF_TSAN_DECLARE_MEMBER
   686    };
   687    union { Impl_ _impl_; };
   688    friend struct ::TableStruct_google_2fapi_2fhttp_2eproto;
   689  };
   690  
   691  AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull HttpRule_class_data_;
   692  // -------------------------------------------------------------------
   693  
   694  class AGONES_EXPORT Http final : public ::google::protobuf::Message
   695  /* @@protoc_insertion_point(class_definition:google.api.Http) */ {
   696   public:
   697    inline Http() : Http(nullptr) {}
   698    ~Http() PROTOBUF_FINAL;
   699  
   700  #if defined(PROTOBUF_CUSTOM_VTABLE)
   701    void operator delete(Http* PROTOBUF_NONNULL msg, std::destroying_delete_t) {
   702      SharedDtor(*msg);
   703      ::google::protobuf::internal::SizedDelete(msg, sizeof(Http));
   704    }
   705  #endif
   706  
   707    template <typename = void>
   708    explicit PROTOBUF_CONSTEXPR Http(::google::protobuf::internal::ConstantInitialized);
   709  
   710    inline Http(const Http& from) : Http(nullptr, from) {}
   711    inline Http(Http&& from) noexcept
   712        : Http(nullptr, std::move(from)) {}
   713    inline Http& operator=(const Http& from) {
   714      CopyFrom(from);
   715      return *this;
   716    }
   717    inline Http& operator=(Http&& from) noexcept {
   718      if (this == &from) return *this;
   719      if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) {
   720        InternalSwap(&from);
   721      } else {
   722        CopyFrom(from);
   723      }
   724      return *this;
   725    }
   726  
   727    inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const
   728        ABSL_ATTRIBUTE_LIFETIME_BOUND {
   729      return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance);
   730    }
   731    inline ::google::protobuf::UnknownFieldSet* PROTOBUF_NONNULL mutable_unknown_fields()
   732        ABSL_ATTRIBUTE_LIFETIME_BOUND {
   733      return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>();
   734    }
   735  
   736    static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL descriptor() {
   737      return GetDescriptor();
   738    }
   739    static const ::google::protobuf::Descriptor* PROTOBUF_NONNULL GetDescriptor() {
   740      return default_instance().GetMetadata().descriptor;
   741    }
   742    static const ::google::protobuf::Reflection* PROTOBUF_NONNULL GetReflection() {
   743      return default_instance().GetMetadata().reflection;
   744    }
   745    static const Http& default_instance() {
   746      return *reinterpret_cast<const Http*>(
   747          &_Http_default_instance_);
   748    }
   749    static constexpr int kIndexInFileMessages = 0;
   750    friend void swap(Http& a, Http& b) { a.Swap(&b); }
   751    inline void Swap(Http* PROTOBUF_NONNULL other) {
   752      if (other == this) return;
   753      if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) {
   754        InternalSwap(other);
   755      } else {
   756        ::google::protobuf::internal::GenericSwap(this, other);
   757      }
   758    }
   759    void UnsafeArenaSwap(Http* PROTOBUF_NONNULL other) {
   760      if (other == this) return;
   761      ABSL_DCHECK(GetArena() == other->GetArena());
   762      InternalSwap(other);
   763    }
   764  
   765    // implements Message ----------------------------------------------
   766  
   767    Http* PROTOBUF_NONNULL New(::google::protobuf::Arena* PROTOBUF_NULLABLE arena = nullptr) const {
   768      return ::google::protobuf::Message::DefaultConstruct<Http>(arena);
   769    }
   770    using ::google::protobuf::Message::CopyFrom;
   771    void CopyFrom(const Http& from);
   772    using ::google::protobuf::Message::MergeFrom;
   773    void MergeFrom(const Http& from) { Http::MergeImpl(*this, from); }
   774  
   775    private:
   776    static void MergeImpl(::google::protobuf::MessageLite& to_msg,
   777                          const ::google::protobuf::MessageLite& from_msg);
   778  
   779    public:
   780    bool IsInitialized() const {
   781      return true;
   782    }
   783    ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL;
   784    #if defined(PROTOBUF_CUSTOM_VTABLE)
   785    private:
   786    static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg);
   787    static ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
   788        const ::google::protobuf::MessageLite& msg, ::uint8_t* PROTOBUF_NONNULL target,
   789        ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream);
   790  
   791    public:
   792    ::size_t ByteSizeLong() const { return ByteSizeLong(*this); }
   793    ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
   794        ::uint8_t* PROTOBUF_NONNULL target,
   795        ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const {
   796      return _InternalSerialize(*this, target, stream);
   797    }
   798    #else   // PROTOBUF_CUSTOM_VTABLE
   799    ::size_t ByteSizeLong() const final;
   800    ::uint8_t* PROTOBUF_NONNULL _InternalSerialize(
   801        ::uint8_t* PROTOBUF_NONNULL target,
   802        ::google::protobuf::io::EpsCopyOutputStream* PROTOBUF_NONNULL stream) const final;
   803    #endif  // PROTOBUF_CUSTOM_VTABLE
   804    int GetCachedSize() const { return _impl_._cached_size_.Get(); }
   805  
   806    private:
   807    void SharedCtor(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
   808    static void SharedDtor(MessageLite& self);
   809    void InternalSwap(Http* PROTOBUF_NONNULL other);
   810   private:
   811    template <typename T>
   812    friend ::absl::string_view(::google::protobuf::internal::GetAnyMessageName)();
   813    static ::absl::string_view FullMessageName() { return "google.api.Http"; }
   814  
   815   protected:
   816    explicit Http(::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
   817    Http(::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Http& from);
   818    Http(
   819        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, Http&& from) noexcept
   820        : Http(arena) {
   821      *this = ::std::move(from);
   822    }
   823    const ::google::protobuf::internal::ClassData* PROTOBUF_NONNULL GetClassData() const PROTOBUF_FINAL;
   824    static void* PROTOBUF_NONNULL PlacementNew_(
   825        const void* PROTOBUF_NONNULL, void* PROTOBUF_NONNULL mem,
   826        ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
   827    static constexpr auto InternalNewImpl_();
   828  
   829   public:
   830    static constexpr auto InternalGenerateClassData_();
   831  
   832    ::google::protobuf::Metadata GetMetadata() const;
   833    // nested types ----------------------------------------------------
   834  
   835    // accessors -------------------------------------------------------
   836    enum : int {
   837      kRulesFieldNumber = 1,
   838      kFullyDecodeReservedExpansionFieldNumber = 2,
   839    };
   840    // repeated .google.api.HttpRule rules = 1;
   841    int rules_size() const;
   842    private:
   843    int _internal_rules_size() const;
   844  
   845    public:
   846    void clear_rules() ;
   847    ::google::api::HttpRule* PROTOBUF_NONNULL mutable_rules(int index);
   848    ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>* PROTOBUF_NONNULL mutable_rules();
   849  
   850    private:
   851    const ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>& _internal_rules() const;
   852    ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>* PROTOBUF_NONNULL _internal_mutable_rules();
   853    public:
   854    const ::google::api::HttpRule& rules(int index) const;
   855    ::google::api::HttpRule* PROTOBUF_NONNULL add_rules();
   856    const ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>& rules() const;
   857    // bool fully_decode_reserved_expansion = 2;
   858    void clear_fully_decode_reserved_expansion() ;
   859    bool fully_decode_reserved_expansion() const;
   860    void set_fully_decode_reserved_expansion(bool value);
   861  
   862    private:
   863    bool _internal_fully_decode_reserved_expansion() const;
   864    void _internal_set_fully_decode_reserved_expansion(bool value);
   865  
   866    public:
   867    // @@protoc_insertion_point(class_scope:google.api.Http)
   868   private:
   869    class _Internal;
   870    friend class ::google::protobuf::internal::TcParser;
   871    static const ::google::protobuf::internal::TcParseTable<1, 2,
   872                                     1, 0,
   873                                     2>
   874        _table_;
   875  
   876    friend class ::google::protobuf::MessageLite;
   877    friend class ::google::protobuf::Arena;
   878    template <typename T>
   879    friend class ::google::protobuf::Arena::InternalHelper;
   880    using InternalArenaConstructable_ = void;
   881    using DestructorSkippable_ = void;
   882    struct Impl_ {
   883      inline explicit constexpr Impl_(::google::protobuf::internal::ConstantInitialized) noexcept;
   884      inline explicit Impl_(
   885          ::google::protobuf::internal::InternalVisibility visibility,
   886          ::google::protobuf::Arena* PROTOBUF_NULLABLE arena);
   887      inline explicit Impl_(
   888          ::google::protobuf::internal::InternalVisibility visibility,
   889          ::google::protobuf::Arena* PROTOBUF_NULLABLE arena, const Impl_& from,
   890          const Http& from_msg);
   891      ::google::protobuf::internal::HasBits<1> _has_bits_;
   892      ::google::protobuf::internal::CachedSize _cached_size_;
   893      ::google::protobuf::RepeatedPtrField< ::google::api::HttpRule > rules_;
   894      bool fully_decode_reserved_expansion_;
   895      PROTOBUF_TSAN_DECLARE_MEMBER
   896    };
   897    union { Impl_ _impl_; };
   898    friend struct ::TableStruct_google_2fapi_2fhttp_2eproto;
   899  };
   900  
   901  AGONES_EXPORT extern const ::google::protobuf::internal::ClassDataFull Http_class_data_;
   902  
   903  // ===================================================================
   904  
   905  
   906  
   907  
   908  // ===================================================================
   909  
   910  
   911  #ifdef __GNUC__
   912  #pragma GCC diagnostic push
   913  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
   914  #endif  // __GNUC__
   915  // -------------------------------------------------------------------
   916  
   917  // Http
   918  
   919  // repeated .google.api.HttpRule rules = 1;
   920  inline int Http::_internal_rules_size() const {
   921    return _internal_rules().size();
   922  }
   923  inline int Http::rules_size() const {
   924    return _internal_rules_size();
   925  }
   926  inline void Http::clear_rules() {
   927    ::google::protobuf::internal::TSanWrite(&_impl_);
   928    _impl_.rules_.Clear();
   929  }
   930  inline ::google::api::HttpRule* PROTOBUF_NONNULL Http::mutable_rules(int index)
   931      ABSL_ATTRIBUTE_LIFETIME_BOUND {
   932    // @@protoc_insertion_point(field_mutable:google.api.Http.rules)
   933    return _internal_mutable_rules()->Mutable(index);
   934  }
   935  inline ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>* PROTOBUF_NONNULL Http::mutable_rules()
   936      ABSL_ATTRIBUTE_LIFETIME_BOUND {
   937    // @@protoc_insertion_point(field_mutable_list:google.api.Http.rules)
   938    ::google::protobuf::internal::TSanWrite(&_impl_);
   939    return _internal_mutable_rules();
   940  }
   941  inline const ::google::api::HttpRule& Http::rules(int index) const
   942      ABSL_ATTRIBUTE_LIFETIME_BOUND {
   943    // @@protoc_insertion_point(field_get:google.api.Http.rules)
   944    return _internal_rules().Get(index);
   945  }
   946  inline ::google::api::HttpRule* PROTOBUF_NONNULL Http::add_rules()
   947      ABSL_ATTRIBUTE_LIFETIME_BOUND {
   948    ::google::protobuf::internal::TSanWrite(&_impl_);
   949    ::google::api::HttpRule* _add = _internal_mutable_rules()->Add();
   950    // @@protoc_insertion_point(field_add:google.api.Http.rules)
   951    return _add;
   952  }
   953  inline const ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>& Http::rules() const
   954      ABSL_ATTRIBUTE_LIFETIME_BOUND {
   955    // @@protoc_insertion_point(field_list:google.api.Http.rules)
   956    return _internal_rules();
   957  }
   958  inline const ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>&
   959  Http::_internal_rules() const {
   960    ::google::protobuf::internal::TSanRead(&_impl_);
   961    return _impl_.rules_;
   962  }
   963  inline ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>* PROTOBUF_NONNULL
   964  Http::_internal_mutable_rules() {
   965    ::google::protobuf::internal::TSanRead(&_impl_);
   966    return &_impl_.rules_;
   967  }
   968  
   969  // bool fully_decode_reserved_expansion = 2;
   970  inline void Http::clear_fully_decode_reserved_expansion() {
   971    ::google::protobuf::internal::TSanWrite(&_impl_);
   972    _impl_.fully_decode_reserved_expansion_ = false;
   973    _impl_._has_bits_[0] &= ~0x00000001u;
   974  }
   975  inline bool Http::fully_decode_reserved_expansion() const {
   976    // @@protoc_insertion_point(field_get:google.api.Http.fully_decode_reserved_expansion)
   977    return _internal_fully_decode_reserved_expansion();
   978  }
   979  inline void Http::set_fully_decode_reserved_expansion(bool value) {
   980    _internal_set_fully_decode_reserved_expansion(value);
   981    _impl_._has_bits_[0] |= 0x00000001u;
   982    // @@protoc_insertion_point(field_set:google.api.Http.fully_decode_reserved_expansion)
   983  }
   984  inline bool Http::_internal_fully_decode_reserved_expansion() const {
   985    ::google::protobuf::internal::TSanRead(&_impl_);
   986    return _impl_.fully_decode_reserved_expansion_;
   987  }
   988  inline void Http::_internal_set_fully_decode_reserved_expansion(bool value) {
   989    ::google::protobuf::internal::TSanWrite(&_impl_);
   990    _impl_.fully_decode_reserved_expansion_ = value;
   991  }
   992  
   993  // -------------------------------------------------------------------
   994  
   995  // HttpRule
   996  
   997  // string selector = 1;
   998  inline void HttpRule::clear_selector() {
   999    ::google::protobuf::internal::TSanWrite(&_impl_);
  1000    _impl_.selector_.ClearToEmpty();
  1001    _impl_._has_bits_[0] &= ~0x00000001u;
  1002  }
  1003  inline const std::string& HttpRule::selector() const
  1004      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1005    // @@protoc_insertion_point(field_get:google.api.HttpRule.selector)
  1006    return _internal_selector();
  1007  }
  1008  template <typename Arg_, typename... Args_>
  1009  PROTOBUF_ALWAYS_INLINE void HttpRule::set_selector(Arg_&& arg, Args_... args) {
  1010    ::google::protobuf::internal::TSanWrite(&_impl_);
  1011    _impl_._has_bits_[0] |= 0x00000001u;
  1012    _impl_.selector_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  1013    // @@protoc_insertion_point(field_set:google.api.HttpRule.selector)
  1014  }
  1015  inline std::string* PROTOBUF_NONNULL HttpRule::mutable_selector()
  1016      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1017    std::string* _s = _internal_mutable_selector();
  1018    // @@protoc_insertion_point(field_mutable:google.api.HttpRule.selector)
  1019    return _s;
  1020  }
  1021  inline const std::string& HttpRule::_internal_selector() const {
  1022    ::google::protobuf::internal::TSanRead(&_impl_);
  1023    return _impl_.selector_.Get();
  1024  }
  1025  inline void HttpRule::_internal_set_selector(const std::string& value) {
  1026    ::google::protobuf::internal::TSanWrite(&_impl_);
  1027    _impl_._has_bits_[0] |= 0x00000001u;
  1028    _impl_.selector_.Set(value, GetArena());
  1029  }
  1030  inline std::string* PROTOBUF_NONNULL HttpRule::_internal_mutable_selector() {
  1031    ::google::protobuf::internal::TSanWrite(&_impl_);
  1032    _impl_._has_bits_[0] |= 0x00000001u;
  1033    return _impl_.selector_.Mutable( GetArena());
  1034  }
  1035  inline std::string* PROTOBUF_NULLABLE HttpRule::release_selector() {
  1036    ::google::protobuf::internal::TSanWrite(&_impl_);
  1037    // @@protoc_insertion_point(field_release:google.api.HttpRule.selector)
  1038    if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
  1039      return nullptr;
  1040    }
  1041    _impl_._has_bits_[0] &= ~0x00000001u;
  1042    auto* released = _impl_.selector_.Release();
  1043    if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
  1044      _impl_.selector_.Set("", GetArena());
  1045    }
  1046    return released;
  1047  }
  1048  inline void HttpRule::set_allocated_selector(std::string* PROTOBUF_NULLABLE value) {
  1049    ::google::protobuf::internal::TSanWrite(&_impl_);
  1050    if (value != nullptr) {
  1051      _impl_._has_bits_[0] |= 0x00000001u;
  1052    } else {
  1053      _impl_._has_bits_[0] &= ~0x00000001u;
  1054    }
  1055    _impl_.selector_.SetAllocated(value, GetArena());
  1056    if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.selector_.IsDefault()) {
  1057      _impl_.selector_.Set("", GetArena());
  1058    }
  1059    // @@protoc_insertion_point(field_set_allocated:google.api.HttpRule.selector)
  1060  }
  1061  
  1062  // string get = 2;
  1063  inline bool HttpRule::has_get() const {
  1064    return pattern_case() == kGet;
  1065  }
  1066  inline void HttpRule::set_has_get() {
  1067    _impl_._oneof_case_[0] = kGet;
  1068  }
  1069  inline void HttpRule::clear_get() {
  1070    ::google::protobuf::internal::TSanWrite(&_impl_);
  1071    if (pattern_case() == kGet) {
  1072      _impl_.pattern_.get_.Destroy();
  1073      clear_has_pattern();
  1074    }
  1075  }
  1076  inline const std::string& HttpRule::get() const
  1077      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1078    // @@protoc_insertion_point(field_get:google.api.HttpRule.get)
  1079    return _internal_get();
  1080  }
  1081  template <typename Arg_, typename... Args_>
  1082  PROTOBUF_ALWAYS_INLINE void HttpRule::set_get(Arg_&& arg, Args_... args) {
  1083    ::google::protobuf::internal::TSanWrite(&_impl_);
  1084    if (pattern_case() != kGet) {
  1085      clear_pattern();
  1086  
  1087      set_has_get();
  1088      _impl_.pattern_.get_.InitDefault();
  1089    }
  1090    _impl_.pattern_.get_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  1091    // @@protoc_insertion_point(field_set:google.api.HttpRule.get)
  1092  }
  1093  inline std::string* PROTOBUF_NONNULL HttpRule::mutable_get()
  1094      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1095    std::string* _s = _internal_mutable_get();
  1096    // @@protoc_insertion_point(field_mutable:google.api.HttpRule.get)
  1097    return _s;
  1098  }
  1099  inline const std::string& HttpRule::_internal_get() const {
  1100    ::google::protobuf::internal::TSanRead(&_impl_);
  1101    if (pattern_case() != kGet) {
  1102      return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
  1103    }
  1104    return _impl_.pattern_.get_.Get();
  1105  }
  1106  inline void HttpRule::_internal_set_get(const std::string& value) {
  1107    ::google::protobuf::internal::TSanWrite(&_impl_);
  1108    if (pattern_case() != kGet) {
  1109      clear_pattern();
  1110  
  1111      set_has_get();
  1112      _impl_.pattern_.get_.InitDefault();
  1113    }
  1114    _impl_.pattern_.get_.Set(value, GetArena());
  1115  }
  1116  inline std::string* PROTOBUF_NONNULL HttpRule::_internal_mutable_get() {
  1117    ::google::protobuf::internal::TSanWrite(&_impl_);
  1118    if (pattern_case() != kGet) {
  1119      clear_pattern();
  1120  
  1121      set_has_get();
  1122      _impl_.pattern_.get_.InitDefault();
  1123    }
  1124    return _impl_.pattern_.get_.Mutable( GetArena());
  1125  }
  1126  inline std::string* PROTOBUF_NULLABLE HttpRule::release_get() {
  1127    ::google::protobuf::internal::TSanWrite(&_impl_);
  1128    // @@protoc_insertion_point(field_release:google.api.HttpRule.get)
  1129    if (pattern_case() != kGet) {
  1130      return nullptr;
  1131    }
  1132    clear_has_pattern();
  1133    return _impl_.pattern_.get_.Release();
  1134  }
  1135  inline void HttpRule::set_allocated_get(std::string* PROTOBUF_NULLABLE value) {
  1136    ::google::protobuf::internal::TSanWrite(&_impl_);
  1137    if (has_pattern()) {
  1138      clear_pattern();
  1139    }
  1140    if (value != nullptr) {
  1141      set_has_get();
  1142      _impl_.pattern_.get_.InitAllocated(value, GetArena());
  1143    }
  1144    // @@protoc_insertion_point(field_set_allocated:google.api.HttpRule.get)
  1145  }
  1146  
  1147  // string put = 3;
  1148  inline bool HttpRule::has_put() const {
  1149    return pattern_case() == kPut;
  1150  }
  1151  inline void HttpRule::set_has_put() {
  1152    _impl_._oneof_case_[0] = kPut;
  1153  }
  1154  inline void HttpRule::clear_put() {
  1155    ::google::protobuf::internal::TSanWrite(&_impl_);
  1156    if (pattern_case() == kPut) {
  1157      _impl_.pattern_.put_.Destroy();
  1158      clear_has_pattern();
  1159    }
  1160  }
  1161  inline const std::string& HttpRule::put() const
  1162      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1163    // @@protoc_insertion_point(field_get:google.api.HttpRule.put)
  1164    return _internal_put();
  1165  }
  1166  template <typename Arg_, typename... Args_>
  1167  PROTOBUF_ALWAYS_INLINE void HttpRule::set_put(Arg_&& arg, Args_... args) {
  1168    ::google::protobuf::internal::TSanWrite(&_impl_);
  1169    if (pattern_case() != kPut) {
  1170      clear_pattern();
  1171  
  1172      set_has_put();
  1173      _impl_.pattern_.put_.InitDefault();
  1174    }
  1175    _impl_.pattern_.put_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  1176    // @@protoc_insertion_point(field_set:google.api.HttpRule.put)
  1177  }
  1178  inline std::string* PROTOBUF_NONNULL HttpRule::mutable_put()
  1179      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1180    std::string* _s = _internal_mutable_put();
  1181    // @@protoc_insertion_point(field_mutable:google.api.HttpRule.put)
  1182    return _s;
  1183  }
  1184  inline const std::string& HttpRule::_internal_put() const {
  1185    ::google::protobuf::internal::TSanRead(&_impl_);
  1186    if (pattern_case() != kPut) {
  1187      return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
  1188    }
  1189    return _impl_.pattern_.put_.Get();
  1190  }
  1191  inline void HttpRule::_internal_set_put(const std::string& value) {
  1192    ::google::protobuf::internal::TSanWrite(&_impl_);
  1193    if (pattern_case() != kPut) {
  1194      clear_pattern();
  1195  
  1196      set_has_put();
  1197      _impl_.pattern_.put_.InitDefault();
  1198    }
  1199    _impl_.pattern_.put_.Set(value, GetArena());
  1200  }
  1201  inline std::string* PROTOBUF_NONNULL HttpRule::_internal_mutable_put() {
  1202    ::google::protobuf::internal::TSanWrite(&_impl_);
  1203    if (pattern_case() != kPut) {
  1204      clear_pattern();
  1205  
  1206      set_has_put();
  1207      _impl_.pattern_.put_.InitDefault();
  1208    }
  1209    return _impl_.pattern_.put_.Mutable( GetArena());
  1210  }
  1211  inline std::string* PROTOBUF_NULLABLE HttpRule::release_put() {
  1212    ::google::protobuf::internal::TSanWrite(&_impl_);
  1213    // @@protoc_insertion_point(field_release:google.api.HttpRule.put)
  1214    if (pattern_case() != kPut) {
  1215      return nullptr;
  1216    }
  1217    clear_has_pattern();
  1218    return _impl_.pattern_.put_.Release();
  1219  }
  1220  inline void HttpRule::set_allocated_put(std::string* PROTOBUF_NULLABLE value) {
  1221    ::google::protobuf::internal::TSanWrite(&_impl_);
  1222    if (has_pattern()) {
  1223      clear_pattern();
  1224    }
  1225    if (value != nullptr) {
  1226      set_has_put();
  1227      _impl_.pattern_.put_.InitAllocated(value, GetArena());
  1228    }
  1229    // @@protoc_insertion_point(field_set_allocated:google.api.HttpRule.put)
  1230  }
  1231  
  1232  // string post = 4;
  1233  inline bool HttpRule::has_post() const {
  1234    return pattern_case() == kPost;
  1235  }
  1236  inline void HttpRule::set_has_post() {
  1237    _impl_._oneof_case_[0] = kPost;
  1238  }
  1239  inline void HttpRule::clear_post() {
  1240    ::google::protobuf::internal::TSanWrite(&_impl_);
  1241    if (pattern_case() == kPost) {
  1242      _impl_.pattern_.post_.Destroy();
  1243      clear_has_pattern();
  1244    }
  1245  }
  1246  inline const std::string& HttpRule::post() const
  1247      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1248    // @@protoc_insertion_point(field_get:google.api.HttpRule.post)
  1249    return _internal_post();
  1250  }
  1251  template <typename Arg_, typename... Args_>
  1252  PROTOBUF_ALWAYS_INLINE void HttpRule::set_post(Arg_&& arg, Args_... args) {
  1253    ::google::protobuf::internal::TSanWrite(&_impl_);
  1254    if (pattern_case() != kPost) {
  1255      clear_pattern();
  1256  
  1257      set_has_post();
  1258      _impl_.pattern_.post_.InitDefault();
  1259    }
  1260    _impl_.pattern_.post_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  1261    // @@protoc_insertion_point(field_set:google.api.HttpRule.post)
  1262  }
  1263  inline std::string* PROTOBUF_NONNULL HttpRule::mutable_post()
  1264      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1265    std::string* _s = _internal_mutable_post();
  1266    // @@protoc_insertion_point(field_mutable:google.api.HttpRule.post)
  1267    return _s;
  1268  }
  1269  inline const std::string& HttpRule::_internal_post() const {
  1270    ::google::protobuf::internal::TSanRead(&_impl_);
  1271    if (pattern_case() != kPost) {
  1272      return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
  1273    }
  1274    return _impl_.pattern_.post_.Get();
  1275  }
  1276  inline void HttpRule::_internal_set_post(const std::string& value) {
  1277    ::google::protobuf::internal::TSanWrite(&_impl_);
  1278    if (pattern_case() != kPost) {
  1279      clear_pattern();
  1280  
  1281      set_has_post();
  1282      _impl_.pattern_.post_.InitDefault();
  1283    }
  1284    _impl_.pattern_.post_.Set(value, GetArena());
  1285  }
  1286  inline std::string* PROTOBUF_NONNULL HttpRule::_internal_mutable_post() {
  1287    ::google::protobuf::internal::TSanWrite(&_impl_);
  1288    if (pattern_case() != kPost) {
  1289      clear_pattern();
  1290  
  1291      set_has_post();
  1292      _impl_.pattern_.post_.InitDefault();
  1293    }
  1294    return _impl_.pattern_.post_.Mutable( GetArena());
  1295  }
  1296  inline std::string* PROTOBUF_NULLABLE HttpRule::release_post() {
  1297    ::google::protobuf::internal::TSanWrite(&_impl_);
  1298    // @@protoc_insertion_point(field_release:google.api.HttpRule.post)
  1299    if (pattern_case() != kPost) {
  1300      return nullptr;
  1301    }
  1302    clear_has_pattern();
  1303    return _impl_.pattern_.post_.Release();
  1304  }
  1305  inline void HttpRule::set_allocated_post(std::string* PROTOBUF_NULLABLE value) {
  1306    ::google::protobuf::internal::TSanWrite(&_impl_);
  1307    if (has_pattern()) {
  1308      clear_pattern();
  1309    }
  1310    if (value != nullptr) {
  1311      set_has_post();
  1312      _impl_.pattern_.post_.InitAllocated(value, GetArena());
  1313    }
  1314    // @@protoc_insertion_point(field_set_allocated:google.api.HttpRule.post)
  1315  }
  1316  
  1317  // string delete = 5;
  1318  inline bool HttpRule::has_delete_() const {
  1319    return pattern_case() == kDelete;
  1320  }
  1321  inline void HttpRule::set_has_delete_() {
  1322    _impl_._oneof_case_[0] = kDelete;
  1323  }
  1324  inline void HttpRule::clear_delete_() {
  1325    ::google::protobuf::internal::TSanWrite(&_impl_);
  1326    if (pattern_case() == kDelete) {
  1327      _impl_.pattern_.delete__.Destroy();
  1328      clear_has_pattern();
  1329    }
  1330  }
  1331  inline const std::string& HttpRule::delete_() const
  1332      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1333    // @@protoc_insertion_point(field_get:google.api.HttpRule.delete)
  1334    return _internal_delete_();
  1335  }
  1336  template <typename Arg_, typename... Args_>
  1337  PROTOBUF_ALWAYS_INLINE void HttpRule::set_delete_(Arg_&& arg, Args_... args) {
  1338    ::google::protobuf::internal::TSanWrite(&_impl_);
  1339    if (pattern_case() != kDelete) {
  1340      clear_pattern();
  1341  
  1342      set_has_delete_();
  1343      _impl_.pattern_.delete__.InitDefault();
  1344    }
  1345    _impl_.pattern_.delete__.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  1346    // @@protoc_insertion_point(field_set:google.api.HttpRule.delete)
  1347  }
  1348  inline std::string* PROTOBUF_NONNULL HttpRule::mutable_delete_()
  1349      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1350    std::string* _s = _internal_mutable_delete_();
  1351    // @@protoc_insertion_point(field_mutable:google.api.HttpRule.delete)
  1352    return _s;
  1353  }
  1354  inline const std::string& HttpRule::_internal_delete_() const {
  1355    ::google::protobuf::internal::TSanRead(&_impl_);
  1356    if (pattern_case() != kDelete) {
  1357      return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
  1358    }
  1359    return _impl_.pattern_.delete__.Get();
  1360  }
  1361  inline void HttpRule::_internal_set_delete_(const std::string& value) {
  1362    ::google::protobuf::internal::TSanWrite(&_impl_);
  1363    if (pattern_case() != kDelete) {
  1364      clear_pattern();
  1365  
  1366      set_has_delete_();
  1367      _impl_.pattern_.delete__.InitDefault();
  1368    }
  1369    _impl_.pattern_.delete__.Set(value, GetArena());
  1370  }
  1371  inline std::string* PROTOBUF_NONNULL HttpRule::_internal_mutable_delete_() {
  1372    ::google::protobuf::internal::TSanWrite(&_impl_);
  1373    if (pattern_case() != kDelete) {
  1374      clear_pattern();
  1375  
  1376      set_has_delete_();
  1377      _impl_.pattern_.delete__.InitDefault();
  1378    }
  1379    return _impl_.pattern_.delete__.Mutable( GetArena());
  1380  }
  1381  inline std::string* PROTOBUF_NULLABLE HttpRule::release_delete_() {
  1382    ::google::protobuf::internal::TSanWrite(&_impl_);
  1383    // @@protoc_insertion_point(field_release:google.api.HttpRule.delete)
  1384    if (pattern_case() != kDelete) {
  1385      return nullptr;
  1386    }
  1387    clear_has_pattern();
  1388    return _impl_.pattern_.delete__.Release();
  1389  }
  1390  inline void HttpRule::set_allocated_delete_(std::string* PROTOBUF_NULLABLE value) {
  1391    ::google::protobuf::internal::TSanWrite(&_impl_);
  1392    if (has_pattern()) {
  1393      clear_pattern();
  1394    }
  1395    if (value != nullptr) {
  1396      set_has_delete_();
  1397      _impl_.pattern_.delete__.InitAllocated(value, GetArena());
  1398    }
  1399    // @@protoc_insertion_point(field_set_allocated:google.api.HttpRule.delete)
  1400  }
  1401  
  1402  // string patch = 6;
  1403  inline bool HttpRule::has_patch() const {
  1404    return pattern_case() == kPatch;
  1405  }
  1406  inline void HttpRule::set_has_patch() {
  1407    _impl_._oneof_case_[0] = kPatch;
  1408  }
  1409  inline void HttpRule::clear_patch() {
  1410    ::google::protobuf::internal::TSanWrite(&_impl_);
  1411    if (pattern_case() == kPatch) {
  1412      _impl_.pattern_.patch_.Destroy();
  1413      clear_has_pattern();
  1414    }
  1415  }
  1416  inline const std::string& HttpRule::patch() const
  1417      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1418    // @@protoc_insertion_point(field_get:google.api.HttpRule.patch)
  1419    return _internal_patch();
  1420  }
  1421  template <typename Arg_, typename... Args_>
  1422  PROTOBUF_ALWAYS_INLINE void HttpRule::set_patch(Arg_&& arg, Args_... args) {
  1423    ::google::protobuf::internal::TSanWrite(&_impl_);
  1424    if (pattern_case() != kPatch) {
  1425      clear_pattern();
  1426  
  1427      set_has_patch();
  1428      _impl_.pattern_.patch_.InitDefault();
  1429    }
  1430    _impl_.pattern_.patch_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  1431    // @@protoc_insertion_point(field_set:google.api.HttpRule.patch)
  1432  }
  1433  inline std::string* PROTOBUF_NONNULL HttpRule::mutable_patch()
  1434      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1435    std::string* _s = _internal_mutable_patch();
  1436    // @@protoc_insertion_point(field_mutable:google.api.HttpRule.patch)
  1437    return _s;
  1438  }
  1439  inline const std::string& HttpRule::_internal_patch() const {
  1440    ::google::protobuf::internal::TSanRead(&_impl_);
  1441    if (pattern_case() != kPatch) {
  1442      return ::google::protobuf::internal::GetEmptyStringAlreadyInited();
  1443    }
  1444    return _impl_.pattern_.patch_.Get();
  1445  }
  1446  inline void HttpRule::_internal_set_patch(const std::string& value) {
  1447    ::google::protobuf::internal::TSanWrite(&_impl_);
  1448    if (pattern_case() != kPatch) {
  1449      clear_pattern();
  1450  
  1451      set_has_patch();
  1452      _impl_.pattern_.patch_.InitDefault();
  1453    }
  1454    _impl_.pattern_.patch_.Set(value, GetArena());
  1455  }
  1456  inline std::string* PROTOBUF_NONNULL HttpRule::_internal_mutable_patch() {
  1457    ::google::protobuf::internal::TSanWrite(&_impl_);
  1458    if (pattern_case() != kPatch) {
  1459      clear_pattern();
  1460  
  1461      set_has_patch();
  1462      _impl_.pattern_.patch_.InitDefault();
  1463    }
  1464    return _impl_.pattern_.patch_.Mutable( GetArena());
  1465  }
  1466  inline std::string* PROTOBUF_NULLABLE HttpRule::release_patch() {
  1467    ::google::protobuf::internal::TSanWrite(&_impl_);
  1468    // @@protoc_insertion_point(field_release:google.api.HttpRule.patch)
  1469    if (pattern_case() != kPatch) {
  1470      return nullptr;
  1471    }
  1472    clear_has_pattern();
  1473    return _impl_.pattern_.patch_.Release();
  1474  }
  1475  inline void HttpRule::set_allocated_patch(std::string* PROTOBUF_NULLABLE value) {
  1476    ::google::protobuf::internal::TSanWrite(&_impl_);
  1477    if (has_pattern()) {
  1478      clear_pattern();
  1479    }
  1480    if (value != nullptr) {
  1481      set_has_patch();
  1482      _impl_.pattern_.patch_.InitAllocated(value, GetArena());
  1483    }
  1484    // @@protoc_insertion_point(field_set_allocated:google.api.HttpRule.patch)
  1485  }
  1486  
  1487  // .google.api.CustomHttpPattern custom = 8;
  1488  inline bool HttpRule::has_custom() const {
  1489    return pattern_case() == kCustom;
  1490  }
  1491  inline bool HttpRule::_internal_has_custom() const {
  1492    return pattern_case() == kCustom;
  1493  }
  1494  inline void HttpRule::set_has_custom() {
  1495    _impl_._oneof_case_[0] = kCustom;
  1496  }
  1497  inline void HttpRule::clear_custom() {
  1498    ::google::protobuf::internal::TSanWrite(&_impl_);
  1499    if (pattern_case() == kCustom) {
  1500      if (GetArena() == nullptr) {
  1501        delete _impl_.pattern_.custom_;
  1502      } else if (::google::protobuf::internal::DebugHardenClearOneofMessageOnArena()) {
  1503        ::google::protobuf::internal::MaybePoisonAfterClear(_impl_.pattern_.custom_);
  1504      }
  1505      clear_has_pattern();
  1506    }
  1507  }
  1508  inline ::google::api::CustomHttpPattern* PROTOBUF_NULLABLE HttpRule::release_custom() {
  1509    // @@protoc_insertion_point(field_release:google.api.HttpRule.custom)
  1510    if (pattern_case() == kCustom) {
  1511      clear_has_pattern();
  1512      auto* temp = _impl_.pattern_.custom_;
  1513      if (GetArena() != nullptr) {
  1514        temp = ::google::protobuf::internal::DuplicateIfNonNull(temp);
  1515      }
  1516      _impl_.pattern_.custom_ = nullptr;
  1517      return temp;
  1518    } else {
  1519      return nullptr;
  1520    }
  1521  }
  1522  inline const ::google::api::CustomHttpPattern& HttpRule::_internal_custom() const {
  1523    return pattern_case() == kCustom ? *_impl_.pattern_.custom_ : reinterpret_cast<::google::api::CustomHttpPattern&>(::google::api::_CustomHttpPattern_default_instance_);
  1524  }
  1525  inline const ::google::api::CustomHttpPattern& HttpRule::custom() const ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1526    // @@protoc_insertion_point(field_get:google.api.HttpRule.custom)
  1527    return _internal_custom();
  1528  }
  1529  inline ::google::api::CustomHttpPattern* PROTOBUF_NULLABLE HttpRule::unsafe_arena_release_custom() {
  1530    // @@protoc_insertion_point(field_unsafe_arena_release:google.api.HttpRule.custom)
  1531    if (pattern_case() == kCustom) {
  1532      clear_has_pattern();
  1533      auto* temp = _impl_.pattern_.custom_;
  1534      _impl_.pattern_.custom_ = nullptr;
  1535      return temp;
  1536    } else {
  1537      return nullptr;
  1538    }
  1539  }
  1540  inline void HttpRule::unsafe_arena_set_allocated_custom(
  1541      ::google::api::CustomHttpPattern* PROTOBUF_NULLABLE value) {
  1542    // We rely on the oneof clear method to free the earlier contents
  1543    // of this oneof. We can directly use the pointer we're given to
  1544    // set the new value.
  1545    clear_pattern();
  1546    if (value) {
  1547      set_has_custom();
  1548      _impl_.pattern_.custom_ = value;
  1549    }
  1550    // @@protoc_insertion_point(field_unsafe_arena_set_allocated:google.api.HttpRule.custom)
  1551  }
  1552  inline ::google::api::CustomHttpPattern* PROTOBUF_NONNULL HttpRule::_internal_mutable_custom() {
  1553    if (pattern_case() != kCustom) {
  1554      clear_pattern();
  1555      set_has_custom();
  1556      _impl_.pattern_.custom_ = 
  1557          ::google::protobuf::Message::DefaultConstruct<::google::api::CustomHttpPattern>(GetArena());
  1558    }
  1559    return _impl_.pattern_.custom_;
  1560  }
  1561  inline ::google::api::CustomHttpPattern* PROTOBUF_NONNULL HttpRule::mutable_custom()
  1562      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1563    ::google::api::CustomHttpPattern* _msg = _internal_mutable_custom();
  1564    // @@protoc_insertion_point(field_mutable:google.api.HttpRule.custom)
  1565    return _msg;
  1566  }
  1567  
  1568  // string body = 7;
  1569  inline void HttpRule::clear_body() {
  1570    ::google::protobuf::internal::TSanWrite(&_impl_);
  1571    _impl_.body_.ClearToEmpty();
  1572    _impl_._has_bits_[0] &= ~0x00000002u;
  1573  }
  1574  inline const std::string& HttpRule::body() const
  1575      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1576    // @@protoc_insertion_point(field_get:google.api.HttpRule.body)
  1577    return _internal_body();
  1578  }
  1579  template <typename Arg_, typename... Args_>
  1580  PROTOBUF_ALWAYS_INLINE void HttpRule::set_body(Arg_&& arg, Args_... args) {
  1581    ::google::protobuf::internal::TSanWrite(&_impl_);
  1582    _impl_._has_bits_[0] |= 0x00000002u;
  1583    _impl_.body_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  1584    // @@protoc_insertion_point(field_set:google.api.HttpRule.body)
  1585  }
  1586  inline std::string* PROTOBUF_NONNULL HttpRule::mutable_body()
  1587      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1588    std::string* _s = _internal_mutable_body();
  1589    // @@protoc_insertion_point(field_mutable:google.api.HttpRule.body)
  1590    return _s;
  1591  }
  1592  inline const std::string& HttpRule::_internal_body() const {
  1593    ::google::protobuf::internal::TSanRead(&_impl_);
  1594    return _impl_.body_.Get();
  1595  }
  1596  inline void HttpRule::_internal_set_body(const std::string& value) {
  1597    ::google::protobuf::internal::TSanWrite(&_impl_);
  1598    _impl_._has_bits_[0] |= 0x00000002u;
  1599    _impl_.body_.Set(value, GetArena());
  1600  }
  1601  inline std::string* PROTOBUF_NONNULL HttpRule::_internal_mutable_body() {
  1602    ::google::protobuf::internal::TSanWrite(&_impl_);
  1603    _impl_._has_bits_[0] |= 0x00000002u;
  1604    return _impl_.body_.Mutable( GetArena());
  1605  }
  1606  inline std::string* PROTOBUF_NULLABLE HttpRule::release_body() {
  1607    ::google::protobuf::internal::TSanWrite(&_impl_);
  1608    // @@protoc_insertion_point(field_release:google.api.HttpRule.body)
  1609    if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
  1610      return nullptr;
  1611    }
  1612    _impl_._has_bits_[0] &= ~0x00000002u;
  1613    auto* released = _impl_.body_.Release();
  1614    if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
  1615      _impl_.body_.Set("", GetArena());
  1616    }
  1617    return released;
  1618  }
  1619  inline void HttpRule::set_allocated_body(std::string* PROTOBUF_NULLABLE value) {
  1620    ::google::protobuf::internal::TSanWrite(&_impl_);
  1621    if (value != nullptr) {
  1622      _impl_._has_bits_[0] |= 0x00000002u;
  1623    } else {
  1624      _impl_._has_bits_[0] &= ~0x00000002u;
  1625    }
  1626    _impl_.body_.SetAllocated(value, GetArena());
  1627    if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.body_.IsDefault()) {
  1628      _impl_.body_.Set("", GetArena());
  1629    }
  1630    // @@protoc_insertion_point(field_set_allocated:google.api.HttpRule.body)
  1631  }
  1632  
  1633  // string response_body = 12;
  1634  inline void HttpRule::clear_response_body() {
  1635    ::google::protobuf::internal::TSanWrite(&_impl_);
  1636    _impl_.response_body_.ClearToEmpty();
  1637    _impl_._has_bits_[0] &= ~0x00000004u;
  1638  }
  1639  inline const std::string& HttpRule::response_body() const
  1640      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1641    // @@protoc_insertion_point(field_get:google.api.HttpRule.response_body)
  1642    return _internal_response_body();
  1643  }
  1644  template <typename Arg_, typename... Args_>
  1645  PROTOBUF_ALWAYS_INLINE void HttpRule::set_response_body(Arg_&& arg, Args_... args) {
  1646    ::google::protobuf::internal::TSanWrite(&_impl_);
  1647    _impl_._has_bits_[0] |= 0x00000004u;
  1648    _impl_.response_body_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  1649    // @@protoc_insertion_point(field_set:google.api.HttpRule.response_body)
  1650  }
  1651  inline std::string* PROTOBUF_NONNULL HttpRule::mutable_response_body()
  1652      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1653    std::string* _s = _internal_mutable_response_body();
  1654    // @@protoc_insertion_point(field_mutable:google.api.HttpRule.response_body)
  1655    return _s;
  1656  }
  1657  inline const std::string& HttpRule::_internal_response_body() const {
  1658    ::google::protobuf::internal::TSanRead(&_impl_);
  1659    return _impl_.response_body_.Get();
  1660  }
  1661  inline void HttpRule::_internal_set_response_body(const std::string& value) {
  1662    ::google::protobuf::internal::TSanWrite(&_impl_);
  1663    _impl_._has_bits_[0] |= 0x00000004u;
  1664    _impl_.response_body_.Set(value, GetArena());
  1665  }
  1666  inline std::string* PROTOBUF_NONNULL HttpRule::_internal_mutable_response_body() {
  1667    ::google::protobuf::internal::TSanWrite(&_impl_);
  1668    _impl_._has_bits_[0] |= 0x00000004u;
  1669    return _impl_.response_body_.Mutable( GetArena());
  1670  }
  1671  inline std::string* PROTOBUF_NULLABLE HttpRule::release_response_body() {
  1672    ::google::protobuf::internal::TSanWrite(&_impl_);
  1673    // @@protoc_insertion_point(field_release:google.api.HttpRule.response_body)
  1674    if ((_impl_._has_bits_[0] & 0x00000004u) == 0) {
  1675      return nullptr;
  1676    }
  1677    _impl_._has_bits_[0] &= ~0x00000004u;
  1678    auto* released = _impl_.response_body_.Release();
  1679    if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
  1680      _impl_.response_body_.Set("", GetArena());
  1681    }
  1682    return released;
  1683  }
  1684  inline void HttpRule::set_allocated_response_body(std::string* PROTOBUF_NULLABLE value) {
  1685    ::google::protobuf::internal::TSanWrite(&_impl_);
  1686    if (value != nullptr) {
  1687      _impl_._has_bits_[0] |= 0x00000004u;
  1688    } else {
  1689      _impl_._has_bits_[0] &= ~0x00000004u;
  1690    }
  1691    _impl_.response_body_.SetAllocated(value, GetArena());
  1692    if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.response_body_.IsDefault()) {
  1693      _impl_.response_body_.Set("", GetArena());
  1694    }
  1695    // @@protoc_insertion_point(field_set_allocated:google.api.HttpRule.response_body)
  1696  }
  1697  
  1698  // repeated .google.api.HttpRule additional_bindings = 11;
  1699  inline int HttpRule::_internal_additional_bindings_size() const {
  1700    return _internal_additional_bindings().size();
  1701  }
  1702  inline int HttpRule::additional_bindings_size() const {
  1703    return _internal_additional_bindings_size();
  1704  }
  1705  inline void HttpRule::clear_additional_bindings() {
  1706    ::google::protobuf::internal::TSanWrite(&_impl_);
  1707    _impl_.additional_bindings_.Clear();
  1708  }
  1709  inline ::google::api::HttpRule* PROTOBUF_NONNULL HttpRule::mutable_additional_bindings(int index)
  1710      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1711    // @@protoc_insertion_point(field_mutable:google.api.HttpRule.additional_bindings)
  1712    return _internal_mutable_additional_bindings()->Mutable(index);
  1713  }
  1714  inline ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>* PROTOBUF_NONNULL HttpRule::mutable_additional_bindings()
  1715      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1716    // @@protoc_insertion_point(field_mutable_list:google.api.HttpRule.additional_bindings)
  1717    ::google::protobuf::internal::TSanWrite(&_impl_);
  1718    return _internal_mutable_additional_bindings();
  1719  }
  1720  inline const ::google::api::HttpRule& HttpRule::additional_bindings(int index) const
  1721      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1722    // @@protoc_insertion_point(field_get:google.api.HttpRule.additional_bindings)
  1723    return _internal_additional_bindings().Get(index);
  1724  }
  1725  inline ::google::api::HttpRule* PROTOBUF_NONNULL HttpRule::add_additional_bindings()
  1726      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1727    ::google::protobuf::internal::TSanWrite(&_impl_);
  1728    ::google::api::HttpRule* _add = _internal_mutable_additional_bindings()->Add();
  1729    // @@protoc_insertion_point(field_add:google.api.HttpRule.additional_bindings)
  1730    return _add;
  1731  }
  1732  inline const ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>& HttpRule::additional_bindings() const
  1733      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1734    // @@protoc_insertion_point(field_list:google.api.HttpRule.additional_bindings)
  1735    return _internal_additional_bindings();
  1736  }
  1737  inline const ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>&
  1738  HttpRule::_internal_additional_bindings() const {
  1739    ::google::protobuf::internal::TSanRead(&_impl_);
  1740    return _impl_.additional_bindings_;
  1741  }
  1742  inline ::google::protobuf::RepeatedPtrField<::google::api::HttpRule>* PROTOBUF_NONNULL
  1743  HttpRule::_internal_mutable_additional_bindings() {
  1744    ::google::protobuf::internal::TSanRead(&_impl_);
  1745    return &_impl_.additional_bindings_;
  1746  }
  1747  
  1748  inline bool HttpRule::has_pattern() const {
  1749    return pattern_case() != PATTERN_NOT_SET;
  1750  }
  1751  inline void HttpRule::clear_has_pattern() {
  1752    _impl_._oneof_case_[0] = PATTERN_NOT_SET;
  1753  }
  1754  inline HttpRule::PatternCase HttpRule::pattern_case() const {
  1755    return HttpRule::PatternCase(_impl_._oneof_case_[0]);
  1756  }
  1757  // -------------------------------------------------------------------
  1758  
  1759  // CustomHttpPattern
  1760  
  1761  // string kind = 1;
  1762  inline void CustomHttpPattern::clear_kind() {
  1763    ::google::protobuf::internal::TSanWrite(&_impl_);
  1764    _impl_.kind_.ClearToEmpty();
  1765    _impl_._has_bits_[0] &= ~0x00000001u;
  1766  }
  1767  inline const std::string& CustomHttpPattern::kind() const
  1768      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1769    // @@protoc_insertion_point(field_get:google.api.CustomHttpPattern.kind)
  1770    return _internal_kind();
  1771  }
  1772  template <typename Arg_, typename... Args_>
  1773  PROTOBUF_ALWAYS_INLINE void CustomHttpPattern::set_kind(Arg_&& arg, Args_... args) {
  1774    ::google::protobuf::internal::TSanWrite(&_impl_);
  1775    _impl_._has_bits_[0] |= 0x00000001u;
  1776    _impl_.kind_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  1777    // @@protoc_insertion_point(field_set:google.api.CustomHttpPattern.kind)
  1778  }
  1779  inline std::string* PROTOBUF_NONNULL CustomHttpPattern::mutable_kind()
  1780      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1781    std::string* _s = _internal_mutable_kind();
  1782    // @@protoc_insertion_point(field_mutable:google.api.CustomHttpPattern.kind)
  1783    return _s;
  1784  }
  1785  inline const std::string& CustomHttpPattern::_internal_kind() const {
  1786    ::google::protobuf::internal::TSanRead(&_impl_);
  1787    return _impl_.kind_.Get();
  1788  }
  1789  inline void CustomHttpPattern::_internal_set_kind(const std::string& value) {
  1790    ::google::protobuf::internal::TSanWrite(&_impl_);
  1791    _impl_._has_bits_[0] |= 0x00000001u;
  1792    _impl_.kind_.Set(value, GetArena());
  1793  }
  1794  inline std::string* PROTOBUF_NONNULL CustomHttpPattern::_internal_mutable_kind() {
  1795    ::google::protobuf::internal::TSanWrite(&_impl_);
  1796    _impl_._has_bits_[0] |= 0x00000001u;
  1797    return _impl_.kind_.Mutable( GetArena());
  1798  }
  1799  inline std::string* PROTOBUF_NULLABLE CustomHttpPattern::release_kind() {
  1800    ::google::protobuf::internal::TSanWrite(&_impl_);
  1801    // @@protoc_insertion_point(field_release:google.api.CustomHttpPattern.kind)
  1802    if ((_impl_._has_bits_[0] & 0x00000001u) == 0) {
  1803      return nullptr;
  1804    }
  1805    _impl_._has_bits_[0] &= ~0x00000001u;
  1806    auto* released = _impl_.kind_.Release();
  1807    if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
  1808      _impl_.kind_.Set("", GetArena());
  1809    }
  1810    return released;
  1811  }
  1812  inline void CustomHttpPattern::set_allocated_kind(std::string* PROTOBUF_NULLABLE value) {
  1813    ::google::protobuf::internal::TSanWrite(&_impl_);
  1814    if (value != nullptr) {
  1815      _impl_._has_bits_[0] |= 0x00000001u;
  1816    } else {
  1817      _impl_._has_bits_[0] &= ~0x00000001u;
  1818    }
  1819    _impl_.kind_.SetAllocated(value, GetArena());
  1820    if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.kind_.IsDefault()) {
  1821      _impl_.kind_.Set("", GetArena());
  1822    }
  1823    // @@protoc_insertion_point(field_set_allocated:google.api.CustomHttpPattern.kind)
  1824  }
  1825  
  1826  // string path = 2;
  1827  inline void CustomHttpPattern::clear_path() {
  1828    ::google::protobuf::internal::TSanWrite(&_impl_);
  1829    _impl_.path_.ClearToEmpty();
  1830    _impl_._has_bits_[0] &= ~0x00000002u;
  1831  }
  1832  inline const std::string& CustomHttpPattern::path() const
  1833      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1834    // @@protoc_insertion_point(field_get:google.api.CustomHttpPattern.path)
  1835    return _internal_path();
  1836  }
  1837  template <typename Arg_, typename... Args_>
  1838  PROTOBUF_ALWAYS_INLINE void CustomHttpPattern::set_path(Arg_&& arg, Args_... args) {
  1839    ::google::protobuf::internal::TSanWrite(&_impl_);
  1840    _impl_._has_bits_[0] |= 0x00000002u;
  1841    _impl_.path_.Set(static_cast<Arg_&&>(arg), args..., GetArena());
  1842    // @@protoc_insertion_point(field_set:google.api.CustomHttpPattern.path)
  1843  }
  1844  inline std::string* PROTOBUF_NONNULL CustomHttpPattern::mutable_path()
  1845      ABSL_ATTRIBUTE_LIFETIME_BOUND {
  1846    std::string* _s = _internal_mutable_path();
  1847    // @@protoc_insertion_point(field_mutable:google.api.CustomHttpPattern.path)
  1848    return _s;
  1849  }
  1850  inline const std::string& CustomHttpPattern::_internal_path() const {
  1851    ::google::protobuf::internal::TSanRead(&_impl_);
  1852    return _impl_.path_.Get();
  1853  }
  1854  inline void CustomHttpPattern::_internal_set_path(const std::string& value) {
  1855    ::google::protobuf::internal::TSanWrite(&_impl_);
  1856    _impl_._has_bits_[0] |= 0x00000002u;
  1857    _impl_.path_.Set(value, GetArena());
  1858  }
  1859  inline std::string* PROTOBUF_NONNULL CustomHttpPattern::_internal_mutable_path() {
  1860    ::google::protobuf::internal::TSanWrite(&_impl_);
  1861    _impl_._has_bits_[0] |= 0x00000002u;
  1862    return _impl_.path_.Mutable( GetArena());
  1863  }
  1864  inline std::string* PROTOBUF_NULLABLE CustomHttpPattern::release_path() {
  1865    ::google::protobuf::internal::TSanWrite(&_impl_);
  1866    // @@protoc_insertion_point(field_release:google.api.CustomHttpPattern.path)
  1867    if ((_impl_._has_bits_[0] & 0x00000002u) == 0) {
  1868      return nullptr;
  1869    }
  1870    _impl_._has_bits_[0] &= ~0x00000002u;
  1871    auto* released = _impl_.path_.Release();
  1872    if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) {
  1873      _impl_.path_.Set("", GetArena());
  1874    }
  1875    return released;
  1876  }
  1877  inline void CustomHttpPattern::set_allocated_path(std::string* PROTOBUF_NULLABLE value) {
  1878    ::google::protobuf::internal::TSanWrite(&_impl_);
  1879    if (value != nullptr) {
  1880      _impl_._has_bits_[0] |= 0x00000002u;
  1881    } else {
  1882      _impl_._has_bits_[0] &= ~0x00000002u;
  1883    }
  1884    _impl_.path_.SetAllocated(value, GetArena());
  1885    if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.path_.IsDefault()) {
  1886      _impl_.path_.Set("", GetArena());
  1887    }
  1888    // @@protoc_insertion_point(field_set_allocated:google.api.CustomHttpPattern.path)
  1889  }
  1890  
  1891  #ifdef __GNUC__
  1892  #pragma GCC diagnostic pop
  1893  #endif  // __GNUC__
  1894  
  1895  // @@protoc_insertion_point(namespace_scope)
  1896  }  // namespace api
  1897  }  // namespace google
  1898  
  1899  
  1900  // @@protoc_insertion_point(global_scope)
  1901  
  1902  #include "google/protobuf/port_undef.inc"
  1903  
  1904  #endif  // google_2fapi_2fhttp_2eproto_2epb_2eh