From 44dc83c8adee6458c9ed5d2ba852dfbacf5e5fed Mon Sep 17 00:00:00 2001 From: Nathan Swartz <112000252+swartzn@users.noreply.github.com> Date: Tue, 1 Jul 2025 14:12:16 -0500 Subject: [PATCH] feat(rst): add archive and storage class support --- cpp/beeremote.pb.cc | 50 +- cpp/beeremote.pb.h | 394 +++--- cpp/flex.pb.cc | 1786 +++++++++++++++++++------ cpp/flex.pb.h | 2302 ++++++++++++++++++++++++-------- go/flex/flex.pb.go | 1104 ++++++++++----- go/flex/flex_protoopaque.pb.go | 1173 +++++++++++----- proto/flex.proto | 34 +- rust/flex.rs | 57 +- 8 files changed, 5056 insertions(+), 1844 deletions(-) diff --git a/cpp/beeremote.pb.cc b/cpp/beeremote.pb.cc index ebb6d81..5ad4b2e 100644 --- a/cpp/beeremote.pb.cc +++ b/cpp/beeremote.pb.cc @@ -368,31 +368,6 @@ struct JobResult_WorkResultDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JobResult_WorkResultDefaultTypeInternal _JobResult_WorkResult_default_instance_; -inline constexpr GetRSTConfigResponse::Impl_::Impl_( - ::_pbi::ConstantInitialized) noexcept - : rsts_{}, - _cached_size_{0} {} - -template -PROTOBUF_CONSTEXPR GetRSTConfigResponse::GetRSTConfigResponse(::_pbi::ConstantInitialized) -#if defined(PROTOBUF_CUSTOM_VTABLE) - : ::google::protobuf::Message(_class_data_.base()), -#else // PROTOBUF_CUSTOM_VTABLE - : ::google::protobuf::Message(), -#endif // PROTOBUF_CUSTOM_VTABLE - _impl_(::_pbi::ConstantInitialized()) { -} -struct GetRSTConfigResponseDefaultTypeInternal { - PROTOBUF_CONSTEXPR GetRSTConfigResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} - ~GetRSTConfigResponseDefaultTypeInternal() {} - union { - GetRSTConfigResponse _instance; - }; -}; - -PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetRSTConfigResponseDefaultTypeInternal _GetRSTConfigResponse_default_instance_; - inline constexpr JobRequest::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept : _cached_size_{0}, @@ -491,6 +466,31 @@ struct JobDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 JobDefaultTypeInternal _Job_default_instance_; +inline constexpr GetRSTConfigResponse::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : rsts_{}, + _cached_size_{0} {} + +template +PROTOBUF_CONSTEXPR GetRSTConfigResponse::GetRSTConfigResponse(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct GetRSTConfigResponseDefaultTypeInternal { + PROTOBUF_CONSTEXPR GetRSTConfigResponseDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~GetRSTConfigResponseDefaultTypeInternal() {} + union { + GetRSTConfigResponse _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 GetRSTConfigResponseDefaultTypeInternal _GetRSTConfigResponse_default_instance_; + inline constexpr JobResult::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept : _cached_size_{0}, diff --git a/cpp/beeremote.pb.h b/cpp/beeremote.pb.h index dc3110f..0a665f7 100644 --- a/cpp/beeremote.pb.h +++ b/cpp/beeremote.pb.h @@ -2907,203 +2907,6 @@ class JobResult_WorkResult final : public ::google::protobuf::Message }; // ------------------------------------------------------------------- -class GetRSTConfigResponse final : public ::google::protobuf::Message -/* @@protoc_insertion_point(class_definition:beeremote.GetRSTConfigResponse) */ { - public: - inline GetRSTConfigResponse() : GetRSTConfigResponse(nullptr) {} - ~GetRSTConfigResponse() PROTOBUF_FINAL; - -#if defined(PROTOBUF_CUSTOM_VTABLE) - void operator delete(GetRSTConfigResponse* msg, std::destroying_delete_t) { - SharedDtor(*msg); - ::google::protobuf::internal::SizedDelete(msg, sizeof(GetRSTConfigResponse)); - } -#endif - - template - explicit PROTOBUF_CONSTEXPR GetRSTConfigResponse( - ::google::protobuf::internal::ConstantInitialized); - - inline GetRSTConfigResponse(const GetRSTConfigResponse& from) : GetRSTConfigResponse(nullptr, from) {} - inline GetRSTConfigResponse(GetRSTConfigResponse&& from) noexcept - : GetRSTConfigResponse(nullptr, std::move(from)) {} - inline GetRSTConfigResponse& operator=(const GetRSTConfigResponse& from) { - CopyFrom(from); - return *this; - } - inline GetRSTConfigResponse& operator=(GetRSTConfigResponse&& from) noexcept { - if (this == &from) return *this; - if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { - InternalSwap(&from); - } else { - CopyFrom(from); - } - return *this; - } - - inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); - } - inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() - ABSL_ATTRIBUTE_LIFETIME_BOUND { - return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); - } - - static const ::google::protobuf::Descriptor* descriptor() { - return GetDescriptor(); - } - static const ::google::protobuf::Descriptor* GetDescriptor() { - return default_instance().GetMetadata().descriptor; - } - static const ::google::protobuf::Reflection* GetReflection() { - return default_instance().GetMetadata().reflection; - } - static const GetRSTConfigResponse& default_instance() { - return *internal_default_instance(); - } - static inline const GetRSTConfigResponse* internal_default_instance() { - return reinterpret_cast( - &_GetRSTConfigResponse_default_instance_); - } - static constexpr int kIndexInFileMessages = 19; - friend void swap(GetRSTConfigResponse& a, GetRSTConfigResponse& b) { a.Swap(&b); } - inline void Swap(GetRSTConfigResponse* other) { - if (other == this) return; - if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { - InternalSwap(other); - } else { - ::google::protobuf::internal::GenericSwap(this, other); - } - } - void UnsafeArenaSwap(GetRSTConfigResponse* other) { - if (other == this) return; - ABSL_DCHECK(GetArena() == other->GetArena()); - InternalSwap(other); - } - - // implements Message ---------------------------------------------- - - GetRSTConfigResponse* New(::google::protobuf::Arena* arena = nullptr) const { - return ::google::protobuf::Message::DefaultConstruct(arena); - } - using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const GetRSTConfigResponse& from); - using ::google::protobuf::Message::MergeFrom; - void MergeFrom(const GetRSTConfigResponse& from) { GetRSTConfigResponse::MergeImpl(*this, from); } - - private: - static void MergeImpl( - ::google::protobuf::MessageLite& to_msg, - const ::google::protobuf::MessageLite& from_msg); - - public: - bool IsInitialized() const { - return true; - } - ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; - #if defined(PROTOBUF_CUSTOM_VTABLE) - private: - static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); - static ::uint8_t* _InternalSerialize( - const MessageLite& msg, ::uint8_t* target, - ::google::protobuf::io::EpsCopyOutputStream* stream); - - public: - ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } - ::uint8_t* _InternalSerialize( - ::uint8_t* target, - ::google::protobuf::io::EpsCopyOutputStream* stream) const { - return _InternalSerialize(*this, target, stream); - } - #else // PROTOBUF_CUSTOM_VTABLE - ::size_t ByteSizeLong() const final; - ::uint8_t* _InternalSerialize( - ::uint8_t* target, - ::google::protobuf::io::EpsCopyOutputStream* stream) const final; - #endif // PROTOBUF_CUSTOM_VTABLE - int GetCachedSize() const { return _impl_._cached_size_.Get(); } - - private: - void SharedCtor(::google::protobuf::Arena* arena); - static void SharedDtor(MessageLite& self); - void InternalSwap(GetRSTConfigResponse* other); - private: - template - friend ::absl::string_view( - ::google::protobuf::internal::GetAnyMessageName)(); - static ::absl::string_view FullMessageName() { return "beeremote.GetRSTConfigResponse"; } - - protected: - explicit GetRSTConfigResponse(::google::protobuf::Arena* arena); - GetRSTConfigResponse(::google::protobuf::Arena* arena, const GetRSTConfigResponse& from); - GetRSTConfigResponse(::google::protobuf::Arena* arena, GetRSTConfigResponse&& from) noexcept - : GetRSTConfigResponse(arena) { - *this = ::std::move(from); - } - const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; - static void* PlacementNew_(const void*, void* mem, - ::google::protobuf::Arena* arena); - static constexpr auto InternalNewImpl_(); - static const ::google::protobuf::internal::ClassDataFull _class_data_; - - public: - ::google::protobuf::Metadata GetMetadata() const; - // nested types ---------------------------------------------------- - - // accessors ------------------------------------------------------- - enum : int { - kRstsFieldNumber = 1, - }; - // repeated .flex.RemoteStorageTarget rsts = 1; - int rsts_size() const; - private: - int _internal_rsts_size() const; - - public: - void clear_rsts() ; - ::flex::RemoteStorageTarget* mutable_rsts(int index); - ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>* mutable_rsts(); - - private: - const ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>& _internal_rsts() const; - ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>* _internal_mutable_rsts(); - public: - const ::flex::RemoteStorageTarget& rsts(int index) const; - ::flex::RemoteStorageTarget* add_rsts(); - const ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>& rsts() const; - // @@protoc_insertion_point(class_scope:beeremote.GetRSTConfigResponse) - private: - class _Internal; - friend class ::google::protobuf::internal::TcParser; - static const ::google::protobuf::internal::TcParseTable< - 0, 1, 1, - 0, 2> - _table_; - - friend class ::google::protobuf::MessageLite; - friend class ::google::protobuf::Arena; - template - friend class ::google::protobuf::Arena::InternalHelper; - using InternalArenaConstructable_ = void; - using DestructorSkippable_ = void; - struct Impl_ { - inline explicit constexpr Impl_( - ::google::protobuf::internal::ConstantInitialized) noexcept; - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena); - inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, - ::google::protobuf::Arena* arena, const Impl_& from, - const GetRSTConfigResponse& from_msg); - ::google::protobuf::RepeatedPtrField< ::flex::RemoteStorageTarget > rsts_; - ::google::protobuf::internal::CachedSize _cached_size_; - PROTOBUF_TSAN_DECLARE_MEMBER - }; - union { Impl_ _impl_; }; - friend struct ::TableStruct_beeremote_2eproto; -}; -// ------------------------------------------------------------------- - class JobRequest final : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:beeremote.JobRequest) */ { public: @@ -4003,6 +3806,203 @@ class Job final : public ::google::protobuf::Message }; // ------------------------------------------------------------------- +class GetRSTConfigResponse final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:beeremote.GetRSTConfigResponse) */ { + public: + inline GetRSTConfigResponse() : GetRSTConfigResponse(nullptr) {} + ~GetRSTConfigResponse() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(GetRSTConfigResponse* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(GetRSTConfigResponse)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR GetRSTConfigResponse( + ::google::protobuf::internal::ConstantInitialized); + + inline GetRSTConfigResponse(const GetRSTConfigResponse& from) : GetRSTConfigResponse(nullptr, from) {} + inline GetRSTConfigResponse(GetRSTConfigResponse&& from) noexcept + : GetRSTConfigResponse(nullptr, std::move(from)) {} + inline GetRSTConfigResponse& operator=(const GetRSTConfigResponse& from) { + CopyFrom(from); + return *this; + } + inline GetRSTConfigResponse& operator=(GetRSTConfigResponse&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const GetRSTConfigResponse& default_instance() { + return *internal_default_instance(); + } + static inline const GetRSTConfigResponse* internal_default_instance() { + return reinterpret_cast( + &_GetRSTConfigResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = 19; + friend void swap(GetRSTConfigResponse& a, GetRSTConfigResponse& b) { a.Swap(&b); } + inline void Swap(GetRSTConfigResponse* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(GetRSTConfigResponse* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + GetRSTConfigResponse* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const GetRSTConfigResponse& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const GetRSTConfigResponse& from) { GetRSTConfigResponse::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(GetRSTConfigResponse* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "beeremote.GetRSTConfigResponse"; } + + protected: + explicit GetRSTConfigResponse(::google::protobuf::Arena* arena); + GetRSTConfigResponse(::google::protobuf::Arena* arena, const GetRSTConfigResponse& from); + GetRSTConfigResponse(::google::protobuf::Arena* arena, GetRSTConfigResponse&& from) noexcept + : GetRSTConfigResponse(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kRstsFieldNumber = 1, + }; + // repeated .flex.RemoteStorageTarget rsts = 1; + int rsts_size() const; + private: + int _internal_rsts_size() const; + + public: + void clear_rsts() ; + ::flex::RemoteStorageTarget* mutable_rsts(int index); + ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>* mutable_rsts(); + + private: + const ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>& _internal_rsts() const; + ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>* _internal_mutable_rsts(); + public: + const ::flex::RemoteStorageTarget& rsts(int index) const; + ::flex::RemoteStorageTarget* add_rsts(); + const ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>& rsts() const; + // @@protoc_insertion_point(class_scope:beeremote.GetRSTConfigResponse) + private: + class _Internal; + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 0, 1, 1, + 0, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const GetRSTConfigResponse& from_msg); + ::google::protobuf::RepeatedPtrField< ::flex::RemoteStorageTarget > rsts_; + ::google::protobuf::internal::CachedSize _cached_size_; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_beeremote_2eproto; +}; +// ------------------------------------------------------------------- + class JobResult final : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:beeremote.JobResult) */ { public: diff --git a/cpp/flex.pb.cc b/cpp/flex.pb.cc index 0e90a2b..62b3883 100644 --- a/cpp/flex.pb.cc +++ b/cpp/flex.pb.cc @@ -193,30 +193,23 @@ struct SyncJob_MetadataEntry_DoNotUseDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SyncJob_MetadataEntry_DoNotUseDefaultTypeInternal _SyncJob_MetadataEntry_DoNotUse_default_instance_; -inline constexpr RemoteStorageTarget_S3::Impl_::Impl_( +inline constexpr RemoteStorageTarget_S3_StorageClass_Archival::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept - : endpoint_url_( - &::google::protobuf::internal::fixed_address_empty_string, - ::_pbi::ConstantInitialized()), - partition_id_( - &::google::protobuf::internal::fixed_address_empty_string, - ::_pbi::ConstantInitialized()), - region_( - &::google::protobuf::internal::fixed_address_empty_string, - ::_pbi::ConstantInitialized()), - bucket_( + : retrieval_tier_( &::google::protobuf::internal::fixed_address_empty_string, ::_pbi::ConstantInitialized()), - access_key_( + check_time_( &::google::protobuf::internal::fixed_address_empty_string, ::_pbi::ConstantInitialized()), - secret_key_( + recheck_time_( &::google::protobuf::internal::fixed_address_empty_string, ::_pbi::ConstantInitialized()), + retention_days_{0}, + auto_restore_{false}, _cached_size_{0} {} template -PROTOBUF_CONSTEXPR RemoteStorageTarget_S3::RemoteStorageTarget_S3(::_pbi::ConstantInitialized) +PROTOBUF_CONSTEXPR RemoteStorageTarget_S3_StorageClass_Archival::RemoteStorageTarget_S3_StorageClass_Archival(::_pbi::ConstantInitialized) #if defined(PROTOBUF_CUSTOM_VTABLE) : ::google::protobuf::Message(_class_data_.base()), #else // PROTOBUF_CUSTOM_VTABLE @@ -224,16 +217,16 @@ PROTOBUF_CONSTEXPR RemoteStorageTarget_S3::RemoteStorageTarget_S3(::_pbi::Consta #endif // PROTOBUF_CUSTOM_VTABLE _impl_(::_pbi::ConstantInitialized()) { } -struct RemoteStorageTarget_S3DefaultTypeInternal { - PROTOBUF_CONSTEXPR RemoteStorageTarget_S3DefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} - ~RemoteStorageTarget_S3DefaultTypeInternal() {} +struct RemoteStorageTarget_S3_StorageClass_ArchivalDefaultTypeInternal { + PROTOBUF_CONSTEXPR RemoteStorageTarget_S3_StorageClass_ArchivalDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~RemoteStorageTarget_S3_StorageClass_ArchivalDefaultTypeInternal() {} union { - RemoteStorageTarget_S3 _instance; + RemoteStorageTarget_S3_StorageClass_Archival _instance; }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RemoteStorageTarget_S3DefaultTypeInternal _RemoteStorageTarget_S3_default_instance_; + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RemoteStorageTarget_S3_StorageClass_ArchivalDefaultTypeInternal _RemoteStorageTarget_S3_StorageClass_Archival_default_instance_; inline constexpr RemoteStorageTarget_Policies::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept @@ -462,16 +455,16 @@ struct WorkDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WorkDefaultTypeInternal _Work_default_instance_; -inline constexpr RemoteStorageTarget_Azure::Impl_::Impl_( +inline constexpr RemoteStorageTarget_S3_StorageClass::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept : _cached_size_{0}, - account_( + name_( &::google::protobuf::internal::fixed_address_empty_string, ::_pbi::ConstantInitialized()), - s3_{nullptr} {} + archival_{nullptr} {} template -PROTOBUF_CONSTEXPR RemoteStorageTarget_Azure::RemoteStorageTarget_Azure(::_pbi::ConstantInitialized) +PROTOBUF_CONSTEXPR RemoteStorageTarget_S3_StorageClass::RemoteStorageTarget_S3_StorageClass(::_pbi::ConstantInitialized) #if defined(PROTOBUF_CUSTOM_VTABLE) : ::google::protobuf::Message(_class_data_.base()), #else // PROTOBUF_CUSTOM_VTABLE @@ -479,16 +472,16 @@ PROTOBUF_CONSTEXPR RemoteStorageTarget_Azure::RemoteStorageTarget_Azure(::_pbi:: #endif // PROTOBUF_CUSTOM_VTABLE _impl_(::_pbi::ConstantInitialized()) { } -struct RemoteStorageTarget_AzureDefaultTypeInternal { - PROTOBUF_CONSTEXPR RemoteStorageTarget_AzureDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} - ~RemoteStorageTarget_AzureDefaultTypeInternal() {} +struct RemoteStorageTarget_S3_StorageClassDefaultTypeInternal { + PROTOBUF_CONSTEXPR RemoteStorageTarget_S3_StorageClassDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~RemoteStorageTarget_S3_StorageClassDefaultTypeInternal() {} union { - RemoteStorageTarget_Azure _instance; + RemoteStorageTarget_S3_StorageClass _instance; }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RemoteStorageTarget_AzureDefaultTypeInternal _RemoteStorageTarget_Azure_default_instance_; + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RemoteStorageTarget_S3_StorageClassDefaultTypeInternal _RemoteStorageTarget_S3_StorageClass_default_instance_; inline constexpr NodeStats::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept @@ -527,10 +520,11 @@ inline constexpr JobLockedInfo::Impl_::Impl_( ::_pbi::ConstantInitialized()), mtime_{nullptr}, remote_mtime_{nullptr}, + size_{::int64_t{0}}, + mode_{0u}, read_write_locked_{false}, exists_{false}, - mode_{0u}, - size_{::int64_t{0}}, + is_archived_{false}, remote_size_{::int64_t{0}}, stub_url_rst_id_{0u} {} @@ -589,11 +583,15 @@ inline constexpr SyncJob::Impl_::Impl_( tagging_( &::google::protobuf::internal::fixed_address_empty_string, ::_pbi::ConstantInitialized()), + storage_class_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), locked_info_{nullptr}, operation_{static_cast< ::flex::SyncJob_Operation >(0)}, overwrite_{false}, flatten_{false}, - update_{false} {} + update_{false}, + allow_restore_{false} {} template PROTOBUF_CONSTEXPR SyncJob::SyncJob(::_pbi::ConstantInitialized) @@ -640,19 +638,31 @@ struct SubmitWorkResponseDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 SubmitWorkResponseDefaultTypeInternal _SubmitWorkResponse_default_instance_; -inline constexpr RemoteStorageTarget::Impl_::Impl_( +inline constexpr RemoteStorageTarget_S3::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept - : _cached_size_{0}, - name_( + : storage_class_{}, + endpoint_url_( &::google::protobuf::internal::fixed_address_empty_string, ::_pbi::ConstantInitialized()), - policies_{nullptr}, - id_{0u}, - type_{}, - _oneof_case_{} {} + partition_id_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + region_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + bucket_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + access_key_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + secret_key_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + _cached_size_{0} {} template -PROTOBUF_CONSTEXPR RemoteStorageTarget::RemoteStorageTarget(::_pbi::ConstantInitialized) +PROTOBUF_CONSTEXPR RemoteStorageTarget_S3::RemoteStorageTarget_S3(::_pbi::ConstantInitialized) #if defined(PROTOBUF_CUSTOM_VTABLE) : ::google::protobuf::Message(_class_data_.base()), #else // PROTOBUF_CUSTOM_VTABLE @@ -660,16 +670,16 @@ PROTOBUF_CONSTEXPR RemoteStorageTarget::RemoteStorageTarget(::_pbi::ConstantInit #endif // PROTOBUF_CUSTOM_VTABLE _impl_(::_pbi::ConstantInitialized()) { } -struct RemoteStorageTargetDefaultTypeInternal { - PROTOBUF_CONSTEXPR RemoteStorageTargetDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} - ~RemoteStorageTargetDefaultTypeInternal() {} +struct RemoteStorageTarget_S3DefaultTypeInternal { + PROTOBUF_CONSTEXPR RemoteStorageTarget_S3DefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~RemoteStorageTarget_S3DefaultTypeInternal() {} union { - RemoteStorageTarget _instance; + RemoteStorageTarget_S3 _instance; }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RemoteStorageTargetDefaultTypeInternal _RemoteStorageTarget_default_instance_; + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RemoteStorageTarget_S3DefaultTypeInternal _RemoteStorageTarget_S3_default_instance_; inline constexpr JobRequestCfg::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept @@ -681,6 +691,9 @@ inline constexpr JobRequestCfg::Impl_::Impl_( remotepath_( &::google::protobuf::internal::fixed_address_empty_string, ::_pbi::ConstantInitialized()), + storage_class_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), tagging_( &::google::protobuf::internal::fixed_address_empty_string, ::_pbi::ConstantInitialized()), @@ -690,9 +703,10 @@ inline constexpr JobRequestCfg::Impl_::Impl_( stub_local_{false}, overwrite_{false}, flatten_{false}, + priority_{0}, force_{false}, update_{false}, - priority_{0} {} + allow_restore_{false} {} template PROTOBUF_CONSTEXPR JobRequestCfg::JobRequestCfg(::_pbi::ConstantInitialized) @@ -740,14 +754,16 @@ struct HeartbeatResponseDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 HeartbeatResponseDefaultTypeInternal _HeartbeatResponse_default_instance_; -inline constexpr UpdateConfigRequest::Impl_::Impl_( +inline constexpr RemoteStorageTarget_Azure::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept : _cached_size_{0}, - rsts_{}, - bee_remote_{nullptr} {} + account_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + s3_{nullptr} {} template -PROTOBUF_CONSTEXPR UpdateConfigRequest::UpdateConfigRequest(::_pbi::ConstantInitialized) +PROTOBUF_CONSTEXPR RemoteStorageTarget_Azure::RemoteStorageTarget_Azure(::_pbi::ConstantInitialized) #if defined(PROTOBUF_CUSTOM_VTABLE) : ::google::protobuf::Message(_class_data_.base()), #else // PROTOBUF_CUSTOM_VTABLE @@ -755,16 +771,16 @@ PROTOBUF_CONSTEXPR UpdateConfigRequest::UpdateConfigRequest(::_pbi::ConstantInit #endif // PROTOBUF_CUSTOM_VTABLE _impl_(::_pbi::ConstantInitialized()) { } -struct UpdateConfigRequestDefaultTypeInternal { - PROTOBUF_CONSTEXPR UpdateConfigRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} - ~UpdateConfigRequestDefaultTypeInternal() {} +struct RemoteStorageTarget_AzureDefaultTypeInternal { + PROTOBUF_CONSTEXPR RemoteStorageTarget_AzureDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~RemoteStorageTarget_AzureDefaultTypeInternal() {} union { - UpdateConfigRequest _instance; + RemoteStorageTarget_Azure _instance; }; }; PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT - PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UpdateConfigRequestDefaultTypeInternal _UpdateConfigRequest_default_instance_; + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RemoteStorageTarget_AzureDefaultTypeInternal _RemoteStorageTarget_Azure_default_instance_; inline constexpr MockJob::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept @@ -801,7 +817,9 @@ PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT inline constexpr BuilderJob::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept : _cached_size_{0}, - cfg_{nullptr} {} + cfg_{nullptr}, + submitted_{0}, + errors_{0} {} template PROTOBUF_CONSTEXPR BuilderJob::BuilderJob(::_pbi::ConstantInitialized) @@ -865,6 +883,63 @@ struct WorkRequestDefaultTypeInternal { PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 WorkRequestDefaultTypeInternal _WorkRequest_default_instance_; +inline constexpr RemoteStorageTarget::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + name_( + &::google::protobuf::internal::fixed_address_empty_string, + ::_pbi::ConstantInitialized()), + policies_{nullptr}, + id_{0u}, + type_{}, + _oneof_case_{} {} + +template +PROTOBUF_CONSTEXPR RemoteStorageTarget::RemoteStorageTarget(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct RemoteStorageTargetDefaultTypeInternal { + PROTOBUF_CONSTEXPR RemoteStorageTargetDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~RemoteStorageTargetDefaultTypeInternal() {} + union { + RemoteStorageTarget _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 RemoteStorageTargetDefaultTypeInternal _RemoteStorageTarget_default_instance_; + +inline constexpr UpdateConfigRequest::Impl_::Impl_( + ::_pbi::ConstantInitialized) noexcept + : _cached_size_{0}, + rsts_{}, + bee_remote_{nullptr} {} + +template +PROTOBUF_CONSTEXPR UpdateConfigRequest::UpdateConfigRequest(::_pbi::ConstantInitialized) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(_class_data_.base()), +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(), +#endif // PROTOBUF_CUSTOM_VTABLE + _impl_(::_pbi::ConstantInitialized()) { +} +struct UpdateConfigRequestDefaultTypeInternal { + PROTOBUF_CONSTEXPR UpdateConfigRequestDefaultTypeInternal() : _instance(::_pbi::ConstantInitialized{}) {} + ~UpdateConfigRequestDefaultTypeInternal() {} + union { + UpdateConfigRequest _instance; + }; +}; + +PROTOBUF_ATTRIBUTE_NO_DESTROY PROTOBUF_CONSTINIT + PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 UpdateConfigRequestDefaultTypeInternal _UpdateConfigRequest_default_instance_; + inline constexpr SubmitWorkRequest::Impl_::Impl_( ::_pbi::ConstantInitialized) noexcept : _cached_size_{0}, @@ -1007,6 +1082,7 @@ const ::uint32_t PROTOBUF_FIELD_OFFSET(::flex::JobLockedInfo, _impl_.stub_url_rst_id_), PROTOBUF_FIELD_OFFSET(::flex::JobLockedInfo, _impl_.stub_url_path_), PROTOBUF_FIELD_OFFSET(::flex::JobLockedInfo, _impl_.externalid_), + PROTOBUF_FIELD_OFFSET(::flex::JobLockedInfo, _impl_.is_archived_), ~0u, ~0u, ~0u, @@ -1017,6 +1093,7 @@ const ::uint32_t ~0u, ~0u, ~0u, + ~0u, PROTOBUF_FIELD_OFFSET(::flex::JobRequestCfg_MetadataEntry_DoNotUse, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(::flex::JobRequestCfg_MetadataEntry_DoNotUse, _internal_metadata_), ~0u, // no _extensions_ @@ -1050,6 +1127,8 @@ const ::uint32_t PROTOBUF_FIELD_OFFSET(::flex::JobRequestCfg, _impl_.metadata_), PROTOBUF_FIELD_OFFSET(::flex::JobRequestCfg, _impl_.tagging_), PROTOBUF_FIELD_OFFSET(::flex::JobRequestCfg, _impl_.priority_), + PROTOBUF_FIELD_OFFSET(::flex::JobRequestCfg, _impl_.storage_class_), + PROTOBUF_FIELD_OFFSET(::flex::JobRequestCfg, _impl_.allow_restore_), ~0u, ~0u, ~0u, @@ -1058,11 +1137,13 @@ const ::uint32_t ~0u, ~0u, ~0u, - 1, 2, + 4, ~0u, - 0, + 1, 3, + 0, + 5, ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flex::WorkRequest_Segment, _internal_metadata_), ~0u, // no _extensions_ @@ -1115,7 +1196,11 @@ const ::uint32_t ~0u, // no _split_ ~0u, // no sizeof(Split) PROTOBUF_FIELD_OFFSET(::flex::BuilderJob, _impl_.cfg_), + PROTOBUF_FIELD_OFFSET(::flex::BuilderJob, _impl_.submitted_), + PROTOBUF_FIELD_OFFSET(::flex::BuilderJob, _impl_.errors_), 0, + ~0u, + ~0u, PROTOBUF_FIELD_OFFSET(::flex::MockJob, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(::flex::MockJob, _internal_metadata_), ~0u, // no _extensions_ @@ -1164,14 +1249,18 @@ const ::uint32_t PROTOBUF_FIELD_OFFSET(::flex::SyncJob, _impl_.update_), PROTOBUF_FIELD_OFFSET(::flex::SyncJob, _impl_.metadata_), PROTOBUF_FIELD_OFFSET(::flex::SyncJob, _impl_.tagging_), + PROTOBUF_FIELD_OFFSET(::flex::SyncJob, _impl_.storage_class_), + PROTOBUF_FIELD_OFFSET(::flex::SyncJob, _impl_.allow_restore_), ~0u, ~0u, ~0u, ~0u, - 1, 2, + 3, ~0u, 0, + 1, + 4, ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flex::Work_Status, _internal_metadata_), ~0u, // no _extensions_ @@ -1265,6 +1354,31 @@ const ::uint32_t ~0u, // no sizeof(Split) PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_Policies, _impl_.fast_start_max_size_), ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3_StorageClass_Archival, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3_StorageClass_Archival, _impl_.retrieval_tier_), + PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3_StorageClass_Archival, _impl_.retention_days_), + PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3_StorageClass_Archival, _impl_.check_time_), + PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3_StorageClass_Archival, _impl_.recheck_time_), + PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3_StorageClass_Archival, _impl_.auto_restore_), + PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3_StorageClass, _impl_._has_bits_), + PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3_StorageClass, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + ~0u, // no _inlined_string_donated_ + ~0u, // no _split_ + ~0u, // no sizeof(Split) + PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3_StorageClass, _impl_.name_), + PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3_StorageClass, _impl_.archival_), + ~0u, + 0, + ~0u, // no _has_bits_ PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3, _internal_metadata_), ~0u, // no _extensions_ ~0u, // no _oneof_case_ @@ -1278,6 +1392,7 @@ const ::uint32_t PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3, _impl_.bucket_), PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3, _impl_.access_key_), PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3, _impl_.secret_key_), + PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_S3, _impl_.storage_class_), PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_Azure, _impl_._has_bits_), PROTOBUF_FIELD_OFFSET(::flex::RemoteStorageTarget_Azure, _internal_metadata_), ~0u, // no _extensions_ @@ -1335,26 +1450,28 @@ static const ::_pbi::MigrationSchema {64, 73, -1, sizeof(::flex::UpdateWorkResponse)}, {74, -1, -1, sizeof(::flex::BulkUpdateWorkRequest)}, {83, -1, -1, sizeof(::flex::BulkUpdateWorkResponse)}, - {93, 111, -1, sizeof(::flex::JobLockedInfo)}, - {121, 131, -1, sizeof(::flex::JobRequestCfg_MetadataEntry_DoNotUse)}, - {133, 154, -1, sizeof(::flex::JobRequestCfg)}, - {167, -1, -1, sizeof(::flex::WorkRequest_Segment)}, - {179, 199, -1, sizeof(::flex::WorkRequest)}, - {210, 219, -1, sizeof(::flex::BuilderJob)}, - {220, 234, -1, sizeof(::flex::MockJob)}, - {240, 250, -1, sizeof(::flex::SyncJob_MetadataEntry_DoNotUse)}, - {252, 268, -1, sizeof(::flex::SyncJob)}, - {276, -1, -1, sizeof(::flex::Work_Status)}, - {286, -1, -1, sizeof(::flex::Work_Part)}, - {300, 314, -1, sizeof(::flex::Work)}, - {320, 330, -1, sizeof(::flex::UpdateConfigRequest)}, - {332, -1, -1, sizeof(::flex::UpdateConfigResponse)}, - {342, -1, -1, sizeof(::flex::BeeRemoteNode)}, - {359, -1, -1, sizeof(::flex::RemoteStorageTarget_Policies)}, - {368, -1, -1, sizeof(::flex::RemoteStorageTarget_S3)}, - {382, 392, -1, sizeof(::flex::RemoteStorageTarget_Azure)}, - {394, -1, -1, sizeof(::flex::RemoteStorageTarget_POSIX)}, - {403, 419, -1, sizeof(::flex::RemoteStorageTarget)}, + {93, 112, -1, sizeof(::flex::JobLockedInfo)}, + {123, 133, -1, sizeof(::flex::JobRequestCfg_MetadataEntry_DoNotUse)}, + {135, 158, -1, sizeof(::flex::JobRequestCfg)}, + {173, -1, -1, sizeof(::flex::WorkRequest_Segment)}, + {185, 205, -1, sizeof(::flex::WorkRequest)}, + {216, 227, -1, sizeof(::flex::BuilderJob)}, + {230, 244, -1, sizeof(::flex::MockJob)}, + {250, 260, -1, sizeof(::flex::SyncJob_MetadataEntry_DoNotUse)}, + {262, 280, -1, sizeof(::flex::SyncJob)}, + {290, -1, -1, sizeof(::flex::Work_Status)}, + {300, -1, -1, sizeof(::flex::Work_Part)}, + {314, 328, -1, sizeof(::flex::Work)}, + {334, 344, -1, sizeof(::flex::UpdateConfigRequest)}, + {346, -1, -1, sizeof(::flex::UpdateConfigResponse)}, + {356, -1, -1, sizeof(::flex::BeeRemoteNode)}, + {373, -1, -1, sizeof(::flex::RemoteStorageTarget_Policies)}, + {382, -1, -1, sizeof(::flex::RemoteStorageTarget_S3_StorageClass_Archival)}, + {395, 405, -1, sizeof(::flex::RemoteStorageTarget_S3_StorageClass)}, + {407, -1, -1, sizeof(::flex::RemoteStorageTarget_S3)}, + {422, 432, -1, sizeof(::flex::RemoteStorageTarget_Azure)}, + {434, -1, -1, sizeof(::flex::RemoteStorageTarget_POSIX)}, + {443, 459, -1, sizeof(::flex::RemoteStorageTarget)}, }; static const ::_pb::Message* const file_default_instances[] = { &::flex::_HeartbeatRequest_default_instance_._instance, @@ -1382,6 +1499,8 @@ static const ::_pb::Message* const file_default_instances[] = { &::flex::_UpdateConfigResponse_default_instance_._instance, &::flex::_BeeRemoteNode_default_instance_._instance, &::flex::_RemoteStorageTarget_Policies_default_instance_._instance, + &::flex::_RemoteStorageTarget_S3_StorageClass_Archival_default_instance_._instance, + &::flex::_RemoteStorageTarget_S3_StorageClass_default_instance_._instance, &::flex::_RemoteStorageTarget_S3_default_instance_._instance, &::flex::_RemoteStorageTarget_Azure_default_instance_._instance, &::flex::_RemoteStorageTarget_POSIX_default_instance_._instance, @@ -1407,50 +1526,56 @@ const char descriptor_table_protodef_flex_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIA "e\030\001 \001(\0162$.flex.BulkUpdateWorkRequest.New" "State\"*\n\010NewState\022\017\n\013UNSPECIFIED\020\000\022\r\n\tUN" "CHANGED\020\001\":\n\026BulkUpdateWorkResponse\022\017\n\007s" - "uccess\030\001 \001(\010\022\017\n\007message\030\002 \001(\t\"\214\002\n\rJobLoc" + "uccess\030\001 \001(\010\022\017\n\007message\030\002 \001(\t\"\241\002\n\rJobLoc" "kedInfo\022\031\n\021read_write_locked\030\001 \001(\010\022\016\n\006ex" "ists\030\002 \001(\010\022\014\n\004size\030\003 \001(\003\022\014\n\004mode\030\004 \001(\r\022)" "\n\005mtime\030\005 \001(\0132\032.google.protobuf.Timestam" "p\022\023\n\013remote_size\030\006 \001(\003\0220\n\014remote_mtime\030\007" " \001(\0132\032.google.protobuf.Timestamp\022\027\n\017stub" "_url_rst_id\030\010 \001(\r\022\025\n\rstub_url_path\030\t \001(\t" - "\022\022\n\nexternalId\030\n \001(\t\"\235\003\n\rJobRequestCfg\022\033" - "\n\023remoteStorageTarget\030\001 \001(\r\022\014\n\004path\030\002 \001(" - "\t\022\022\n\nremotePath\030\003 \001(\t\022\020\n\010download\030\004 \001(\010\022" - "\022\n\nstub_local\030\005 \001(\010\022\021\n\toverwrite\030\006 \001(\010\022\017" - "\n\007flatten\030\007 \001(\010\022\r\n\005force\030\010 \001(\010\022(\n\013locked" - "_info\030\t \001(\0132\023.flex.JobLockedInfo\022\023\n\006upda" - "te\030\n \001(\010H\000\210\001\001\0223\n\010metadata\030\r \003(\0132!.flex.J" - "obRequestCfg.MetadataEntry\022\024\n\007tagging\030\016 " - "\001(\tH\001\210\001\001\022\025\n\010priority\030\013 \001(\005H\002\210\001\001\032/\n\rMetad" - "ataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001" - "B\t\n\007_updateB\n\n\010_taggingB\013\n\t_priority\"\241\003\n" - "\013WorkRequest\022\016\n\006job_id\030\001 \001(\t\022\022\n\nrequest_" - "id\030\002 \001(\t\022\023\n\013external_id\030\003 \001(\t\022\014\n\004path\030\004 " - "\001(\t\022*\n\007segment\030\005 \001(\0132\031.flex.WorkRequest." - "Segment\022\035\n\025remote_storage_target\030\006 \001(\r\022\035" - "\n\004mock\030\n \001(\0132\r.flex.MockJobH\000\022\035\n\004sync\030\013 " - "\001(\0132\r.flex.SyncJobH\000\022#\n\007builder\030\014 \001(\0132\020." - "flex.BuilderJobH\000\022\022\n\nstub_local\030\010 \001(\010\022\025\n" - "\010priority\030\t \001(\005H\001\210\001\001\032]\n\007Segment\022\024\n\014offse" - "t_start\030\001 \001(\003\022\023\n\013offset_stop\030\002 \001(\003\022\023\n\013pa" - "rts_start\030\003 \001(\005\022\022\n\nparts_stop\030\004 \001(\005B\006\n\004T" - "ypeB\013\n\t_priority\".\n\nBuilderJob\022 \n\003cfg\030\001 " - "\001(\0132\023.flex.JobRequestCfg\"\255\001\n\007MockJob\022\031\n\021" - "num_test_segments\030\001 \001(\005\022\021\n\tfile_size\030\002 \001" - "(\003\022\023\n\013external_id\030\003 \001(\t\022\023\n\013should_fail\030\004" - " \001(\010\022(\n\013locked_info\030\006 \001(\0132\023.flex.JobLock" - "edInfo\022 \n\003cfg\030\007 \001(\0132\023.flex.JobRequestCfg" - "\"\362\002\n\007SyncJob\022*\n\toperation\030\001 \001(\0162\027.flex.S" - "yncJob.Operation\022\021\n\toverwrite\030\002 \001(\010\022\023\n\013r" - "emote_path\030\003 \001(\t\022\017\n\007flatten\030\005 \001(\010\022(\n\013loc" - "ked_info\030\006 \001(\0132\023.flex.JobLockedInfo\022\023\n\006u" - "pdate\030\007 \001(\010H\000\210\001\001\022-\n\010metadata\030\t \003(\0132\033.fle" - "x.SyncJob.MetadataEntry\022\024\n\007tagging\030\n \001(\t" - "H\001\210\001\001\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005v" - "alue\030\002 \001(\t:\0028\001\"6\n\tOperation\022\017\n\013UNSPECIFI" - "ED\020\000\022\n\n\006UPLOAD\020\001\022\014\n\010DOWNLOAD\020\002B\t\n\007_updat" - "eB\n\n\010_tagging\"\354\003\n\004Work\022\014\n\004path\030\001 \001(\t\022\016\n\006" + "\022\022\n\nexternalId\030\n \001(\t\022\023\n\013is_archived\030\013 \001(" + "\010\"\371\003\n\rJobRequestCfg\022\033\n\023remoteStorageTarg" + "et\030\001 \001(\r\022\014\n\004path\030\002 \001(\t\022\022\n\nremotePath\030\003 \001" + "(\t\022\020\n\010download\030\004 \001(\010\022\022\n\nstub_local\030\005 \001(\010" + "\022\021\n\toverwrite\030\006 \001(\010\022\017\n\007flatten\030\007 \001(\010\022\r\n\005" + "force\030\010 \001(\010\022(\n\013locked_info\030\t \001(\0132\023.flex." + "JobLockedInfo\022\023\n\006update\030\n \001(\010H\000\210\001\001\0223\n\010me" + "tadata\030\r \003(\0132!.flex.JobRequestCfg.Metada" + "taEntry\022\024\n\007tagging\030\016 \001(\tH\001\210\001\001\022\025\n\010priorit" + "y\030\013 \001(\005H\002\210\001\001\022\032\n\rstorage_class\030\014 \001(\tH\003\210\001\001" + "\022\032\n\rallow_restore\030\017 \001(\010H\004\210\001\001\032/\n\rMetadata" + "Entry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001B\t\n" + "\007_updateB\n\n\010_taggingB\013\n\t_priorityB\020\n\016_st" + "orage_classB\020\n\016_allow_restore\"\241\003\n\013WorkRe" + "quest\022\016\n\006job_id\030\001 \001(\t\022\022\n\nrequest_id\030\002 \001(" + "\t\022\023\n\013external_id\030\003 \001(\t\022\014\n\004path\030\004 \001(\t\022*\n\007" + "segment\030\005 \001(\0132\031.flex.WorkRequest.Segment" + "\022\035\n\025remote_storage_target\030\006 \001(\r\022\035\n\004mock\030" + "\n \001(\0132\r.flex.MockJobH\000\022\035\n\004sync\030\013 \001(\0132\r.f" + "lex.SyncJobH\000\022#\n\007builder\030\014 \001(\0132\020.flex.Bu" + "ilderJobH\000\022\022\n\nstub_local\030\010 \001(\010\022\025\n\010priori" + "ty\030\t \001(\005H\001\210\001\001\032]\n\007Segment\022\024\n\014offset_start" + "\030\001 \001(\003\022\023\n\013offset_stop\030\002 \001(\003\022\023\n\013parts_sta" + "rt\030\003 \001(\005\022\022\n\nparts_stop\030\004 \001(\005B\006\n\004TypeB\013\n\t" + "_priority\"Q\n\nBuilderJob\022 \n\003cfg\030\001 \001(\0132\023.f" + "lex.JobRequestCfg\022\021\n\tsubmitted\030\002 \001(\005\022\016\n\006" + "errors\030\003 \001(\005\"\255\001\n\007MockJob\022\031\n\021num_test_seg" + "ments\030\001 \001(\005\022\021\n\tfile_size\030\002 \001(\003\022\023\n\013extern" + "al_id\030\003 \001(\t\022\023\n\013should_fail\030\004 \001(\010\022(\n\013lock" + "ed_info\030\006 \001(\0132\023.flex.JobLockedInfo\022 \n\003cf" + "g\030\007 \001(\0132\023.flex.JobRequestCfg\"\316\003\n\007SyncJob" + "\022*\n\toperation\030\001 \001(\0162\027.flex.SyncJob.Opera" + "tion\022\021\n\toverwrite\030\002 \001(\010\022\023\n\013remote_path\030\003" + " \001(\t\022\017\n\007flatten\030\005 \001(\010\022(\n\013locked_info\030\006 \001" + "(\0132\023.flex.JobLockedInfo\022\023\n\006update\030\007 \001(\010H" + "\000\210\001\001\022-\n\010metadata\030\t \003(\0132\033.flex.SyncJob.Me" + "tadataEntry\022\024\n\007tagging\030\n \001(\tH\001\210\001\001\022\032\n\rsto" + "rage_class\030\014 \001(\tH\002\210\001\001\022\032\n\rallow_restore\030\r" + " \001(\010H\003\210\001\001\032/\n\rMetadataEntry\022\013\n\003key\030\001 \001(\t\022" + "\r\n\005value\030\002 \001(\t:\0028\001\"6\n\tOperation\022\017\n\013UNSPE" + "CIFIED\020\000\022\n\n\006UPLOAD\020\001\022\014\n\010DOWNLOAD\020\002B\t\n\007_u" + "pdateB\n\n\010_taggingB\020\n\016_storage_classB\020\n\016_" + "allow_restore\"\354\003\n\004Work\022\014\n\004path\030\001 \001(\t\022\016\n\006" "job_id\030\002 \001(\t\022\022\n\nrequest_id\030\003 \001(\t\022!\n\006stat" "us\030\004 \001(\0132\021.flex.Work.Status\022\036\n\005parts\030\005 \003" "(\0132\017.flex.Work.Part\022\023\n\013job_builder\030\006 \001(\010" @@ -1475,30 +1600,38 @@ const char descriptor_table_protodef_flex_2eproto[] ABSL_ATTRIBUTE_SECTION_VARIA "disable_verification\030\005 \001(\010\022\031\n\021mgmtd_tls_" "disable\030\006 \001(\010\022\027\n\017mgmtd_use_proxy\030\t \001(\010\022\023" "\n\013auth_secret\030\007 \001(\014\022\024\n\014auth_disable\030\010 \001(" - "\010\"\213\004\n\023RemoteStorageTarget\022\n\n\002id\030\001 \001(\r\022\014\n" + "\010\"\301\006\n\023RemoteStorageTarget\022\n\n\002id\030\001 \001(\r\022\014\n" "\004name\030\002 \001(\t\0224\n\010policies\030\003 \001(\0132\".flex.Rem" "oteStorageTarget.Policies\022*\n\002s3\030\004 \001(\0132\034." "flex.RemoteStorageTarget.S3H\000\0220\n\005posix\030\005" " \001(\0132\037.flex.RemoteStorageTarget.POSIXH\000\022" "0\n\005azure\030\006 \001(\0132\037.flex.RemoteStorageTarge" "t.AzureH\000\022\016\n\004mock\030\007 \001(\tH\000\032\'\n\010Policies\022\033\n" - "\023fast_start_max_size\030\001 \001(\003\032x\n\002S3\022\024\n\014endp" - "oint_url\030\001 \001(\t\022\024\n\014partition_id\030\002 \001(\t\022\016\n\006" - "region\030\003 \001(\t\022\016\n\006bucket\030\004 \001(\t\022\022\n\naccess_k" - "ey\030\005 \001(\t\022\022\n\nsecret_key\030\006 \001(\t\032B\n\005Azure\022(\n" - "\002s3\030\001 \001(\0132\034.flex.RemoteStorageTarget.S3\022" - "\017\n\007account\030\002 \001(\t\032\025\n\005POSIX\022\014\n\004path\030\001 \001(\tB" - "\006\n\004type2\340\002\n\nWorkerNode\022E\n\014UpdateConfig\022\031" - ".flex.UpdateConfigRequest\032\032.flex.UpdateC" - "onfigResponse\022<\n\tHeartbeat\022\026.flex.Heartb" - "eatRequest\032\027.flex.HeartbeatResponse\022\?\n\nS" - "ubmitWork\022\027.flex.SubmitWorkRequest\032\030.fle" - "x.SubmitWorkResponse\022\?\n\nUpdateWork\022\027.fle" - "x.UpdateWorkRequest\032\030.flex.UpdateWorkRes" - "ponse\022K\n\016BulkUpdateWork\022\033.flex.BulkUpdat" - "eWorkRequest\032\034.flex.BulkUpdateWorkRespon" - "seB\'Z%github.com/thinkparq/protobuf/go/f" - "lexb\006proto3" + "\023fast_start_max_size\030\001 \001(\003\032\255\003\n\002S3\022\024\n\014end" + "point_url\030\001 \001(\t\022\024\n\014partition_id\030\002 \001(\t\022\016\n" + "\006region\030\003 \001(\t\022\016\n\006bucket\030\004 \001(\t\022\022\n\naccess_" + "key\030\005 \001(\t\022\022\n\nsecret_key\030\006 \001(\t\022@\n\rstorage" + "_class\030\010 \003(\0132).flex.RemoteStorageTarget." + "S3.StorageClass\032\360\001\n\014StorageClass\022\014\n\004name" + "\030\001 \001(\t\022I\n\010archival\030\002 \001(\01322.flex.RemoteSt" + "orageTarget.S3.StorageClass.ArchivalH\000\210\001" + "\001\032z\n\010Archival\022\026\n\016retrieval_tier\030\001 \001(\t\022\026\n" + "\016retention_days\030\002 \001(\005\022\022\n\ncheck_time\030\003 \001(" + "\t\022\024\n\014recheck_time\030\004 \001(\t\022\024\n\014auto_restore\030" + "\005 \001(\010B\013\n\t_archival\032B\n\005Azure\022(\n\002s3\030\001 \001(\0132" + "\034.flex.RemoteStorageTarget.S3\022\017\n\007account" + "\030\002 \001(\t\032\025\n\005POSIX\022\014\n\004path\030\001 \001(\tB\006\n\004type2\340\002" + "\n\nWorkerNode\022E\n\014UpdateConfig\022\031.flex.Upda" + "teConfigRequest\032\032.flex.UpdateConfigRespo" + "nse\022<\n\tHeartbeat\022\026.flex.HeartbeatRequest" + "\032\027.flex.HeartbeatResponse\022\?\n\nSubmitWork\022" + "\027.flex.SubmitWorkRequest\032\030.flex.SubmitWo" + "rkResponse\022\?\n\nUpdateWork\022\027.flex.UpdateWo" + "rkRequest\032\030.flex.UpdateWorkResponse\022K\n\016B" + "ulkUpdateWork\022\033.flex.BulkUpdateWorkReque" + "st\032\034.flex.BulkUpdateWorkResponseB\'Z%gith" + "ub.com/thinkparq/protobuf/go/flexb\006proto" + "3" }; static const ::_pbi::DescriptorTable* const descriptor_table_flex_2eproto_deps[1] = { @@ -1508,13 +1641,13 @@ static ::absl::once_flag descriptor_table_flex_2eproto_once; PROTOBUF_CONSTINIT const ::_pbi::DescriptorTable descriptor_table_flex_2eproto = { false, false, - 4371, + 4921, descriptor_table_protodef_flex_2eproto, "flex.proto", &descriptor_table_flex_2eproto_once, descriptor_table_flex_2eproto_deps, 1, - 29, + 31, schemas, file_default_instances, TableStruct_flex_2eproto::offsets, @@ -3972,11 +4105,11 @@ JobLockedInfo::JobLockedInfo( arena, *from._impl_.remote_mtime_) : nullptr; ::memcpy(reinterpret_cast(&_impl_) + - offsetof(Impl_, read_write_locked_), + offsetof(Impl_, size_), reinterpret_cast(&from._impl_) + - offsetof(Impl_, read_write_locked_), + offsetof(Impl_, size_), offsetof(Impl_, stub_url_rst_id_) - - offsetof(Impl_, read_write_locked_) + + offsetof(Impl_, size_) + sizeof(Impl_::stub_url_rst_id_)); // @@protoc_insertion_point(copy_constructor:flex.JobLockedInfo) @@ -4048,15 +4181,15 @@ const ::google::protobuf::internal::ClassData* JobLockedInfo::GetClassData() con return _class_data_.base(); } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::_pbi::TcParseTable<4, 10, 2, 58, 2> JobLockedInfo::_table_ = { +const ::_pbi::TcParseTable<4, 11, 2, 58, 2> JobLockedInfo::_table_ = { { PROTOBUF_FIELD_OFFSET(JobLockedInfo, _impl_._has_bits_), 0, // no _extensions_ - 10, 120, // max_field_number, fast_idx_mask + 11, 120, // max_field_number, fast_idx_mask offsetof(decltype(_table_), field_lookup_table), - 4294966272, // skipmap + 4294965248, // skipmap offsetof(decltype(_table_), field_entries), - 10, // num_field_entries + 11, // num_field_entries 2, // num_aux_entries offsetof(decltype(_table_), aux_entries), _class_data_.base(), @@ -4097,7 +4230,9 @@ const ::_pbi::TcParseTable<4, 10, 2, 58, 2> JobLockedInfo::_table_ = { // string externalId = 10; {::_pbi::TcParser::FastUS1, {82, 63, 0, PROTOBUF_FIELD_OFFSET(JobLockedInfo, _impl_.externalid_)}}, - {::_pbi::TcParser::MiniParse, {}}, + // bool is_archived = 11; + {::_pbi::TcParser::SingularVarintNoZag1(), + {88, 63, 0, PROTOBUF_FIELD_OFFSET(JobLockedInfo, _impl_.is_archived_)}}, {::_pbi::TcParser::MiniParse, {}}, {::_pbi::TcParser::MiniParse, {}}, {::_pbi::TcParser::MiniParse, {}}, @@ -4135,6 +4270,9 @@ const ::_pbi::TcParseTable<4, 10, 2, 58, 2> JobLockedInfo::_table_ = { // string externalId = 10; {PROTOBUF_FIELD_OFFSET(JobLockedInfo, _impl_.externalid_), -1, 0, (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // bool is_archived = 11; + {PROTOBUF_FIELD_OFFSET(JobLockedInfo, _impl_.is_archived_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBool)}, }}, {{ {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, {::_pbi::TcParser::GetTable<::google::protobuf::Timestamp>()}, @@ -4166,9 +4304,9 @@ PROTOBUF_NOINLINE void JobLockedInfo::Clear() { _impl_.remote_mtime_->Clear(); } } - ::memset(&_impl_.read_write_locked_, 0, static_cast<::size_t>( + ::memset(&_impl_.size_, 0, static_cast<::size_t>( reinterpret_cast(&_impl_.stub_url_rst_id_) - - reinterpret_cast(&_impl_.read_write_locked_)) + sizeof(_impl_.stub_url_rst_id_)); + reinterpret_cast(&_impl_.size_)) + sizeof(_impl_.stub_url_rst_id_)); _impl_._has_bits_.Clear(); _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); } @@ -4261,6 +4399,13 @@ PROTOBUF_NOINLINE void JobLockedInfo::Clear() { target = stream->WriteStringMaybeAliased(10, _s, target); } + // bool is_archived = 11; + if (this_._internal_is_archived() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 11, this_._internal_is_archived(), target); + } + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( @@ -4311,6 +4456,16 @@ PROTOBUF_NOINLINE void JobLockedInfo::Clear() { } } { + // int64 size = 3; + if (this_._internal_size() != 0) { + total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( + this_._internal_size()); + } + // uint32 mode = 4; + if (this_._internal_mode() != 0) { + total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( + this_._internal_mode()); + } // bool read_write_locked = 1; if (this_._internal_read_write_locked() != 0) { total_size += 2; @@ -4319,15 +4474,9 @@ PROTOBUF_NOINLINE void JobLockedInfo::Clear() { if (this_._internal_exists() != 0) { total_size += 2; } - // uint32 mode = 4; - if (this_._internal_mode() != 0) { - total_size += ::_pbi::WireFormatLite::UInt32SizePlusOne( - this_._internal_mode()); - } - // int64 size = 3; - if (this_._internal_size() != 0) { - total_size += ::_pbi::WireFormatLite::Int64SizePlusOne( - this_._internal_size()); + // bool is_archived = 11; + if (this_._internal_is_archived() != 0) { + total_size += 2; } // int64 remote_size = 6; if (this_._internal_remote_size() != 0) { @@ -4380,17 +4529,20 @@ void JobLockedInfo::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::g } } } + if (from._internal_size() != 0) { + _this->_impl_.size_ = from._impl_.size_; + } + if (from._internal_mode() != 0) { + _this->_impl_.mode_ = from._impl_.mode_; + } if (from._internal_read_write_locked() != 0) { _this->_impl_.read_write_locked_ = from._impl_.read_write_locked_; } if (from._internal_exists() != 0) { _this->_impl_.exists_ = from._impl_.exists_; } - if (from._internal_mode() != 0) { - _this->_impl_.mode_ = from._impl_.mode_; - } - if (from._internal_size() != 0) { - _this->_impl_.size_ = from._impl_.size_; + if (from._internal_is_archived() != 0) { + _this->_impl_.is_archived_ = from._impl_.is_archived_; } if (from._internal_remote_size() != 0) { _this->_impl_.remote_size_ = from._impl_.remote_size_; @@ -4547,6 +4699,7 @@ inline PROTOBUF_NDEBUG_INLINE JobRequestCfg::Impl_::Impl_( metadata_{visibility, arena, from.metadata_}, path_(arena, from.path_), remotepath_(arena, from.remotepath_), + storage_class_(arena, from.storage_class_), tagging_(arena, from.tagging_) {} JobRequestCfg::JobRequestCfg( @@ -4563,16 +4716,16 @@ JobRequestCfg::JobRequestCfg( from._internal_metadata_); new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); ::uint32_t cached_has_bits = _impl_._has_bits_[0]; - _impl_.locked_info_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::flex::JobLockedInfo>( + _impl_.locked_info_ = (cached_has_bits & 0x00000004u) ? ::google::protobuf::Message::CopyConstruct<::flex::JobLockedInfo>( arena, *from._impl_.locked_info_) : nullptr; ::memcpy(reinterpret_cast(&_impl_) + offsetof(Impl_, remotestoragetarget_), reinterpret_cast(&from._impl_) + offsetof(Impl_, remotestoragetarget_), - offsetof(Impl_, priority_) - + offsetof(Impl_, allow_restore_) - offsetof(Impl_, remotestoragetarget_) + - sizeof(Impl_::priority_)); + sizeof(Impl_::allow_restore_)); // @@protoc_insertion_point(copy_constructor:flex.JobRequestCfg) } @@ -4583,6 +4736,7 @@ inline PROTOBUF_NDEBUG_INLINE JobRequestCfg::Impl_::Impl_( metadata_{visibility, arena}, path_(arena), remotepath_(arena), + storage_class_(arena), tagging_(arena) {} inline void JobRequestCfg::SharedCtor(::_pb::Arena* arena) { @@ -4590,9 +4744,9 @@ inline void JobRequestCfg::SharedCtor(::_pb::Arena* arena) { ::memset(reinterpret_cast(&_impl_) + offsetof(Impl_, locked_info_), 0, - offsetof(Impl_, priority_) - + offsetof(Impl_, allow_restore_) - offsetof(Impl_, locked_info_) + - sizeof(Impl_::priority_)); + sizeof(Impl_::allow_restore_)); } JobRequestCfg::~JobRequestCfg() { // @@protoc_insertion_point(destructor:flex.JobRequestCfg) @@ -4604,6 +4758,7 @@ inline void JobRequestCfg::SharedDtor(MessageLite& self) { ABSL_DCHECK(this_.GetArena() == nullptr); this_._impl_.path_.Destroy(); this_._impl_.remotepath_.Destroy(); + this_._impl_.storage_class_.Destroy(); this_._impl_.tagging_.Destroy(); delete this_._impl_.locked_info_; this_._impl_.~Impl_(); @@ -4661,15 +4816,15 @@ const ::google::protobuf::internal::ClassData* JobRequestCfg::GetClassData() con return _class_data_.base(); } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::_pbi::TcParseTable<4, 13, 2, 64, 2> JobRequestCfg::_table_ = { +const ::_pbi::TcParseTable<4, 15, 2, 77, 2> JobRequestCfg::_table_ = { { PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_._has_bits_), 0, // no _extensions_ - 14, 120, // max_field_number, fast_idx_mask + 15, 120, // max_field_number, fast_idx_mask offsetof(decltype(_table_), field_lookup_table), - 4294952960, // skipmap + 4294934528, // skipmap offsetof(decltype(_table_), field_entries), - 13, // num_field_entries + 15, // num_field_entries 2, // num_aux_entries offsetof(decltype(_table_), aux_entries), _class_data_.base(), @@ -4706,19 +4861,23 @@ const ::_pbi::TcParseTable<4, 13, 2, 64, 2> JobRequestCfg::_table_ = { {64, 63, 0, PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.force_)}}, // .flex.JobLockedInfo locked_info = 9; {::_pbi::TcParser::FastMtS1, - {74, 1, 0, PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.locked_info_)}}, + {74, 2, 0, PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.locked_info_)}}, // optional bool update = 10; - {::_pbi::TcParser::SingularVarintNoZag1(), - {80, 2, 0, PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.update_)}}, + {::_pbi::TcParser::SingularVarintNoZag1(), + {80, 4, 0, PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.update_)}}, // optional int32 priority = 11; {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(JobRequestCfg, _impl_.priority_), 3>(), {88, 3, 0, PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.priority_)}}, - {::_pbi::TcParser::MiniParse, {}}, + // optional string storage_class = 12; + {::_pbi::TcParser::FastUS1, + {98, 0, 0, PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.storage_class_)}}, {::_pbi::TcParser::MiniParse, {}}, // optional string tagging = 14; {::_pbi::TcParser::FastUS1, - {114, 0, 0, PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.tagging_)}}, - {::_pbi::TcParser::MiniParse, {}}, + {114, 1, 0, PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.tagging_)}}, + // optional bool allow_restore = 15; + {::_pbi::TcParser::SingularVarintNoZag1(), + {120, 5, 0, PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.allow_restore_)}}, }}, {{ 65535, 65535 }}, {{ @@ -4747,20 +4906,26 @@ const ::_pbi::TcParseTable<4, 13, 2, 64, 2> JobRequestCfg::_table_ = { {PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.force_), -1, 0, (0 | ::_fl::kFcSingular | ::_fl::kBool)}, // .flex.JobLockedInfo locked_info = 9; - {PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.locked_info_), _Internal::kHasBitsOffset + 1, 0, + {PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.locked_info_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, // optional bool update = 10; - {PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.update_), _Internal::kHasBitsOffset + 2, 0, + {PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.update_), _Internal::kHasBitsOffset + 4, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, // optional int32 priority = 11; {PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.priority_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kInt32)}, + // optional string storage_class = 12; + {PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.storage_class_), _Internal::kHasBitsOffset + 0, 0, + (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, // map metadata = 13; {PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.metadata_), -1, 1, (0 | ::_fl::kFcRepeated | ::_fl::kMap)}, // optional string tagging = 14; - {PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.tagging_), _Internal::kHasBitsOffset + 0, 0, + {PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.tagging_), _Internal::kHasBitsOffset + 1, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // optional bool allow_restore = 15; + {PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.allow_restore_), _Internal::kHasBitsOffset + 5, 0, + (0 | ::_fl::kFcOptional | ::_fl::kBool)}, }}, {{ {::_pbi::TcParser::GetTable<::flex::JobLockedInfo>()}, {::_pbi::TcParser::GetMapAuxInfo< @@ -4768,10 +4933,11 @@ const ::_pbi::TcParseTable<4, 13, 2, 64, 2> JobRequestCfg::_table_ = { 1, 0, 0, 9, 9)}, }}, {{ - "\22\0\4\12\0\0\0\0\0\0\0\0\10\7\0\0" + "\22\0\4\12\0\0\0\0\0\0\0\0\15\10\7\0" "flex.JobRequestCfg" "path" "remotePath" + "storage_class" "metadata" "tagging" }}, @@ -4788,22 +4954,27 @@ PROTOBUF_NOINLINE void JobRequestCfg::Clear() { _impl_.path_.ClearToEmpty(); _impl_.remotepath_.ClearToEmpty(); cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000007u) { if (cached_has_bits & 0x00000001u) { - _impl_.tagging_.ClearNonDefaultToEmpty(); + _impl_.storage_class_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000002u) { + _impl_.tagging_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000004u) { ABSL_DCHECK(_impl_.locked_info_ != nullptr); _impl_.locked_info_->Clear(); } } ::memset(&_impl_.remotestoragetarget_, 0, static_cast<::size_t>( - reinterpret_cast(&_impl_.force_) - - reinterpret_cast(&_impl_.remotestoragetarget_)) + sizeof(_impl_.force_)); - if (cached_has_bits & 0x0000000cu) { + reinterpret_cast(&_impl_.flatten_) - + reinterpret_cast(&_impl_.remotestoragetarget_)) + sizeof(_impl_.flatten_)); + _impl_.priority_ = 0; + _impl_.force_ = false; + if (cached_has_bits & 0x00000030u) { ::memset(&_impl_.update_, 0, static_cast<::size_t>( - reinterpret_cast(&_impl_.priority_) - - reinterpret_cast(&_impl_.update_)) + sizeof(_impl_.priority_)); + reinterpret_cast(&_impl_.allow_restore_) - + reinterpret_cast(&_impl_.update_)) + sizeof(_impl_.allow_restore_)); } _impl_._has_bits_.Clear(); _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); @@ -4884,14 +5055,14 @@ PROTOBUF_NOINLINE void JobRequestCfg::Clear() { cached_has_bits = this_._impl_._has_bits_[0]; // .flex.JobLockedInfo locked_info = 9; - if (cached_has_bits & 0x00000002u) { + if (cached_has_bits & 0x00000004u) { target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( 9, *this_._impl_.locked_info_, this_._impl_.locked_info_->GetCachedSize(), target, stream); } // optional bool update = 10; - if (cached_has_bits & 0x00000004u) { + if (cached_has_bits & 0x00000010u) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteBoolToArray( 10, this_._internal_update(), target); @@ -4904,6 +5075,14 @@ PROTOBUF_NOINLINE void JobRequestCfg::Clear() { stream, this_._internal_priority(), target); } + // optional string storage_class = 12; + if (cached_has_bits & 0x00000001u) { + const std::string& _s = this_._internal_storage_class(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.JobRequestCfg.storage_class"); + target = stream->WriteStringMaybeAliased(12, _s, target); + } + // map metadata = 13; if (!this_._internal_metadata().empty()) { using MapType = ::google::protobuf::Map; @@ -4938,13 +5117,20 @@ PROTOBUF_NOINLINE void JobRequestCfg::Clear() { } // optional string tagging = 14; - if (cached_has_bits & 0x00000001u) { + if (cached_has_bits & 0x00000002u) { const std::string& _s = this_._internal_tagging(); ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.JobRequestCfg.tagging"); target = stream->WriteStringMaybeAliased(14, _s, target); } + // optional bool allow_restore = 15; + if (cached_has_bits & 0x00000020u) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 15, this_._internal_allow_restore(), target); + } + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( @@ -4994,14 +5180,19 @@ PROTOBUF_NOINLINE void JobRequestCfg::Clear() { } } cached_has_bits = this_._impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { - // optional string tagging = 14; + if (cached_has_bits & 0x00000007u) { + // optional string storage_class = 12; if (cached_has_bits & 0x00000001u) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_storage_class()); + } + // optional string tagging = 14; + if (cached_has_bits & 0x00000002u) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( this_._internal_tagging()); } // .flex.JobLockedInfo locked_info = 9; - if (cached_has_bits & 0x00000002u) { + if (cached_has_bits & 0x00000004u) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.locked_info_); } @@ -5028,21 +5219,29 @@ PROTOBUF_NOINLINE void JobRequestCfg::Clear() { if (this_._internal_flatten() != 0) { total_size += 2; } - // bool force = 8; - if (this_._internal_force() != 0) { - total_size += 2; - } } - if (cached_has_bits & 0x0000000cu) { - // optional bool update = 10; - if (cached_has_bits & 0x00000004u) { - total_size += 2; - } + { // optional int32 priority = 11; if (cached_has_bits & 0x00000008u) { total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( this_._internal_priority()); } + } + { + // bool force = 8; + if (this_._internal_force() != 0) { + total_size += 2; + } + } + if (cached_has_bits & 0x00000030u) { + // optional bool update = 10; + if (cached_has_bits & 0x00000010u) { + total_size += 2; + } + // optional bool allow_restore = 15; + if (cached_has_bits & 0x00000020u) { + total_size += 2; + } } return this_.MaybeComputeUnknownFieldsSize(total_size, &this_._impl_._cached_size_); @@ -5065,11 +5264,14 @@ void JobRequestCfg::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::g _this->_internal_set_remotepath(from._internal_remotepath()); } cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000007u) { if (cached_has_bits & 0x00000001u) { - _this->_internal_set_tagging(from._internal_tagging()); + _this->_internal_set_storage_class(from._internal_storage_class()); } if (cached_has_bits & 0x00000002u) { + _this->_internal_set_tagging(from._internal_tagging()); + } + if (cached_has_bits & 0x00000004u) { ABSL_DCHECK(from._impl_.locked_info_ != nullptr); if (_this->_impl_.locked_info_ == nullptr) { _this->_impl_.locked_info_ = @@ -5094,15 +5296,18 @@ void JobRequestCfg::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::g if (from._internal_flatten() != 0) { _this->_impl_.flatten_ = from._impl_.flatten_; } + if (cached_has_bits & 0x00000008u) { + _this->_impl_.priority_ = from._impl_.priority_; + } if (from._internal_force() != 0) { _this->_impl_.force_ = from._impl_.force_; } - if (cached_has_bits & 0x0000000cu) { - if (cached_has_bits & 0x00000004u) { + if (cached_has_bits & 0x00000030u) { + if (cached_has_bits & 0x00000010u) { _this->_impl_.update_ = from._impl_.update_; } - if (cached_has_bits & 0x00000008u) { - _this->_impl_.priority_ = from._impl_.priority_; + if (cached_has_bits & 0x00000020u) { + _this->_impl_.allow_restore_ = from._impl_.allow_restore_; } } _this->_impl_._has_bits_[0] |= cached_has_bits; @@ -5126,10 +5331,11 @@ void JobRequestCfg::InternalSwap(JobRequestCfg* PROTOBUF_RESTRICT other) { _impl_.metadata_.InternalSwap(&other->_impl_.metadata_); ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.path_, &other->_impl_.path_, arena); ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.remotepath_, &other->_impl_.remotepath_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.storage_class_, &other->_impl_.storage_class_, arena); ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tagging_, &other->_impl_.tagging_, arena); ::google::protobuf::internal::memswap< - PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.priority_) - + sizeof(JobRequestCfg::_impl_.priority_) + PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.allow_restore_) + + sizeof(JobRequestCfg::_impl_.allow_restore_) - PROTOBUF_FIELD_OFFSET(JobRequestCfg, _impl_.locked_info_)>( reinterpret_cast(&_impl_.locked_info_), reinterpret_cast(&other->_impl_.locked_info_)); @@ -6126,6 +6332,13 @@ BuilderJob::BuilderJob( _impl_.cfg_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::flex::JobRequestCfg>( arena, *from._impl_.cfg_) : nullptr; + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, submitted_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, submitted_), + offsetof(Impl_, errors_) - + offsetof(Impl_, submitted_) + + sizeof(Impl_::errors_)); // @@protoc_insertion_point(copy_constructor:flex.BuilderJob) } @@ -6136,7 +6349,12 @@ inline PROTOBUF_NDEBUG_INLINE BuilderJob::Impl_::Impl_( inline void BuilderJob::SharedCtor(::_pb::Arena* arena) { new (&_impl_) Impl_(internal_visibility(), arena); - _impl_.cfg_ = {}; + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, cfg_), + 0, + offsetof(Impl_, errors_) - + offsetof(Impl_, cfg_) + + sizeof(Impl_::errors_)); } BuilderJob::~BuilderJob() { // @@protoc_insertion_point(destructor:flex.BuilderJob) @@ -6186,15 +6404,15 @@ const ::google::protobuf::internal::ClassData* BuilderJob::GetClassData() const return _class_data_.base(); } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::_pbi::TcParseTable<0, 1, 1, 0, 2> BuilderJob::_table_ = { +const ::_pbi::TcParseTable<2, 3, 1, 0, 2> BuilderJob::_table_ = { { PROTOBUF_FIELD_OFFSET(BuilderJob, _impl_._has_bits_), 0, // no _extensions_ - 1, 0, // max_field_number, fast_idx_mask + 3, 24, // max_field_number, fast_idx_mask offsetof(decltype(_table_), field_lookup_table), - 4294967294, // skipmap + 4294967288, // skipmap offsetof(decltype(_table_), field_entries), - 1, // num_field_entries + 3, // num_field_entries 1, // num_aux_entries offsetof(decltype(_table_), aux_entries), _class_data_.base(), @@ -6204,15 +6422,28 @@ const ::_pbi::TcParseTable<0, 1, 1, 0, 2> BuilderJob::_table_ = { ::_pbi::TcParser::GetTable<::flex::BuilderJob>(), // to_prefetch #endif // PROTOBUF_PREFETCH_PARSE_TABLE }, {{ + {::_pbi::TcParser::MiniParse, {}}, // .flex.JobRequestCfg cfg = 1; {::_pbi::TcParser::FastMtS1, {10, 0, 0, PROTOBUF_FIELD_OFFSET(BuilderJob, _impl_.cfg_)}}, + // int32 submitted = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(BuilderJob, _impl_.submitted_), 63>(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(BuilderJob, _impl_.submitted_)}}, + // int32 errors = 3; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(BuilderJob, _impl_.errors_), 63>(), + {24, 63, 0, PROTOBUF_FIELD_OFFSET(BuilderJob, _impl_.errors_)}}, }}, {{ 65535, 65535 }}, {{ // .flex.JobRequestCfg cfg = 1; {PROTOBUF_FIELD_OFFSET(BuilderJob, _impl_.cfg_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + // int32 submitted = 2; + {PROTOBUF_FIELD_OFFSET(BuilderJob, _impl_.submitted_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, + // int32 errors = 3; + {PROTOBUF_FIELD_OFFSET(BuilderJob, _impl_.errors_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, }}, {{ {::_pbi::TcParser::GetTable<::flex::JobRequestCfg>()}, }}, {{ @@ -6231,6 +6462,9 @@ PROTOBUF_NOINLINE void BuilderJob::Clear() { ABSL_DCHECK(_impl_.cfg_ != nullptr); _impl_.cfg_->Clear(); } + ::memset(&_impl_.submitted_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.errors_) - + reinterpret_cast(&_impl_.submitted_)) + sizeof(_impl_.errors_)); _impl_._has_bits_.Clear(); _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); } @@ -6258,6 +6492,20 @@ PROTOBUF_NOINLINE void BuilderJob::Clear() { stream); } + // int32 submitted = 2; + if (this_._internal_submitted() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<2>( + stream, this_._internal_submitted(), target); + } + + // int32 errors = 3; + if (this_._internal_errors() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<3>( + stream, this_._internal_errors(), target); + } + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( @@ -6281,6 +6529,7 @@ PROTOBUF_NOINLINE void BuilderJob::Clear() { // Prevent compiler warnings about cached_has_bits being unused (void)cached_has_bits; + ::_pbi::Prefetch5LinesFrom7Lines(&this_); { // .flex.JobRequestCfg cfg = 1; cached_has_bits = this_._impl_._has_bits_[0]; @@ -6288,6 +6537,18 @@ PROTOBUF_NOINLINE void BuilderJob::Clear() { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.cfg_); } + } + { + // int32 submitted = 2; + if (this_._internal_submitted() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_submitted()); + } + // int32 errors = 3; + if (this_._internal_errors() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_errors()); + } } return this_.MaybeComputeUnknownFieldsSize(total_size, &this_._impl_._cached_size_); @@ -6312,6 +6573,12 @@ void BuilderJob::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::goog _this->_impl_.cfg_->MergeFrom(*from._impl_.cfg_); } } + if (from._internal_submitted() != 0) { + _this->_impl_.submitted_ = from._impl_.submitted_; + } + if (from._internal_errors() != 0) { + _this->_impl_.errors_ = from._impl_.errors_; + } _this->_impl_._has_bits_[0] |= cached_has_bits; _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); } @@ -6328,7 +6595,12 @@ void BuilderJob::InternalSwap(BuilderJob* PROTOBUF_RESTRICT other) { using std::swap; _internal_metadata_.InternalSwap(&other->_internal_metadata_); swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); - swap(_impl_.cfg_, other->_impl_.cfg_); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(BuilderJob, _impl_.errors_) + + sizeof(BuilderJob::_impl_.errors_) + - PROTOBUF_FIELD_OFFSET(BuilderJob, _impl_.cfg_)>( + reinterpret_cast(&_impl_.cfg_), + reinterpret_cast(&other->_impl_.cfg_)); } ::google::protobuf::Metadata BuilderJob::GetMetadata() const { @@ -6862,7 +7134,8 @@ inline PROTOBUF_NDEBUG_INLINE SyncJob::Impl_::Impl_( _cached_size_{0}, metadata_{visibility, arena, from.metadata_}, remote_path_(arena, from.remote_path_), - tagging_(arena, from.tagging_) {} + tagging_(arena, from.tagging_), + storage_class_(arena, from.storage_class_) {} SyncJob::SyncJob( ::google::protobuf::Arena* arena, @@ -6878,16 +7151,16 @@ SyncJob::SyncJob( from._internal_metadata_); new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); ::uint32_t cached_has_bits = _impl_._has_bits_[0]; - _impl_.locked_info_ = (cached_has_bits & 0x00000002u) ? ::google::protobuf::Message::CopyConstruct<::flex::JobLockedInfo>( + _impl_.locked_info_ = (cached_has_bits & 0x00000004u) ? ::google::protobuf::Message::CopyConstruct<::flex::JobLockedInfo>( arena, *from._impl_.locked_info_) : nullptr; ::memcpy(reinterpret_cast(&_impl_) + offsetof(Impl_, operation_), reinterpret_cast(&from._impl_) + offsetof(Impl_, operation_), - offsetof(Impl_, update_) - + offsetof(Impl_, allow_restore_) - offsetof(Impl_, operation_) + - sizeof(Impl_::update_)); + sizeof(Impl_::allow_restore_)); // @@protoc_insertion_point(copy_constructor:flex.SyncJob) } @@ -6897,16 +7170,17 @@ inline PROTOBUF_NDEBUG_INLINE SyncJob::Impl_::Impl_( : _cached_size_{0}, metadata_{visibility, arena}, remote_path_(arena), - tagging_(arena) {} + tagging_(arena), + storage_class_(arena) {} inline void SyncJob::SharedCtor(::_pb::Arena* arena) { new (&_impl_) Impl_(internal_visibility(), arena); ::memset(reinterpret_cast(&_impl_) + offsetof(Impl_, locked_info_), 0, - offsetof(Impl_, update_) - + offsetof(Impl_, allow_restore_) - offsetof(Impl_, locked_info_) + - sizeof(Impl_::update_)); + sizeof(Impl_::allow_restore_)); } SyncJob::~SyncJob() { // @@protoc_insertion_point(destructor:flex.SyncJob) @@ -6918,6 +7192,7 @@ inline void SyncJob::SharedDtor(MessageLite& self) { ABSL_DCHECK(this_.GetArena() == nullptr); this_._impl_.remote_path_.Destroy(); this_._impl_.tagging_.Destroy(); + this_._impl_.storage_class_.Destroy(); delete this_._impl_.locked_info_; this_._impl_.~Impl_(); } @@ -6974,15 +7249,15 @@ const ::google::protobuf::internal::ClassData* SyncJob::GetClassData() const { return _class_data_.base(); } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::_pbi::TcParseTable<4, 8, 2, 55, 2> SyncJob::_table_ = { +const ::_pbi::TcParseTable<4, 10, 2, 68, 2> SyncJob::_table_ = { { PROTOBUF_FIELD_OFFSET(SyncJob, _impl_._has_bits_), 0, // no _extensions_ - 10, 120, // max_field_number, fast_idx_mask + 13, 120, // max_field_number, fast_idx_mask offsetof(decltype(_table_), field_lookup_table), - 4294966408, // skipmap + 4294960264, // skipmap offsetof(decltype(_table_), field_entries), - 8, // num_field_entries + 10, // num_field_entries 2, // num_aux_entries offsetof(decltype(_table_), aux_entries), _class_data_.base(), @@ -7008,18 +7283,22 @@ const ::_pbi::TcParseTable<4, 8, 2, 55, 2> SyncJob::_table_ = { {40, 63, 0, PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.flatten_)}}, // .flex.JobLockedInfo locked_info = 6; {::_pbi::TcParser::FastMtS1, - {50, 1, 0, PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.locked_info_)}}, + {50, 2, 0, PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.locked_info_)}}, // optional bool update = 7; - {::_pbi::TcParser::SingularVarintNoZag1(), - {56, 2, 0, PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.update_)}}, + {::_pbi::TcParser::SingularVarintNoZag1(), + {56, 3, 0, PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.update_)}}, {::_pbi::TcParser::MiniParse, {}}, {::_pbi::TcParser::MiniParse, {}}, // optional string tagging = 10; {::_pbi::TcParser::FastUS1, {82, 0, 0, PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.tagging_)}}, {::_pbi::TcParser::MiniParse, {}}, - {::_pbi::TcParser::MiniParse, {}}, - {::_pbi::TcParser::MiniParse, {}}, + // optional string storage_class = 12; + {::_pbi::TcParser::FastUS1, + {98, 1, 0, PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.storage_class_)}}, + // optional bool allow_restore = 13; + {::_pbi::TcParser::SingularVarintNoZag1(), + {104, 4, 0, PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.allow_restore_)}}, {::_pbi::TcParser::MiniParse, {}}, {::_pbi::TcParser::MiniParse, {}}, }}, {{ @@ -7038,10 +7317,10 @@ const ::_pbi::TcParseTable<4, 8, 2, 55, 2> SyncJob::_table_ = { {PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.flatten_), -1, 0, (0 | ::_fl::kFcSingular | ::_fl::kBool)}, // .flex.JobLockedInfo locked_info = 6; - {PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.locked_info_), _Internal::kHasBitsOffset + 1, 0, + {PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.locked_info_), _Internal::kHasBitsOffset + 2, 0, (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, // optional bool update = 7; - {PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.update_), _Internal::kHasBitsOffset + 2, 0, + {PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.update_), _Internal::kHasBitsOffset + 3, 0, (0 | ::_fl::kFcOptional | ::_fl::kBool)}, // map metadata = 9; {PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.metadata_), -1, 1, @@ -7049,6 +7328,12 @@ const ::_pbi::TcParseTable<4, 8, 2, 55, 2> SyncJob::_table_ = { // optional string tagging = 10; {PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.tagging_), _Internal::kHasBitsOffset + 0, 0, (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // optional string storage_class = 12; + {PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.storage_class_), _Internal::kHasBitsOffset + 1, 0, + (0 | ::_fl::kFcOptional | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // optional bool allow_restore = 13; + {PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.allow_restore_), _Internal::kHasBitsOffset + 4, 0, + (0 | ::_fl::kFcOptional | ::_fl::kBool)}, }}, {{ {::_pbi::TcParser::GetTable<::flex::JobLockedInfo>()}, {::_pbi::TcParser::GetMapAuxInfo< @@ -7056,11 +7341,12 @@ const ::_pbi::TcParseTable<4, 8, 2, 55, 2> SyncJob::_table_ = { 1, 0, 0, 9, 9)}, }}, {{ - "\14\0\0\13\0\0\0\10\7\0\0\0\0\0\0\0" + "\14\0\0\13\0\0\0\10\7\15\0\0\0\0\0\0" "flex.SyncJob" "remote_path" "metadata" "tagging" + "storage_class" }}, }; @@ -7074,11 +7360,14 @@ PROTOBUF_NOINLINE void SyncJob::Clear() { _impl_.metadata_.Clear(); _impl_.remote_path_.ClearToEmpty(); cached_has_bits = _impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000007u) { if (cached_has_bits & 0x00000001u) { _impl_.tagging_.ClearNonDefaultToEmpty(); } if (cached_has_bits & 0x00000002u) { + _impl_.storage_class_.ClearNonDefaultToEmpty(); + } + if (cached_has_bits & 0x00000004u) { ABSL_DCHECK(_impl_.locked_info_ != nullptr); _impl_.locked_info_->Clear(); } @@ -7086,7 +7375,11 @@ PROTOBUF_NOINLINE void SyncJob::Clear() { ::memset(&_impl_.operation_, 0, static_cast<::size_t>( reinterpret_cast(&_impl_.flatten_) - reinterpret_cast(&_impl_.operation_)) + sizeof(_impl_.flatten_)); - _impl_.update_ = false; + if (cached_has_bits & 0x00000018u) { + ::memset(&_impl_.update_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.allow_restore_) - + reinterpret_cast(&_impl_.update_)) + sizeof(_impl_.allow_restore_)); + } _impl_._has_bits_.Clear(); _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); } @@ -7137,14 +7430,14 @@ PROTOBUF_NOINLINE void SyncJob::Clear() { cached_has_bits = this_._impl_._has_bits_[0]; // .flex.JobLockedInfo locked_info = 6; - if (cached_has_bits & 0x00000002u) { + if (cached_has_bits & 0x00000004u) { target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( 6, *this_._impl_.locked_info_, this_._impl_.locked_info_->GetCachedSize(), target, stream); } // optional bool update = 7; - if (cached_has_bits & 0x00000004u) { + if (cached_has_bits & 0x00000008u) { target = stream->EnsureSpace(target); target = ::_pbi::WireFormatLite::WriteBoolToArray( 7, this_._internal_update(), target); @@ -7191,6 +7484,21 @@ PROTOBUF_NOINLINE void SyncJob::Clear() { target = stream->WriteStringMaybeAliased(10, _s, target); } + // optional string storage_class = 12; + if (cached_has_bits & 0x00000002u) { + const std::string& _s = this_._internal_storage_class(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.SyncJob.storage_class"); + target = stream->WriteStringMaybeAliased(12, _s, target); + } + + // optional bool allow_restore = 13; + if (cached_has_bits & 0x00000010u) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 13, this_._internal_allow_restore(), target); + } + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { target = ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( @@ -7235,14 +7543,19 @@ PROTOBUF_NOINLINE void SyncJob::Clear() { } } cached_has_bits = this_._impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000007u) { // optional string tagging = 10; if (cached_has_bits & 0x00000001u) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( this_._internal_tagging()); } - // .flex.JobLockedInfo locked_info = 6; + // optional string storage_class = 12; if (cached_has_bits & 0x00000002u) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_storage_class()); + } + // .flex.JobLockedInfo locked_info = 6; + if (cached_has_bits & 0x00000004u) { total_size += 1 + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.locked_info_); } @@ -7262,9 +7575,13 @@ PROTOBUF_NOINLINE void SyncJob::Clear() { total_size += 2; } } - { + if (cached_has_bits & 0x00000018u) { // optional bool update = 7; - if (cached_has_bits & 0x00000004u) { + if (cached_has_bits & 0x00000008u) { + total_size += 2; + } + // optional bool allow_restore = 13; + if (cached_has_bits & 0x00000010u) { total_size += 2; } } @@ -7286,11 +7603,14 @@ void SyncJob::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google: _this->_internal_set_remote_path(from._internal_remote_path()); } cached_has_bits = from._impl_._has_bits_[0]; - if (cached_has_bits & 0x00000003u) { + if (cached_has_bits & 0x00000007u) { if (cached_has_bits & 0x00000001u) { _this->_internal_set_tagging(from._internal_tagging()); } if (cached_has_bits & 0x00000002u) { + _this->_internal_set_storage_class(from._internal_storage_class()); + } + if (cached_has_bits & 0x00000004u) { ABSL_DCHECK(from._impl_.locked_info_ != nullptr); if (_this->_impl_.locked_info_ == nullptr) { _this->_impl_.locked_info_ = @@ -7309,8 +7629,13 @@ void SyncJob::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google: if (from._internal_flatten() != 0) { _this->_impl_.flatten_ = from._impl_.flatten_; } - if (cached_has_bits & 0x00000004u) { - _this->_impl_.update_ = from._impl_.update_; + if (cached_has_bits & 0x00000018u) { + if (cached_has_bits & 0x00000008u) { + _this->_impl_.update_ = from._impl_.update_; + } + if (cached_has_bits & 0x00000010u) { + _this->_impl_.allow_restore_ = from._impl_.allow_restore_; + } } _this->_impl_._has_bits_[0] |= cached_has_bits; _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); @@ -7333,9 +7658,10 @@ void SyncJob::InternalSwap(SyncJob* PROTOBUF_RESTRICT other) { _impl_.metadata_.InternalSwap(&other->_impl_.metadata_); ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.remote_path_, &other->_impl_.remote_path_, arena); ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.tagging_, &other->_impl_.tagging_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.storage_class_, &other->_impl_.storage_class_, arena); ::google::protobuf::internal::memswap< - PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.update_) - + sizeof(SyncJob::_impl_.update_) + PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.allow_restore_) + + sizeof(SyncJob::_impl_.allow_restore_) - PROTOBUF_FIELD_OFFSET(SyncJob, _impl_.locked_info_)>( reinterpret_cast(&_impl_.locked_info_), reinterpret_cast(&other->_impl_.locked_info_)); @@ -9599,263 +9925,249 @@ ::google::protobuf::Metadata RemoteStorageTarget_Policies::GetMetadata() const { } // =================================================================== -class RemoteStorageTarget_S3::_Internal { +class RemoteStorageTarget_S3_StorageClass_Archival::_Internal { public: }; -RemoteStorageTarget_S3::RemoteStorageTarget_S3(::google::protobuf::Arena* arena) +RemoteStorageTarget_S3_StorageClass_Archival::RemoteStorageTarget_S3_StorageClass_Archival(::google::protobuf::Arena* arena) #if defined(PROTOBUF_CUSTOM_VTABLE) : ::google::protobuf::Message(arena, _class_data_.base()) { #else // PROTOBUF_CUSTOM_VTABLE : ::google::protobuf::Message(arena) { #endif // PROTOBUF_CUSTOM_VTABLE SharedCtor(arena); - // @@protoc_insertion_point(arena_constructor:flex.RemoteStorageTarget.S3) + // @@protoc_insertion_point(arena_constructor:flex.RemoteStorageTarget.S3.StorageClass.Archival) } -inline PROTOBUF_NDEBUG_INLINE RemoteStorageTarget_S3::Impl_::Impl_( +inline PROTOBUF_NDEBUG_INLINE RemoteStorageTarget_S3_StorageClass_Archival::Impl_::Impl_( ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, - const Impl_& from, const ::flex::RemoteStorageTarget_S3& from_msg) - : endpoint_url_(arena, from.endpoint_url_), - partition_id_(arena, from.partition_id_), - region_(arena, from.region_), - bucket_(arena, from.bucket_), - access_key_(arena, from.access_key_), - secret_key_(arena, from.secret_key_), + const Impl_& from, const ::flex::RemoteStorageTarget_S3_StorageClass_Archival& from_msg) + : retrieval_tier_(arena, from.retrieval_tier_), + check_time_(arena, from.check_time_), + recheck_time_(arena, from.recheck_time_), _cached_size_{0} {} -RemoteStorageTarget_S3::RemoteStorageTarget_S3( +RemoteStorageTarget_S3_StorageClass_Archival::RemoteStorageTarget_S3_StorageClass_Archival( ::google::protobuf::Arena* arena, - const RemoteStorageTarget_S3& from) + const RemoteStorageTarget_S3_StorageClass_Archival& from) #if defined(PROTOBUF_CUSTOM_VTABLE) : ::google::protobuf::Message(arena, _class_data_.base()) { #else // PROTOBUF_CUSTOM_VTABLE : ::google::protobuf::Message(arena) { #endif // PROTOBUF_CUSTOM_VTABLE - RemoteStorageTarget_S3* const _this = this; + RemoteStorageTarget_S3_StorageClass_Archival* const _this = this; (void)_this; _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( from._internal_metadata_); new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::memcpy(reinterpret_cast(&_impl_) + + offsetof(Impl_, retention_days_), + reinterpret_cast(&from._impl_) + + offsetof(Impl_, retention_days_), + offsetof(Impl_, auto_restore_) - + offsetof(Impl_, retention_days_) + + sizeof(Impl_::auto_restore_)); - // @@protoc_insertion_point(copy_constructor:flex.RemoteStorageTarget.S3) + // @@protoc_insertion_point(copy_constructor:flex.RemoteStorageTarget.S3.StorageClass.Archival) } -inline PROTOBUF_NDEBUG_INLINE RemoteStorageTarget_S3::Impl_::Impl_( +inline PROTOBUF_NDEBUG_INLINE RemoteStorageTarget_S3_StorageClass_Archival::Impl_::Impl_( ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena) - : endpoint_url_(arena), - partition_id_(arena), - region_(arena), - bucket_(arena), - access_key_(arena), - secret_key_(arena), + : retrieval_tier_(arena), + check_time_(arena), + recheck_time_(arena), _cached_size_{0} {} -inline void RemoteStorageTarget_S3::SharedCtor(::_pb::Arena* arena) { +inline void RemoteStorageTarget_S3_StorageClass_Archival::SharedCtor(::_pb::Arena* arena) { new (&_impl_) Impl_(internal_visibility(), arena); + ::memset(reinterpret_cast(&_impl_) + + offsetof(Impl_, retention_days_), + 0, + offsetof(Impl_, auto_restore_) - + offsetof(Impl_, retention_days_) + + sizeof(Impl_::auto_restore_)); } -RemoteStorageTarget_S3::~RemoteStorageTarget_S3() { - // @@protoc_insertion_point(destructor:flex.RemoteStorageTarget.S3) +RemoteStorageTarget_S3_StorageClass_Archival::~RemoteStorageTarget_S3_StorageClass_Archival() { + // @@protoc_insertion_point(destructor:flex.RemoteStorageTarget.S3.StorageClass.Archival) SharedDtor(*this); } -inline void RemoteStorageTarget_S3::SharedDtor(MessageLite& self) { - RemoteStorageTarget_S3& this_ = static_cast(self); +inline void RemoteStorageTarget_S3_StorageClass_Archival::SharedDtor(MessageLite& self) { + RemoteStorageTarget_S3_StorageClass_Archival& this_ = static_cast(self); this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); ABSL_DCHECK(this_.GetArena() == nullptr); - this_._impl_.endpoint_url_.Destroy(); - this_._impl_.partition_id_.Destroy(); - this_._impl_.region_.Destroy(); - this_._impl_.bucket_.Destroy(); - this_._impl_.access_key_.Destroy(); - this_._impl_.secret_key_.Destroy(); + this_._impl_.retrieval_tier_.Destroy(); + this_._impl_.check_time_.Destroy(); + this_._impl_.recheck_time_.Destroy(); this_._impl_.~Impl_(); } -inline void* RemoteStorageTarget_S3::PlacementNew_(const void*, void* mem, +inline void* RemoteStorageTarget_S3_StorageClass_Archival::PlacementNew_(const void*, void* mem, ::google::protobuf::Arena* arena) { - return ::new (mem) RemoteStorageTarget_S3(arena); + return ::new (mem) RemoteStorageTarget_S3_StorageClass_Archival(arena); } -constexpr auto RemoteStorageTarget_S3::InternalNewImpl_() { - return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(RemoteStorageTarget_S3), - alignof(RemoteStorageTarget_S3)); +constexpr auto RemoteStorageTarget_S3_StorageClass_Archival::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(RemoteStorageTarget_S3_StorageClass_Archival), + alignof(RemoteStorageTarget_S3_StorageClass_Archival)); } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::google::protobuf::internal::ClassDataFull RemoteStorageTarget_S3::_class_data_ = { +const ::google::protobuf::internal::ClassDataFull RemoteStorageTarget_S3_StorageClass_Archival::_class_data_ = { ::google::protobuf::internal::ClassData{ - &_RemoteStorageTarget_S3_default_instance_._instance, + &_RemoteStorageTarget_S3_StorageClass_Archival_default_instance_._instance, &_table_.header, nullptr, // OnDemandRegisterArenaDtor nullptr, // IsInitialized - &RemoteStorageTarget_S3::MergeImpl, - ::google::protobuf::Message::GetNewImpl(), + &RemoteStorageTarget_S3_StorageClass_Archival::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), #if defined(PROTOBUF_CUSTOM_VTABLE) - &RemoteStorageTarget_S3::SharedDtor, - ::google::protobuf::Message::GetClearImpl(), &RemoteStorageTarget_S3::ByteSizeLong, - &RemoteStorageTarget_S3::_InternalSerialize, + &RemoteStorageTarget_S3_StorageClass_Archival::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &RemoteStorageTarget_S3_StorageClass_Archival::ByteSizeLong, + &RemoteStorageTarget_S3_StorageClass_Archival::_InternalSerialize, #endif // PROTOBUF_CUSTOM_VTABLE - PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_._cached_size_), + PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_._cached_size_), false, }, - &RemoteStorageTarget_S3::kDescriptorMethods, + &RemoteStorageTarget_S3_StorageClass_Archival::kDescriptorMethods, &descriptor_table_flex_2eproto, nullptr, // tracker }; -const ::google::protobuf::internal::ClassData* RemoteStorageTarget_S3::GetClassData() const { +const ::google::protobuf::internal::ClassData* RemoteStorageTarget_S3_StorageClass_Archival::GetClassData() const { ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); return _class_data_.base(); } PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 -const ::_pbi::TcParseTable<3, 6, 0, 92, 2> RemoteStorageTarget_S3::_table_ = { +const ::_pbi::TcParseTable<3, 5, 0, 94, 2> RemoteStorageTarget_S3_StorageClass_Archival::_table_ = { { 0, // no _has_bits_ 0, // no _extensions_ - 6, 56, // max_field_number, fast_idx_mask + 5, 56, // max_field_number, fast_idx_mask offsetof(decltype(_table_), field_lookup_table), - 4294967232, // skipmap + 4294967264, // skipmap offsetof(decltype(_table_), field_entries), - 6, // num_field_entries + 5, // num_field_entries 0, // num_aux_entries offsetof(decltype(_table_), field_names), // no aux_entries _class_data_.base(), nullptr, // post_loop_handler ::_pbi::TcParser::GenericFallback, // fallback #ifdef PROTOBUF_PREFETCH_PARSE_TABLE - ::_pbi::TcParser::GetTable<::flex::RemoteStorageTarget_S3>(), // to_prefetch + ::_pbi::TcParser::GetTable<::flex::RemoteStorageTarget_S3_StorageClass_Archival>(), // to_prefetch #endif // PROTOBUF_PREFETCH_PARSE_TABLE }, {{ {::_pbi::TcParser::MiniParse, {}}, - // string endpoint_url = 1; - {::_pbi::TcParser::FastUS1, - {10, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.endpoint_url_)}}, - // string partition_id = 2; - {::_pbi::TcParser::FastUS1, - {18, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.partition_id_)}}, - // string region = 3; - {::_pbi::TcParser::FastUS1, - {26, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.region_)}}, - // string bucket = 4; + // string retrieval_tier = 1; {::_pbi::TcParser::FastUS1, - {34, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.bucket_)}}, - // string access_key = 5; + {10, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.retrieval_tier_)}}, + // int32 retention_days = 2; + {::_pbi::TcParser::SingularVarintNoZag1<::uint32_t, offsetof(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.retention_days_), 63>(), + {16, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.retention_days_)}}, + // string check_time = 3; {::_pbi::TcParser::FastUS1, - {42, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.access_key_)}}, - // string secret_key = 6; + {26, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.check_time_)}}, + // string recheck_time = 4; {::_pbi::TcParser::FastUS1, - {50, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.secret_key_)}}, + {34, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.recheck_time_)}}, + // bool auto_restore = 5; + {::_pbi::TcParser::SingularVarintNoZag1(), + {40, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.auto_restore_)}}, + {::_pbi::TcParser::MiniParse, {}}, {::_pbi::TcParser::MiniParse, {}}, }}, {{ 65535, 65535 }}, {{ - // string endpoint_url = 1; - {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.endpoint_url_), 0, 0, - (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, - // string partition_id = 2; - {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.partition_id_), 0, 0, - (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, - // string region = 3; - {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.region_), 0, 0, + // string retrieval_tier = 1; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.retrieval_tier_), 0, 0, (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, - // string bucket = 4; - {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.bucket_), 0, 0, - (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, - // string access_key = 5; - {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.access_key_), 0, 0, + // int32 retention_days = 2; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.retention_days_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kInt32)}, + // string check_time = 3; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.check_time_), 0, 0, (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, - // string secret_key = 6; - {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.secret_key_), 0, 0, + // string recheck_time = 4; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.recheck_time_), 0, 0, (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // bool auto_restore = 5; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.auto_restore_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kBool)}, }}, // no aux_entries {{ - "\33\14\14\6\6\12\12\0" - "flex.RemoteStorageTarget.S3" - "endpoint_url" - "partition_id" - "region" - "bucket" - "access_key" - "secret_key" + "\61\16\0\12\14\0\0\0" + "flex.RemoteStorageTarget.S3.StorageClass.Archival" + "retrieval_tier" + "check_time" + "recheck_time" }}, }; -PROTOBUF_NOINLINE void RemoteStorageTarget_S3::Clear() { -// @@protoc_insertion_point(message_clear_start:flex.RemoteStorageTarget.S3) +PROTOBUF_NOINLINE void RemoteStorageTarget_S3_StorageClass_Archival::Clear() { +// @@protoc_insertion_point(message_clear_start:flex.RemoteStorageTarget.S3.StorageClass.Archival) ::google::protobuf::internal::TSanWrite(&_impl_); ::uint32_t cached_has_bits = 0; // Prevent compiler warnings about cached_has_bits being unused (void) cached_has_bits; - _impl_.endpoint_url_.ClearToEmpty(); - _impl_.partition_id_.ClearToEmpty(); - _impl_.region_.ClearToEmpty(); - _impl_.bucket_.ClearToEmpty(); - _impl_.access_key_.ClearToEmpty(); - _impl_.secret_key_.ClearToEmpty(); + _impl_.retrieval_tier_.ClearToEmpty(); + _impl_.check_time_.ClearToEmpty(); + _impl_.recheck_time_.ClearToEmpty(); + ::memset(&_impl_.retention_days_, 0, static_cast<::size_t>( + reinterpret_cast(&_impl_.auto_restore_) - + reinterpret_cast(&_impl_.retention_days_)) + sizeof(_impl_.auto_restore_)); _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); } #if defined(PROTOBUF_CUSTOM_VTABLE) - ::uint8_t* RemoteStorageTarget_S3::_InternalSerialize( + ::uint8_t* RemoteStorageTarget_S3_StorageClass_Archival::_InternalSerialize( const MessageLite& base, ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) { - const RemoteStorageTarget_S3& this_ = static_cast(base); + const RemoteStorageTarget_S3_StorageClass_Archival& this_ = static_cast(base); #else // PROTOBUF_CUSTOM_VTABLE - ::uint8_t* RemoteStorageTarget_S3::_InternalSerialize( + ::uint8_t* RemoteStorageTarget_S3_StorageClass_Archival::_InternalSerialize( ::uint8_t* target, ::google::protobuf::io::EpsCopyOutputStream* stream) const { - const RemoteStorageTarget_S3& this_ = *this; + const RemoteStorageTarget_S3_StorageClass_Archival& this_ = *this; #endif // PROTOBUF_CUSTOM_VTABLE - // @@protoc_insertion_point(serialize_to_array_start:flex.RemoteStorageTarget.S3) + // @@protoc_insertion_point(serialize_to_array_start:flex.RemoteStorageTarget.S3.StorageClass.Archival) ::uint32_t cached_has_bits = 0; (void)cached_has_bits; - // string endpoint_url = 1; - if (!this_._internal_endpoint_url().empty()) { - const std::string& _s = this_._internal_endpoint_url(); + // string retrieval_tier = 1; + if (!this_._internal_retrieval_tier().empty()) { + const std::string& _s = this_._internal_retrieval_tier(); ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.endpoint_url"); + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.StorageClass.Archival.retrieval_tier"); target = stream->WriteStringMaybeAliased(1, _s, target); } - // string partition_id = 2; - if (!this_._internal_partition_id().empty()) { - const std::string& _s = this_._internal_partition_id(); - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.partition_id"); - target = stream->WriteStringMaybeAliased(2, _s, target); + // int32 retention_days = 2; + if (this_._internal_retention_days() != 0) { + target = ::google::protobuf::internal::WireFormatLite:: + WriteInt32ToArrayWithField<2>( + stream, this_._internal_retention_days(), target); } - // string region = 3; - if (!this_._internal_region().empty()) { - const std::string& _s = this_._internal_region(); + // string check_time = 3; + if (!this_._internal_check_time().empty()) { + const std::string& _s = this_._internal_check_time(); ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.region"); + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.StorageClass.Archival.check_time"); target = stream->WriteStringMaybeAliased(3, _s, target); } - // string bucket = 4; - if (!this_._internal_bucket().empty()) { - const std::string& _s = this_._internal_bucket(); + // string recheck_time = 4; + if (!this_._internal_recheck_time().empty()) { + const std::string& _s = this_._internal_recheck_time(); ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.bucket"); + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.StorageClass.Archival.recheck_time"); target = stream->WriteStringMaybeAliased(4, _s, target); } - // string access_key = 5; - if (!this_._internal_access_key().empty()) { - const std::string& _s = this_._internal_access_key(); - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.access_key"); - target = stream->WriteStringMaybeAliased(5, _s, target); - } - - // string secret_key = 6; - if (!this_._internal_secret_key().empty()) { - const std::string& _s = this_._internal_secret_key(); - ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( - _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.secret_key"); - target = stream->WriteStringMaybeAliased(6, _s, target); + // bool auto_restore = 5; + if (this_._internal_auto_restore() != 0) { + target = stream->EnsureSpace(target); + target = ::_pbi::WireFormatLite::WriteBoolToArray( + 5, this_._internal_auto_restore(), target); } if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { @@ -9863,18 +10175,18 @@ PROTOBUF_NOINLINE void RemoteStorageTarget_S3::Clear() { ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); } - // @@protoc_insertion_point(serialize_to_array_end:flex.RemoteStorageTarget.S3) + // @@protoc_insertion_point(serialize_to_array_end:flex.RemoteStorageTarget.S3.StorageClass.Archival) return target; } #if defined(PROTOBUF_CUSTOM_VTABLE) - ::size_t RemoteStorageTarget_S3::ByteSizeLong(const MessageLite& base) { - const RemoteStorageTarget_S3& this_ = static_cast(base); + ::size_t RemoteStorageTarget_S3_StorageClass_Archival::ByteSizeLong(const MessageLite& base) { + const RemoteStorageTarget_S3_StorageClass_Archival& this_ = static_cast(base); #else // PROTOBUF_CUSTOM_VTABLE - ::size_t RemoteStorageTarget_S3::ByteSizeLong() const { - const RemoteStorageTarget_S3& this_ = *this; + ::size_t RemoteStorageTarget_S3_StorageClass_Archival::ByteSizeLong() const { + const RemoteStorageTarget_S3_StorageClass_Archival& this_ = *this; #endif // PROTOBUF_CUSTOM_VTABLE - // @@protoc_insertion_point(message_byte_size_start:flex.RemoteStorageTarget.S3) + // @@protoc_insertion_point(message_byte_size_start:flex.RemoteStorageTarget.S3.StorageClass.Archival) ::size_t total_size = 0; ::uint32_t cached_has_bits = 0; @@ -9882,6 +10194,699 @@ PROTOBUF_NOINLINE void RemoteStorageTarget_S3::Clear() { (void)cached_has_bits; ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string retrieval_tier = 1; + if (!this_._internal_retrieval_tier().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_retrieval_tier()); + } + // string check_time = 3; + if (!this_._internal_check_time().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_check_time()); + } + // string recheck_time = 4; + if (!this_._internal_recheck_time().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_recheck_time()); + } + // int32 retention_days = 2; + if (this_._internal_retention_days() != 0) { + total_size += ::_pbi::WireFormatLite::Int32SizePlusOne( + this_._internal_retention_days()); + } + // bool auto_restore = 5; + if (this_._internal_auto_restore() != 0) { + total_size += 2; + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void RemoteStorageTarget_S3_StorageClass_Archival::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + // @@protoc_insertion_point(class_specific_merge_from_start:flex.RemoteStorageTarget.S3.StorageClass.Archival) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_retrieval_tier().empty()) { + _this->_internal_set_retrieval_tier(from._internal_retrieval_tier()); + } + if (!from._internal_check_time().empty()) { + _this->_internal_set_check_time(from._internal_check_time()); + } + if (!from._internal_recheck_time().empty()) { + _this->_internal_set_recheck_time(from._internal_recheck_time()); + } + if (from._internal_retention_days() != 0) { + _this->_impl_.retention_days_ = from._impl_.retention_days_; + } + if (from._internal_auto_restore() != 0) { + _this->_impl_.auto_restore_ = from._impl_.auto_restore_; + } + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void RemoteStorageTarget_S3_StorageClass_Archival::CopyFrom(const RemoteStorageTarget_S3_StorageClass_Archival& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flex.RemoteStorageTarget.S3.StorageClass.Archival) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void RemoteStorageTarget_S3_StorageClass_Archival::InternalSwap(RemoteStorageTarget_S3_StorageClass_Archival* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.retrieval_tier_, &other->_impl_.retrieval_tier_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.check_time_, &other->_impl_.check_time_, arena); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.recheck_time_, &other->_impl_.recheck_time_, arena); + ::google::protobuf::internal::memswap< + PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.auto_restore_) + + sizeof(RemoteStorageTarget_S3_StorageClass_Archival::_impl_.auto_restore_) + - PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass_Archival, _impl_.retention_days_)>( + reinterpret_cast(&_impl_.retention_days_), + reinterpret_cast(&other->_impl_.retention_days_)); +} + +::google::protobuf::Metadata RemoteStorageTarget_S3_StorageClass_Archival::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class RemoteStorageTarget_S3_StorageClass::_Internal { + public: + using HasBits = + decltype(std::declval()._impl_._has_bits_); + static constexpr ::int32_t kHasBitsOffset = + 8 * PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass, _impl_._has_bits_); +}; + +RemoteStorageTarget_S3_StorageClass::RemoteStorageTarget_S3_StorageClass(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:flex.RemoteStorageTarget.S3.StorageClass) +} +inline PROTOBUF_NDEBUG_INLINE RemoteStorageTarget_S3_StorageClass::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::flex::RemoteStorageTarget_S3_StorageClass& from_msg) + : _has_bits_{from._has_bits_}, + _cached_size_{0}, + name_(arena, from.name_) {} + +RemoteStorageTarget_S3_StorageClass::RemoteStorageTarget_S3_StorageClass( + ::google::protobuf::Arena* arena, + const RemoteStorageTarget_S3_StorageClass& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + RemoteStorageTarget_S3_StorageClass* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + ::uint32_t cached_has_bits = _impl_._has_bits_[0]; + _impl_.archival_ = (cached_has_bits & 0x00000001u) ? ::google::protobuf::Message::CopyConstruct<::flex::RemoteStorageTarget_S3_StorageClass_Archival>( + arena, *from._impl_.archival_) + : nullptr; + + // @@protoc_insertion_point(copy_constructor:flex.RemoteStorageTarget.S3.StorageClass) +} +inline PROTOBUF_NDEBUG_INLINE RemoteStorageTarget_S3_StorageClass::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : _cached_size_{0}, + name_(arena) {} + +inline void RemoteStorageTarget_S3_StorageClass::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); + _impl_.archival_ = {}; +} +RemoteStorageTarget_S3_StorageClass::~RemoteStorageTarget_S3_StorageClass() { + // @@protoc_insertion_point(destructor:flex.RemoteStorageTarget.S3.StorageClass) + SharedDtor(*this); +} +inline void RemoteStorageTarget_S3_StorageClass::SharedDtor(MessageLite& self) { + RemoteStorageTarget_S3_StorageClass& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.name_.Destroy(); + delete this_._impl_.archival_; + this_._impl_.~Impl_(); +} + +inline void* RemoteStorageTarget_S3_StorageClass::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) RemoteStorageTarget_S3_StorageClass(arena); +} +constexpr auto RemoteStorageTarget_S3_StorageClass::InternalNewImpl_() { + return ::google::protobuf::internal::MessageCreator::CopyInit(sizeof(RemoteStorageTarget_S3_StorageClass), + alignof(RemoteStorageTarget_S3_StorageClass)); +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull RemoteStorageTarget_S3_StorageClass::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_RemoteStorageTarget_S3_StorageClass_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &RemoteStorageTarget_S3_StorageClass::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &RemoteStorageTarget_S3_StorageClass::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &RemoteStorageTarget_S3_StorageClass::ByteSizeLong, + &RemoteStorageTarget_S3_StorageClass::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass, _impl_._cached_size_), + false, + }, + &RemoteStorageTarget_S3_StorageClass::kDescriptorMethods, + &descriptor_table_flex_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* RemoteStorageTarget_S3_StorageClass::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<1, 2, 1, 53, 2> RemoteStorageTarget_S3_StorageClass::_table_ = { + { + PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass, _impl_._has_bits_), + 0, // no _extensions_ + 2, 8, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967292, // skipmap + offsetof(decltype(_table_), field_entries), + 2, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::flex::RemoteStorageTarget_S3_StorageClass>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // optional .flex.RemoteStorageTarget.S3.StorageClass.Archival archival = 2; + {::_pbi::TcParser::FastMtS1, + {18, 0, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass, _impl_.archival_)}}, + // string name = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass, _impl_.name_)}}, + }}, {{ + 65535, 65535 + }}, {{ + // string name = 1; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass, _impl_.name_), -1, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // optional .flex.RemoteStorageTarget.S3.StorageClass.Archival archival = 2; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3_StorageClass, _impl_.archival_), _Internal::kHasBitsOffset + 0, 0, + (0 | ::_fl::kFcOptional | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::flex::RemoteStorageTarget_S3_StorageClass_Archival>()}, + }}, {{ + "\50\4\0\0\0\0\0\0" + "flex.RemoteStorageTarget.S3.StorageClass" + "name" + }}, +}; + +PROTOBUF_NOINLINE void RemoteStorageTarget_S3_StorageClass::Clear() { +// @@protoc_insertion_point(message_clear_start:flex.RemoteStorageTarget.S3.StorageClass) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.name_.ClearToEmpty(); + cached_has_bits = _impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(_impl_.archival_ != nullptr); + _impl_.archival_->Clear(); + } + _impl_._has_bits_.Clear(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* RemoteStorageTarget_S3_StorageClass::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const RemoteStorageTarget_S3_StorageClass& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* RemoteStorageTarget_S3_StorageClass::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const RemoteStorageTarget_S3_StorageClass& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:flex.RemoteStorageTarget.S3.StorageClass) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string name = 1; + if (!this_._internal_name().empty()) { + const std::string& _s = this_._internal_name(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.StorageClass.name"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + cached_has_bits = this_._impl_._has_bits_[0]; + // optional .flex.RemoteStorageTarget.S3.StorageClass.Archival archival = 2; + if (cached_has_bits & 0x00000001u) { + target = ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 2, *this_._impl_.archival_, this_._impl_.archival_->GetCachedSize(), target, + stream); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:flex.RemoteStorageTarget.S3.StorageClass) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t RemoteStorageTarget_S3_StorageClass::ByteSizeLong(const MessageLite& base) { + const RemoteStorageTarget_S3_StorageClass& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t RemoteStorageTarget_S3_StorageClass::ByteSizeLong() const { + const RemoteStorageTarget_S3_StorageClass& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:flex.RemoteStorageTarget.S3.StorageClass) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // string name = 1; + if (!this_._internal_name().empty()) { + total_size += 1 + ::google::protobuf::internal::WireFormatLite::StringSize( + this_._internal_name()); + } + } + { + // optional .flex.RemoteStorageTarget.S3.StorageClass.Archival archival = 2; + cached_has_bits = this_._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize(*this_._impl_.archival_); + } + } + return this_.MaybeComputeUnknownFieldsSize(total_size, + &this_._impl_._cached_size_); + } + +void RemoteStorageTarget_S3_StorageClass::MergeImpl(::google::protobuf::MessageLite& to_msg, const ::google::protobuf::MessageLite& from_msg) { + auto* const _this = static_cast(&to_msg); + auto& from = static_cast(from_msg); + ::google::protobuf::Arena* arena = _this->GetArena(); + // @@protoc_insertion_point(class_specific_merge_from_start:flex.RemoteStorageTarget.S3.StorageClass) + ABSL_DCHECK_NE(&from, _this); + ::uint32_t cached_has_bits = 0; + (void) cached_has_bits; + + if (!from._internal_name().empty()) { + _this->_internal_set_name(from._internal_name()); + } + cached_has_bits = from._impl_._has_bits_[0]; + if (cached_has_bits & 0x00000001u) { + ABSL_DCHECK(from._impl_.archival_ != nullptr); + if (_this->_impl_.archival_ == nullptr) { + _this->_impl_.archival_ = + ::google::protobuf::Message::CopyConstruct<::flex::RemoteStorageTarget_S3_StorageClass_Archival>(arena, *from._impl_.archival_); + } else { + _this->_impl_.archival_->MergeFrom(*from._impl_.archival_); + } + } + _this->_impl_._has_bits_[0] |= cached_has_bits; + _this->_internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>(from._internal_metadata_); +} + +void RemoteStorageTarget_S3_StorageClass::CopyFrom(const RemoteStorageTarget_S3_StorageClass& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flex.RemoteStorageTarget.S3.StorageClass) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + + +void RemoteStorageTarget_S3_StorageClass::InternalSwap(RemoteStorageTarget_S3_StorageClass* PROTOBUF_RESTRICT other) { + using std::swap; + auto* arena = GetArena(); + ABSL_DCHECK_EQ(arena, other->GetArena()); + _internal_metadata_.InternalSwap(&other->_internal_metadata_); + swap(_impl_._has_bits_[0], other->_impl_._has_bits_[0]); + ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.name_, &other->_impl_.name_, arena); + swap(_impl_.archival_, other->_impl_.archival_); +} + +::google::protobuf::Metadata RemoteStorageTarget_S3_StorageClass::GetMetadata() const { + return ::google::protobuf::Message::GetMetadataImpl(GetClassData()->full()); +} +// =================================================================== + +class RemoteStorageTarget_S3::_Internal { + public: +}; + +RemoteStorageTarget_S3::RemoteStorageTarget_S3(::google::protobuf::Arena* arena) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + SharedCtor(arena); + // @@protoc_insertion_point(arena_constructor:flex.RemoteStorageTarget.S3) +} +inline PROTOBUF_NDEBUG_INLINE RemoteStorageTarget_S3::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, + const Impl_& from, const ::flex::RemoteStorageTarget_S3& from_msg) + : storage_class_{visibility, arena, from.storage_class_}, + endpoint_url_(arena, from.endpoint_url_), + partition_id_(arena, from.partition_id_), + region_(arena, from.region_), + bucket_(arena, from.bucket_), + access_key_(arena, from.access_key_), + secret_key_(arena, from.secret_key_), + _cached_size_{0} {} + +RemoteStorageTarget_S3::RemoteStorageTarget_S3( + ::google::protobuf::Arena* arena, + const RemoteStorageTarget_S3& from) +#if defined(PROTOBUF_CUSTOM_VTABLE) + : ::google::protobuf::Message(arena, _class_data_.base()) { +#else // PROTOBUF_CUSTOM_VTABLE + : ::google::protobuf::Message(arena) { +#endif // PROTOBUF_CUSTOM_VTABLE + RemoteStorageTarget_S3* const _this = this; + (void)_this; + _internal_metadata_.MergeFrom<::google::protobuf::UnknownFieldSet>( + from._internal_metadata_); + new (&_impl_) Impl_(internal_visibility(), arena, from._impl_, from); + + // @@protoc_insertion_point(copy_constructor:flex.RemoteStorageTarget.S3) +} +inline PROTOBUF_NDEBUG_INLINE RemoteStorageTarget_S3::Impl_::Impl_( + ::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena) + : storage_class_{visibility, arena}, + endpoint_url_(arena), + partition_id_(arena), + region_(arena), + bucket_(arena), + access_key_(arena), + secret_key_(arena), + _cached_size_{0} {} + +inline void RemoteStorageTarget_S3::SharedCtor(::_pb::Arena* arena) { + new (&_impl_) Impl_(internal_visibility(), arena); +} +RemoteStorageTarget_S3::~RemoteStorageTarget_S3() { + // @@protoc_insertion_point(destructor:flex.RemoteStorageTarget.S3) + SharedDtor(*this); +} +inline void RemoteStorageTarget_S3::SharedDtor(MessageLite& self) { + RemoteStorageTarget_S3& this_ = static_cast(self); + this_._internal_metadata_.Delete<::google::protobuf::UnknownFieldSet>(); + ABSL_DCHECK(this_.GetArena() == nullptr); + this_._impl_.endpoint_url_.Destroy(); + this_._impl_.partition_id_.Destroy(); + this_._impl_.region_.Destroy(); + this_._impl_.bucket_.Destroy(); + this_._impl_.access_key_.Destroy(); + this_._impl_.secret_key_.Destroy(); + this_._impl_.~Impl_(); +} + +inline void* RemoteStorageTarget_S3::PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena) { + return ::new (mem) RemoteStorageTarget_S3(arena); +} +constexpr auto RemoteStorageTarget_S3::InternalNewImpl_() { + constexpr auto arena_bits = ::google::protobuf::internal::EncodePlacementArenaOffsets({ + PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.storage_class_) + + decltype(RemoteStorageTarget_S3::_impl_.storage_class_):: + InternalGetArenaOffset( + ::google::protobuf::Message::internal_visibility()), + }); + if (arena_bits.has_value()) { + return ::google::protobuf::internal::MessageCreator::CopyInit( + sizeof(RemoteStorageTarget_S3), alignof(RemoteStorageTarget_S3), *arena_bits); + } else { + return ::google::protobuf::internal::MessageCreator(&RemoteStorageTarget_S3::PlacementNew_, + sizeof(RemoteStorageTarget_S3), + alignof(RemoteStorageTarget_S3)); + } +} +PROTOBUF_CONSTINIT +PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::google::protobuf::internal::ClassDataFull RemoteStorageTarget_S3::_class_data_ = { + ::google::protobuf::internal::ClassData{ + &_RemoteStorageTarget_S3_default_instance_._instance, + &_table_.header, + nullptr, // OnDemandRegisterArenaDtor + nullptr, // IsInitialized + &RemoteStorageTarget_S3::MergeImpl, + ::google::protobuf::Message::GetNewImpl(), +#if defined(PROTOBUF_CUSTOM_VTABLE) + &RemoteStorageTarget_S3::SharedDtor, + ::google::protobuf::Message::GetClearImpl(), &RemoteStorageTarget_S3::ByteSizeLong, + &RemoteStorageTarget_S3::_InternalSerialize, +#endif // PROTOBUF_CUSTOM_VTABLE + PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_._cached_size_), + false, + }, + &RemoteStorageTarget_S3::kDescriptorMethods, + &descriptor_table_flex_2eproto, + nullptr, // tracker +}; +const ::google::protobuf::internal::ClassData* RemoteStorageTarget_S3::GetClassData() const { + ::google::protobuf::internal::PrefetchToLocalCache(&_class_data_); + ::google::protobuf::internal::PrefetchToLocalCache(_class_data_.tc_table); + return _class_data_.base(); +} +PROTOBUF_CONSTINIT PROTOBUF_ATTRIBUTE_INIT_PRIORITY1 +const ::_pbi::TcParseTable<3, 7, 1, 92, 2> RemoteStorageTarget_S3::_table_ = { + { + 0, // no _has_bits_ + 0, // no _extensions_ + 8, 56, // max_field_number, fast_idx_mask + offsetof(decltype(_table_), field_lookup_table), + 4294967104, // skipmap + offsetof(decltype(_table_), field_entries), + 7, // num_field_entries + 1, // num_aux_entries + offsetof(decltype(_table_), aux_entries), + _class_data_.base(), + nullptr, // post_loop_handler + ::_pbi::TcParser::GenericFallback, // fallback + #ifdef PROTOBUF_PREFETCH_PARSE_TABLE + ::_pbi::TcParser::GetTable<::flex::RemoteStorageTarget_S3>(), // to_prefetch + #endif // PROTOBUF_PREFETCH_PARSE_TABLE + }, {{ + // repeated .flex.RemoteStorageTarget.S3.StorageClass storage_class = 8; + {::_pbi::TcParser::FastMtR1, + {66, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.storage_class_)}}, + // string endpoint_url = 1; + {::_pbi::TcParser::FastUS1, + {10, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.endpoint_url_)}}, + // string partition_id = 2; + {::_pbi::TcParser::FastUS1, + {18, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.partition_id_)}}, + // string region = 3; + {::_pbi::TcParser::FastUS1, + {26, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.region_)}}, + // string bucket = 4; + {::_pbi::TcParser::FastUS1, + {34, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.bucket_)}}, + // string access_key = 5; + {::_pbi::TcParser::FastUS1, + {42, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.access_key_)}}, + // string secret_key = 6; + {::_pbi::TcParser::FastUS1, + {50, 63, 0, PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.secret_key_)}}, + {::_pbi::TcParser::MiniParse, {}}, + }}, {{ + 65535, 65535 + }}, {{ + // string endpoint_url = 1; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.endpoint_url_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string partition_id = 2; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.partition_id_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string region = 3; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.region_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string bucket = 4; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.bucket_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string access_key = 5; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.access_key_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // string secret_key = 6; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.secret_key_), 0, 0, + (0 | ::_fl::kFcSingular | ::_fl::kUtf8String | ::_fl::kRepAString)}, + // repeated .flex.RemoteStorageTarget.S3.StorageClass storage_class = 8; + {PROTOBUF_FIELD_OFFSET(RemoteStorageTarget_S3, _impl_.storage_class_), 0, 0, + (0 | ::_fl::kFcRepeated | ::_fl::kMessage | ::_fl::kTvTable)}, + }}, {{ + {::_pbi::TcParser::GetTable<::flex::RemoteStorageTarget_S3_StorageClass>()}, + }}, {{ + "\33\14\14\6\6\12\12\0" + "flex.RemoteStorageTarget.S3" + "endpoint_url" + "partition_id" + "region" + "bucket" + "access_key" + "secret_key" + }}, +}; + +PROTOBUF_NOINLINE void RemoteStorageTarget_S3::Clear() { +// @@protoc_insertion_point(message_clear_start:flex.RemoteStorageTarget.S3) + ::google::protobuf::internal::TSanWrite(&_impl_); + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + _impl_.storage_class_.Clear(); + _impl_.endpoint_url_.ClearToEmpty(); + _impl_.partition_id_.ClearToEmpty(); + _impl_.region_.ClearToEmpty(); + _impl_.bucket_.ClearToEmpty(); + _impl_.access_key_.ClearToEmpty(); + _impl_.secret_key_.ClearToEmpty(); + _internal_metadata_.Clear<::google::protobuf::UnknownFieldSet>(); +} + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::uint8_t* RemoteStorageTarget_S3::_InternalSerialize( + const MessageLite& base, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) { + const RemoteStorageTarget_S3& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::uint8_t* RemoteStorageTarget_S3::_InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + const RemoteStorageTarget_S3& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(serialize_to_array_start:flex.RemoteStorageTarget.S3) + ::uint32_t cached_has_bits = 0; + (void)cached_has_bits; + + // string endpoint_url = 1; + if (!this_._internal_endpoint_url().empty()) { + const std::string& _s = this_._internal_endpoint_url(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.endpoint_url"); + target = stream->WriteStringMaybeAliased(1, _s, target); + } + + // string partition_id = 2; + if (!this_._internal_partition_id().empty()) { + const std::string& _s = this_._internal_partition_id(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.partition_id"); + target = stream->WriteStringMaybeAliased(2, _s, target); + } + + // string region = 3; + if (!this_._internal_region().empty()) { + const std::string& _s = this_._internal_region(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.region"); + target = stream->WriteStringMaybeAliased(3, _s, target); + } + + // string bucket = 4; + if (!this_._internal_bucket().empty()) { + const std::string& _s = this_._internal_bucket(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.bucket"); + target = stream->WriteStringMaybeAliased(4, _s, target); + } + + // string access_key = 5; + if (!this_._internal_access_key().empty()) { + const std::string& _s = this_._internal_access_key(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.access_key"); + target = stream->WriteStringMaybeAliased(5, _s, target); + } + + // string secret_key = 6; + if (!this_._internal_secret_key().empty()) { + const std::string& _s = this_._internal_secret_key(); + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + _s.data(), static_cast(_s.length()), ::google::protobuf::internal::WireFormatLite::SERIALIZE, "flex.RemoteStorageTarget.S3.secret_key"); + target = stream->WriteStringMaybeAliased(6, _s, target); + } + + // repeated .flex.RemoteStorageTarget.S3.StorageClass storage_class = 8; + for (unsigned i = 0, n = static_cast( + this_._internal_storage_class_size()); + i < n; i++) { + const auto& repfield = this_._internal_storage_class().Get(i); + target = + ::google::protobuf::internal::WireFormatLite::InternalWriteMessage( + 8, repfield, repfield.GetCachedSize(), + target, stream); + } + + if (PROTOBUF_PREDICT_FALSE(this_._internal_metadata_.have_unknown_fields())) { + target = + ::_pbi::WireFormat::InternalSerializeUnknownFieldsToArray( + this_._internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance), target, stream); + } + // @@protoc_insertion_point(serialize_to_array_end:flex.RemoteStorageTarget.S3) + return target; + } + +#if defined(PROTOBUF_CUSTOM_VTABLE) + ::size_t RemoteStorageTarget_S3::ByteSizeLong(const MessageLite& base) { + const RemoteStorageTarget_S3& this_ = static_cast(base); +#else // PROTOBUF_CUSTOM_VTABLE + ::size_t RemoteStorageTarget_S3::ByteSizeLong() const { + const RemoteStorageTarget_S3& this_ = *this; +#endif // PROTOBUF_CUSTOM_VTABLE + // @@protoc_insertion_point(message_byte_size_start:flex.RemoteStorageTarget.S3) + ::size_t total_size = 0; + + ::uint32_t cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void)cached_has_bits; + + ::_pbi::Prefetch5LinesFrom7Lines(&this_); + { + // repeated .flex.RemoteStorageTarget.S3.StorageClass storage_class = 8; + { + total_size += 1UL * this_._internal_storage_class_size(); + for (const auto& msg : this_._internal_storage_class()) { + total_size += ::google::protobuf::internal::WireFormatLite::MessageSize(msg); + } + } + } { // string endpoint_url = 1; if (!this_._internal_endpoint_url().empty()) { @@ -9926,6 +10931,8 @@ void RemoteStorageTarget_S3::MergeImpl(::google::protobuf::MessageLite& to_msg, ::uint32_t cached_has_bits = 0; (void) cached_has_bits; + _this->_internal_mutable_storage_class()->MergeFrom( + from._internal_storage_class()); if (!from._internal_endpoint_url().empty()) { _this->_internal_set_endpoint_url(from._internal_endpoint_url()); } @@ -9960,6 +10967,7 @@ void RemoteStorageTarget_S3::InternalSwap(RemoteStorageTarget_S3* PROTOBUF_RESTR auto* arena = GetArena(); ABSL_DCHECK_EQ(arena, other->GetArena()); _internal_metadata_.InternalSwap(&other->_internal_metadata_); + _impl_.storage_class_.InternalSwap(&other->_impl_.storage_class_); ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.endpoint_url_, &other->_impl_.endpoint_url_, arena); ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.partition_id_, &other->_impl_.partition_id_, arena); ::_pbi::ArenaStringPtr::InternalSwap(&_impl_.region_, &other->_impl_.region_, arena); diff --git a/cpp/flex.pb.h b/cpp/flex.pb.h index 933142d..cb7acc6 100644 --- a/cpp/flex.pb.h +++ b/cpp/flex.pb.h @@ -105,6 +105,12 @@ extern RemoteStorageTarget_PoliciesDefaultTypeInternal _RemoteStorageTarget_Poli class RemoteStorageTarget_S3; struct RemoteStorageTarget_S3DefaultTypeInternal; extern RemoteStorageTarget_S3DefaultTypeInternal _RemoteStorageTarget_S3_default_instance_; +class RemoteStorageTarget_S3_StorageClass; +struct RemoteStorageTarget_S3_StorageClassDefaultTypeInternal; +extern RemoteStorageTarget_S3_StorageClassDefaultTypeInternal _RemoteStorageTarget_S3_StorageClass_default_instance_; +class RemoteStorageTarget_S3_StorageClass_Archival; +struct RemoteStorageTarget_S3_StorageClass_ArchivalDefaultTypeInternal; +extern RemoteStorageTarget_S3_StorageClass_ArchivalDefaultTypeInternal _RemoteStorageTarget_S3_StorageClass_Archival_default_instance_; class SubmitWorkRequest; struct SubmitWorkRequestDefaultTypeInternal; extern SubmitWorkRequestDefaultTypeInternal _SubmitWorkRequest_default_instance_; @@ -1542,31 +1548,31 @@ class SyncJob_MetadataEntry_DoNotUse final }; // ------------------------------------------------------------------- -class RemoteStorageTarget_S3 final : public ::google::protobuf::Message -/* @@protoc_insertion_point(class_definition:flex.RemoteStorageTarget.S3) */ { +class RemoteStorageTarget_S3_StorageClass_Archival final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:flex.RemoteStorageTarget.S3.StorageClass.Archival) */ { public: - inline RemoteStorageTarget_S3() : RemoteStorageTarget_S3(nullptr) {} - ~RemoteStorageTarget_S3() PROTOBUF_FINAL; + inline RemoteStorageTarget_S3_StorageClass_Archival() : RemoteStorageTarget_S3_StorageClass_Archival(nullptr) {} + ~RemoteStorageTarget_S3_StorageClass_Archival() PROTOBUF_FINAL; #if defined(PROTOBUF_CUSTOM_VTABLE) - void operator delete(RemoteStorageTarget_S3* msg, std::destroying_delete_t) { + void operator delete(RemoteStorageTarget_S3_StorageClass_Archival* msg, std::destroying_delete_t) { SharedDtor(*msg); - ::google::protobuf::internal::SizedDelete(msg, sizeof(RemoteStorageTarget_S3)); + ::google::protobuf::internal::SizedDelete(msg, sizeof(RemoteStorageTarget_S3_StorageClass_Archival)); } #endif template - explicit PROTOBUF_CONSTEXPR RemoteStorageTarget_S3( + explicit PROTOBUF_CONSTEXPR RemoteStorageTarget_S3_StorageClass_Archival( ::google::protobuf::internal::ConstantInitialized); - inline RemoteStorageTarget_S3(const RemoteStorageTarget_S3& from) : RemoteStorageTarget_S3(nullptr, from) {} - inline RemoteStorageTarget_S3(RemoteStorageTarget_S3&& from) noexcept - : RemoteStorageTarget_S3(nullptr, std::move(from)) {} - inline RemoteStorageTarget_S3& operator=(const RemoteStorageTarget_S3& from) { + inline RemoteStorageTarget_S3_StorageClass_Archival(const RemoteStorageTarget_S3_StorageClass_Archival& from) : RemoteStorageTarget_S3_StorageClass_Archival(nullptr, from) {} + inline RemoteStorageTarget_S3_StorageClass_Archival(RemoteStorageTarget_S3_StorageClass_Archival&& from) noexcept + : RemoteStorageTarget_S3_StorageClass_Archival(nullptr, std::move(from)) {} + inline RemoteStorageTarget_S3_StorageClass_Archival& operator=(const RemoteStorageTarget_S3_StorageClass_Archival& from) { CopyFrom(from); return *this; } - inline RemoteStorageTarget_S3& operator=(RemoteStorageTarget_S3&& from) noexcept { + inline RemoteStorageTarget_S3_StorageClass_Archival& operator=(RemoteStorageTarget_S3_StorageClass_Archival&& from) noexcept { if (this == &from) return *this; if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { InternalSwap(&from); @@ -1594,16 +1600,16 @@ class RemoteStorageTarget_S3 final : public ::google::protobuf::Message static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RemoteStorageTarget_S3& default_instance() { + static const RemoteStorageTarget_S3_StorageClass_Archival& default_instance() { return *internal_default_instance(); } - static inline const RemoteStorageTarget_S3* internal_default_instance() { - return reinterpret_cast( - &_RemoteStorageTarget_S3_default_instance_); + static inline const RemoteStorageTarget_S3_StorageClass_Archival* internal_default_instance() { + return reinterpret_cast( + &_RemoteStorageTarget_S3_StorageClass_Archival_default_instance_); } static constexpr int kIndexInFileMessages = 25; - friend void swap(RemoteStorageTarget_S3& a, RemoteStorageTarget_S3& b) { a.Swap(&b); } - inline void Swap(RemoteStorageTarget_S3* other) { + friend void swap(RemoteStorageTarget_S3_StorageClass_Archival& a, RemoteStorageTarget_S3_StorageClass_Archival& b) { a.Swap(&b); } + inline void Swap(RemoteStorageTarget_S3_StorageClass_Archival* other) { if (other == this) return; if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { InternalSwap(other); @@ -1611,7 +1617,7 @@ class RemoteStorageTarget_S3 final : public ::google::protobuf::Message ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RemoteStorageTarget_S3* other) { + void UnsafeArenaSwap(RemoteStorageTarget_S3_StorageClass_Archival* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -1619,13 +1625,13 @@ class RemoteStorageTarget_S3 final : public ::google::protobuf::Message // implements Message ---------------------------------------------- - RemoteStorageTarget_S3* New(::google::protobuf::Arena* arena = nullptr) const { - return ::google::protobuf::Message::DefaultConstruct(arena); + RemoteStorageTarget_S3_StorageClass_Archival* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RemoteStorageTarget_S3& from); + void CopyFrom(const RemoteStorageTarget_S3_StorageClass_Archival& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom(const RemoteStorageTarget_S3& from) { RemoteStorageTarget_S3::MergeImpl(*this, from); } + void MergeFrom(const RemoteStorageTarget_S3_StorageClass_Archival& from) { RemoteStorageTarget_S3_StorageClass_Archival::MergeImpl(*this, from); } private: static void MergeImpl( @@ -1662,18 +1668,18 @@ class RemoteStorageTarget_S3 final : public ::google::protobuf::Message private: void SharedCtor(::google::protobuf::Arena* arena); static void SharedDtor(MessageLite& self); - void InternalSwap(RemoteStorageTarget_S3* other); + void InternalSwap(RemoteStorageTarget_S3_StorageClass_Archival* other); private: template friend ::absl::string_view( ::google::protobuf::internal::GetAnyMessageName)(); - static ::absl::string_view FullMessageName() { return "flex.RemoteStorageTarget.S3"; } + static ::absl::string_view FullMessageName() { return "flex.RemoteStorageTarget.S3.StorageClass.Archival"; } protected: - explicit RemoteStorageTarget_S3(::google::protobuf::Arena* arena); - RemoteStorageTarget_S3(::google::protobuf::Arena* arena, const RemoteStorageTarget_S3& from); - RemoteStorageTarget_S3(::google::protobuf::Arena* arena, RemoteStorageTarget_S3&& from) noexcept - : RemoteStorageTarget_S3(arena) { + explicit RemoteStorageTarget_S3_StorageClass_Archival(::google::protobuf::Arena* arena); + RemoteStorageTarget_S3_StorageClass_Archival(::google::protobuf::Arena* arena, const RemoteStorageTarget_S3_StorageClass_Archival& from); + RemoteStorageTarget_S3_StorageClass_Archival(::google::protobuf::Arena* arena, RemoteStorageTarget_S3_StorageClass_Archival&& from) noexcept + : RemoteStorageTarget_S3_StorageClass_Archival(arena) { *this = ::std::move(from); } const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; @@ -1688,116 +1694,87 @@ class RemoteStorageTarget_S3 final : public ::google::protobuf::Message // accessors ------------------------------------------------------- enum : int { - kEndpointUrlFieldNumber = 1, - kPartitionIdFieldNumber = 2, - kRegionFieldNumber = 3, - kBucketFieldNumber = 4, - kAccessKeyFieldNumber = 5, - kSecretKeyFieldNumber = 6, + kRetrievalTierFieldNumber = 1, + kCheckTimeFieldNumber = 3, + kRecheckTimeFieldNumber = 4, + kRetentionDaysFieldNumber = 2, + kAutoRestoreFieldNumber = 5, }; - // string endpoint_url = 1; - void clear_endpoint_url() ; - const std::string& endpoint_url() const; - template - void set_endpoint_url(Arg_&& arg, Args_... args); - std::string* mutable_endpoint_url(); - PROTOBUF_NODISCARD std::string* release_endpoint_url(); - void set_allocated_endpoint_url(std::string* value); - - private: - const std::string& _internal_endpoint_url() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_endpoint_url( - const std::string& value); - std::string* _internal_mutable_endpoint_url(); - - public: - // string partition_id = 2; - void clear_partition_id() ; - const std::string& partition_id() const; + // string retrieval_tier = 1; + void clear_retrieval_tier() ; + const std::string& retrieval_tier() const; template - void set_partition_id(Arg_&& arg, Args_... args); - std::string* mutable_partition_id(); - PROTOBUF_NODISCARD std::string* release_partition_id(); - void set_allocated_partition_id(std::string* value); + void set_retrieval_tier(Arg_&& arg, Args_... args); + std::string* mutable_retrieval_tier(); + PROTOBUF_NODISCARD std::string* release_retrieval_tier(); + void set_allocated_retrieval_tier(std::string* value); private: - const std::string& _internal_partition_id() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_partition_id( + const std::string& _internal_retrieval_tier() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_retrieval_tier( const std::string& value); - std::string* _internal_mutable_partition_id(); + std::string* _internal_mutable_retrieval_tier(); public: - // string region = 3; - void clear_region() ; - const std::string& region() const; + // string check_time = 3; + void clear_check_time() ; + const std::string& check_time() const; template - void set_region(Arg_&& arg, Args_... args); - std::string* mutable_region(); - PROTOBUF_NODISCARD std::string* release_region(); - void set_allocated_region(std::string* value); + void set_check_time(Arg_&& arg, Args_... args); + std::string* mutable_check_time(); + PROTOBUF_NODISCARD std::string* release_check_time(); + void set_allocated_check_time(std::string* value); private: - const std::string& _internal_region() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_region( + const std::string& _internal_check_time() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_check_time( const std::string& value); - std::string* _internal_mutable_region(); + std::string* _internal_mutable_check_time(); public: - // string bucket = 4; - void clear_bucket() ; - const std::string& bucket() const; + // string recheck_time = 4; + void clear_recheck_time() ; + const std::string& recheck_time() const; template - void set_bucket(Arg_&& arg, Args_... args); - std::string* mutable_bucket(); - PROTOBUF_NODISCARD std::string* release_bucket(); - void set_allocated_bucket(std::string* value); + void set_recheck_time(Arg_&& arg, Args_... args); + std::string* mutable_recheck_time(); + PROTOBUF_NODISCARD std::string* release_recheck_time(); + void set_allocated_recheck_time(std::string* value); private: - const std::string& _internal_bucket() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_bucket( + const std::string& _internal_recheck_time() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_recheck_time( const std::string& value); - std::string* _internal_mutable_bucket(); + std::string* _internal_mutable_recheck_time(); public: - // string access_key = 5; - void clear_access_key() ; - const std::string& access_key() const; - template - void set_access_key(Arg_&& arg, Args_... args); - std::string* mutable_access_key(); - PROTOBUF_NODISCARD std::string* release_access_key(); - void set_allocated_access_key(std::string* value); + // int32 retention_days = 2; + void clear_retention_days() ; + ::int32_t retention_days() const; + void set_retention_days(::int32_t value); private: - const std::string& _internal_access_key() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_access_key( - const std::string& value); - std::string* _internal_mutable_access_key(); + ::int32_t _internal_retention_days() const; + void _internal_set_retention_days(::int32_t value); public: - // string secret_key = 6; - void clear_secret_key() ; - const std::string& secret_key() const; - template - void set_secret_key(Arg_&& arg, Args_... args); - std::string* mutable_secret_key(); - PROTOBUF_NODISCARD std::string* release_secret_key(); - void set_allocated_secret_key(std::string* value); + // bool auto_restore = 5; + void clear_auto_restore() ; + bool auto_restore() const; + void set_auto_restore(bool value); private: - const std::string& _internal_secret_key() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_secret_key( - const std::string& value); - std::string* _internal_mutable_secret_key(); + bool _internal_auto_restore() const; + void _internal_set_auto_restore(bool value); public: - // @@protoc_insertion_point(class_scope:flex.RemoteStorageTarget.S3) + // @@protoc_insertion_point(class_scope:flex.RemoteStorageTarget.S3.StorageClass.Archival) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 3, 6, 0, - 92, 2> + 3, 5, 0, + 94, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -1813,13 +1790,12 @@ class RemoteStorageTarget_S3 final : public ::google::protobuf::Message ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from, - const RemoteStorageTarget_S3& from_msg); - ::google::protobuf::internal::ArenaStringPtr endpoint_url_; - ::google::protobuf::internal::ArenaStringPtr partition_id_; - ::google::protobuf::internal::ArenaStringPtr region_; - ::google::protobuf::internal::ArenaStringPtr bucket_; - ::google::protobuf::internal::ArenaStringPtr access_key_; - ::google::protobuf::internal::ArenaStringPtr secret_key_; + const RemoteStorageTarget_S3_StorageClass_Archival& from_msg); + ::google::protobuf::internal::ArenaStringPtr retrieval_tier_; + ::google::protobuf::internal::ArenaStringPtr check_time_; + ::google::protobuf::internal::ArenaStringPtr recheck_time_; + ::int32_t retention_days_; + bool auto_restore_; ::google::protobuf::internal::CachedSize _cached_size_; PROTOBUF_TSAN_DECLARE_MEMBER }; @@ -2077,7 +2053,7 @@ class RemoteStorageTarget_POSIX final : public ::google::protobuf::Message return reinterpret_cast( &_RemoteStorageTarget_POSIX_default_instance_); } - static constexpr int kIndexInFileMessages = 27; + static constexpr int kIndexInFileMessages = 29; friend void swap(RemoteStorageTarget_POSIX& a, RemoteStorageTarget_POSIX& b) { a.Swap(&b); } inline void Swap(RemoteStorageTarget_POSIX* other) { if (other == this) return; @@ -3486,31 +3462,31 @@ class Work final : public ::google::protobuf::Message }; // ------------------------------------------------------------------- -class RemoteStorageTarget_Azure final : public ::google::protobuf::Message -/* @@protoc_insertion_point(class_definition:flex.RemoteStorageTarget.Azure) */ { +class RemoteStorageTarget_S3_StorageClass final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:flex.RemoteStorageTarget.S3.StorageClass) */ { public: - inline RemoteStorageTarget_Azure() : RemoteStorageTarget_Azure(nullptr) {} - ~RemoteStorageTarget_Azure() PROTOBUF_FINAL; + inline RemoteStorageTarget_S3_StorageClass() : RemoteStorageTarget_S3_StorageClass(nullptr) {} + ~RemoteStorageTarget_S3_StorageClass() PROTOBUF_FINAL; #if defined(PROTOBUF_CUSTOM_VTABLE) - void operator delete(RemoteStorageTarget_Azure* msg, std::destroying_delete_t) { + void operator delete(RemoteStorageTarget_S3_StorageClass* msg, std::destroying_delete_t) { SharedDtor(*msg); - ::google::protobuf::internal::SizedDelete(msg, sizeof(RemoteStorageTarget_Azure)); + ::google::protobuf::internal::SizedDelete(msg, sizeof(RemoteStorageTarget_S3_StorageClass)); } #endif template - explicit PROTOBUF_CONSTEXPR RemoteStorageTarget_Azure( + explicit PROTOBUF_CONSTEXPR RemoteStorageTarget_S3_StorageClass( ::google::protobuf::internal::ConstantInitialized); - inline RemoteStorageTarget_Azure(const RemoteStorageTarget_Azure& from) : RemoteStorageTarget_Azure(nullptr, from) {} - inline RemoteStorageTarget_Azure(RemoteStorageTarget_Azure&& from) noexcept - : RemoteStorageTarget_Azure(nullptr, std::move(from)) {} - inline RemoteStorageTarget_Azure& operator=(const RemoteStorageTarget_Azure& from) { + inline RemoteStorageTarget_S3_StorageClass(const RemoteStorageTarget_S3_StorageClass& from) : RemoteStorageTarget_S3_StorageClass(nullptr, from) {} + inline RemoteStorageTarget_S3_StorageClass(RemoteStorageTarget_S3_StorageClass&& from) noexcept + : RemoteStorageTarget_S3_StorageClass(nullptr, std::move(from)) {} + inline RemoteStorageTarget_S3_StorageClass& operator=(const RemoteStorageTarget_S3_StorageClass& from) { CopyFrom(from); return *this; } - inline RemoteStorageTarget_Azure& operator=(RemoteStorageTarget_Azure&& from) noexcept { + inline RemoteStorageTarget_S3_StorageClass& operator=(RemoteStorageTarget_S3_StorageClass&& from) noexcept { if (this == &from) return *this; if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { InternalSwap(&from); @@ -3538,16 +3514,16 @@ class RemoteStorageTarget_Azure final : public ::google::protobuf::Message static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RemoteStorageTarget_Azure& default_instance() { + static const RemoteStorageTarget_S3_StorageClass& default_instance() { return *internal_default_instance(); } - static inline const RemoteStorageTarget_Azure* internal_default_instance() { - return reinterpret_cast( - &_RemoteStorageTarget_Azure_default_instance_); + static inline const RemoteStorageTarget_S3_StorageClass* internal_default_instance() { + return reinterpret_cast( + &_RemoteStorageTarget_S3_StorageClass_default_instance_); } static constexpr int kIndexInFileMessages = 26; - friend void swap(RemoteStorageTarget_Azure& a, RemoteStorageTarget_Azure& b) { a.Swap(&b); } - inline void Swap(RemoteStorageTarget_Azure* other) { + friend void swap(RemoteStorageTarget_S3_StorageClass& a, RemoteStorageTarget_S3_StorageClass& b) { a.Swap(&b); } + inline void Swap(RemoteStorageTarget_S3_StorageClass* other) { if (other == this) return; if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { InternalSwap(other); @@ -3555,7 +3531,7 @@ class RemoteStorageTarget_Azure final : public ::google::protobuf::Message ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RemoteStorageTarget_Azure* other) { + void UnsafeArenaSwap(RemoteStorageTarget_S3_StorageClass* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -3563,13 +3539,13 @@ class RemoteStorageTarget_Azure final : public ::google::protobuf::Message // implements Message ---------------------------------------------- - RemoteStorageTarget_Azure* New(::google::protobuf::Arena* arena = nullptr) const { - return ::google::protobuf::Message::DefaultConstruct(arena); + RemoteStorageTarget_S3_StorageClass* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RemoteStorageTarget_Azure& from); + void CopyFrom(const RemoteStorageTarget_S3_StorageClass& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom(const RemoteStorageTarget_Azure& from) { RemoteStorageTarget_Azure::MergeImpl(*this, from); } + void MergeFrom(const RemoteStorageTarget_S3_StorageClass& from) { RemoteStorageTarget_S3_StorageClass::MergeImpl(*this, from); } private: static void MergeImpl( @@ -3606,18 +3582,18 @@ class RemoteStorageTarget_Azure final : public ::google::protobuf::Message private: void SharedCtor(::google::protobuf::Arena* arena); static void SharedDtor(MessageLite& self); - void InternalSwap(RemoteStorageTarget_Azure* other); + void InternalSwap(RemoteStorageTarget_S3_StorageClass* other); private: template friend ::absl::string_view( ::google::protobuf::internal::GetAnyMessageName)(); - static ::absl::string_view FullMessageName() { return "flex.RemoteStorageTarget.Azure"; } + static ::absl::string_view FullMessageName() { return "flex.RemoteStorageTarget.S3.StorageClass"; } protected: - explicit RemoteStorageTarget_Azure(::google::protobuf::Arena* arena); - RemoteStorageTarget_Azure(::google::protobuf::Arena* arena, const RemoteStorageTarget_Azure& from); - RemoteStorageTarget_Azure(::google::protobuf::Arena* arena, RemoteStorageTarget_Azure&& from) noexcept - : RemoteStorageTarget_Azure(arena) { + explicit RemoteStorageTarget_S3_StorageClass(::google::protobuf::Arena* arena); + RemoteStorageTarget_S3_StorageClass(::google::protobuf::Arena* arena, const RemoteStorageTarget_S3_StorageClass& from); + RemoteStorageTarget_S3_StorageClass(::google::protobuf::Arena* arena, RemoteStorageTarget_S3_StorageClass&& from) noexcept + : RemoteStorageTarget_S3_StorageClass(arena) { *this = ::std::move(from); } const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; @@ -3629,50 +3605,51 @@ class RemoteStorageTarget_Azure final : public ::google::protobuf::Message public: ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- + using Archival = RemoteStorageTarget_S3_StorageClass_Archival; // accessors ------------------------------------------------------- enum : int { - kAccountFieldNumber = 2, - kS3FieldNumber = 1, + kNameFieldNumber = 1, + kArchivalFieldNumber = 2, }; - // string account = 2; - void clear_account() ; - const std::string& account() const; + // string name = 1; + void clear_name() ; + const std::string& name() const; template - void set_account(Arg_&& arg, Args_... args); - std::string* mutable_account(); - PROTOBUF_NODISCARD std::string* release_account(); - void set_allocated_account(std::string* value); + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); private: - const std::string& _internal_account() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_account( + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( const std::string& value); - std::string* _internal_mutable_account(); + std::string* _internal_mutable_name(); public: - // .flex.RemoteStorageTarget.S3 s3 = 1; - bool has_s3() const; - void clear_s3() ; - const ::flex::RemoteStorageTarget_S3& s3() const; - PROTOBUF_NODISCARD ::flex::RemoteStorageTarget_S3* release_s3(); - ::flex::RemoteStorageTarget_S3* mutable_s3(); - void set_allocated_s3(::flex::RemoteStorageTarget_S3* value); - void unsafe_arena_set_allocated_s3(::flex::RemoteStorageTarget_S3* value); - ::flex::RemoteStorageTarget_S3* unsafe_arena_release_s3(); + // optional .flex.RemoteStorageTarget.S3.StorageClass.Archival archival = 2; + bool has_archival() const; + void clear_archival() ; + const ::flex::RemoteStorageTarget_S3_StorageClass_Archival& archival() const; + PROTOBUF_NODISCARD ::flex::RemoteStorageTarget_S3_StorageClass_Archival* release_archival(); + ::flex::RemoteStorageTarget_S3_StorageClass_Archival* mutable_archival(); + void set_allocated_archival(::flex::RemoteStorageTarget_S3_StorageClass_Archival* value); + void unsafe_arena_set_allocated_archival(::flex::RemoteStorageTarget_S3_StorageClass_Archival* value); + ::flex::RemoteStorageTarget_S3_StorageClass_Archival* unsafe_arena_release_archival(); private: - const ::flex::RemoteStorageTarget_S3& _internal_s3() const; - ::flex::RemoteStorageTarget_S3* _internal_mutable_s3(); + const ::flex::RemoteStorageTarget_S3_StorageClass_Archival& _internal_archival() const; + ::flex::RemoteStorageTarget_S3_StorageClass_Archival* _internal_mutable_archival(); public: - // @@protoc_insertion_point(class_scope:flex.RemoteStorageTarget.Azure) + // @@protoc_insertion_point(class_scope:flex.RemoteStorageTarget.S3.StorageClass) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< 1, 2, 1, - 46, 2> + 53, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -3688,11 +3665,11 @@ class RemoteStorageTarget_Azure final : public ::google::protobuf::Message ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from, - const RemoteStorageTarget_Azure& from_msg); + const RemoteStorageTarget_S3_StorageClass& from_msg); ::google::protobuf::internal::HasBits<1> _has_bits_; ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr account_; - ::flex::RemoteStorageTarget_S3* s3_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::flex::RemoteStorageTarget_S3_StorageClass_Archival* archival_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; @@ -4058,10 +4035,11 @@ class JobLockedInfo final : public ::google::protobuf::Message kExternalIdFieldNumber = 10, kMtimeFieldNumber = 5, kRemoteMtimeFieldNumber = 7, + kSizeFieldNumber = 3, + kModeFieldNumber = 4, kReadWriteLockedFieldNumber = 1, kExistsFieldNumber = 2, - kModeFieldNumber = 4, - kSizeFieldNumber = 3, + kIsArchivedFieldNumber = 11, kRemoteSizeFieldNumber = 6, kStubUrlRstIdFieldNumber = 8, }; @@ -4126,6 +4104,26 @@ class JobLockedInfo final : public ::google::protobuf::Message const ::google::protobuf::Timestamp& _internal_remote_mtime() const; ::google::protobuf::Timestamp* _internal_mutable_remote_mtime(); + public: + // int64 size = 3; + void clear_size() ; + ::int64_t size() const; + void set_size(::int64_t value); + + private: + ::int64_t _internal_size() const; + void _internal_set_size(::int64_t value); + + public: + // uint32 mode = 4; + void clear_mode() ; + ::uint32_t mode() const; + void set_mode(::uint32_t value); + + private: + ::uint32_t _internal_mode() const; + void _internal_set_mode(::uint32_t value); + public: // bool read_write_locked = 1; void clear_read_write_locked() ; @@ -4147,24 +4145,14 @@ class JobLockedInfo final : public ::google::protobuf::Message void _internal_set_exists(bool value); public: - // uint32 mode = 4; - void clear_mode() ; - ::uint32_t mode() const; - void set_mode(::uint32_t value); - - private: - ::uint32_t _internal_mode() const; - void _internal_set_mode(::uint32_t value); - - public: - // int64 size = 3; - void clear_size() ; - ::int64_t size() const; - void set_size(::int64_t value); + // bool is_archived = 11; + void clear_is_archived() ; + bool is_archived() const; + void set_is_archived(bool value); private: - ::int64_t _internal_size() const; - void _internal_set_size(::int64_t value); + bool _internal_is_archived() const; + void _internal_set_is_archived(bool value); public: // int64 remote_size = 6; @@ -4192,7 +4180,7 @@ class JobLockedInfo final : public ::google::protobuf::Message class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 4, 10, 2, + 4, 11, 2, 58, 2> _table_; @@ -4216,10 +4204,11 @@ class JobLockedInfo final : public ::google::protobuf::Message ::google::protobuf::internal::ArenaStringPtr externalid_; ::google::protobuf::Timestamp* mtime_; ::google::protobuf::Timestamp* remote_mtime_; + ::int64_t size_; + ::uint32_t mode_; bool read_write_locked_; bool exists_; - ::uint32_t mode_; - ::int64_t size_; + bool is_archived_; ::int64_t remote_size_; ::uint32_t stub_url_rst_id_; PROTOBUF_TSAN_DECLARE_MEMBER @@ -4594,11 +4583,13 @@ class SyncJob final : public ::google::protobuf::Message kMetadataFieldNumber = 9, kRemotePathFieldNumber = 3, kTaggingFieldNumber = 10, + kStorageClassFieldNumber = 12, kLockedInfoFieldNumber = 6, kOperationFieldNumber = 1, kOverwriteFieldNumber = 2, kFlattenFieldNumber = 5, kUpdateFieldNumber = 7, + kAllowRestoreFieldNumber = 13, }; // map metadata = 9; int metadata_size() const; @@ -4647,6 +4638,23 @@ class SyncJob final : public ::google::protobuf::Message const std::string& value); std::string* _internal_mutable_tagging(); + public: + // optional string storage_class = 12; + bool has_storage_class() const; + void clear_storage_class() ; + const std::string& storage_class() const; + template + void set_storage_class(Arg_&& arg, Args_... args); + std::string* mutable_storage_class(); + PROTOBUF_NODISCARD std::string* release_storage_class(); + void set_allocated_storage_class(std::string* value); + + private: + const std::string& _internal_storage_class() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_storage_class( + const std::string& value); + std::string* _internal_mutable_storage_class(); + public: // .flex.JobLockedInfo locked_info = 6; bool has_locked_info() const; @@ -4703,14 +4711,25 @@ class SyncJob final : public ::google::protobuf::Message bool _internal_update() const; void _internal_set_update(bool value); + public: + // optional bool allow_restore = 13; + bool has_allow_restore() const; + void clear_allow_restore() ; + bool allow_restore() const; + void set_allow_restore(bool value); + + private: + bool _internal_allow_restore() const; + void _internal_set_allow_restore(bool value); + public: // @@protoc_insertion_point(class_scope:flex.SyncJob) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 4, 8, 2, - 55, 2> + 4, 10, 2, + 68, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -4735,11 +4754,13 @@ class SyncJob final : public ::google::protobuf::Message metadata_; ::google::protobuf::internal::ArenaStringPtr remote_path_; ::google::protobuf::internal::ArenaStringPtr tagging_; + ::google::protobuf::internal::ArenaStringPtr storage_class_; ::flex::JobLockedInfo* locked_info_; int operation_; bool overwrite_; bool flatten_; bool update_; + bool allow_restore_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; @@ -4943,31 +4964,31 @@ class SubmitWorkResponse final : public ::google::protobuf::Message }; // ------------------------------------------------------------------- -class RemoteStorageTarget final : public ::google::protobuf::Message -/* @@protoc_insertion_point(class_definition:flex.RemoteStorageTarget) */ { +class RemoteStorageTarget_S3 final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:flex.RemoteStorageTarget.S3) */ { public: - inline RemoteStorageTarget() : RemoteStorageTarget(nullptr) {} - ~RemoteStorageTarget() PROTOBUF_FINAL; + inline RemoteStorageTarget_S3() : RemoteStorageTarget_S3(nullptr) {} + ~RemoteStorageTarget_S3() PROTOBUF_FINAL; #if defined(PROTOBUF_CUSTOM_VTABLE) - void operator delete(RemoteStorageTarget* msg, std::destroying_delete_t) { + void operator delete(RemoteStorageTarget_S3* msg, std::destroying_delete_t) { SharedDtor(*msg); - ::google::protobuf::internal::SizedDelete(msg, sizeof(RemoteStorageTarget)); + ::google::protobuf::internal::SizedDelete(msg, sizeof(RemoteStorageTarget_S3)); } #endif template - explicit PROTOBUF_CONSTEXPR RemoteStorageTarget( + explicit PROTOBUF_CONSTEXPR RemoteStorageTarget_S3( ::google::protobuf::internal::ConstantInitialized); - inline RemoteStorageTarget(const RemoteStorageTarget& from) : RemoteStorageTarget(nullptr, from) {} - inline RemoteStorageTarget(RemoteStorageTarget&& from) noexcept - : RemoteStorageTarget(nullptr, std::move(from)) {} - inline RemoteStorageTarget& operator=(const RemoteStorageTarget& from) { + inline RemoteStorageTarget_S3(const RemoteStorageTarget_S3& from) : RemoteStorageTarget_S3(nullptr, from) {} + inline RemoteStorageTarget_S3(RemoteStorageTarget_S3&& from) noexcept + : RemoteStorageTarget_S3(nullptr, std::move(from)) {} + inline RemoteStorageTarget_S3& operator=(const RemoteStorageTarget_S3& from) { CopyFrom(from); return *this; } - inline RemoteStorageTarget& operator=(RemoteStorageTarget&& from) noexcept { + inline RemoteStorageTarget_S3& operator=(RemoteStorageTarget_S3&& from) noexcept { if (this == &from) return *this; if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { InternalSwap(&from); @@ -4995,23 +5016,16 @@ class RemoteStorageTarget final : public ::google::protobuf::Message static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const RemoteStorageTarget& default_instance() { + static const RemoteStorageTarget_S3& default_instance() { return *internal_default_instance(); } - enum TypeCase { - kS3 = 4, - kPosix = 5, - kAzure = 6, - kMock = 7, - TYPE_NOT_SET = 0, - }; - static inline const RemoteStorageTarget* internal_default_instance() { - return reinterpret_cast( - &_RemoteStorageTarget_default_instance_); + static inline const RemoteStorageTarget_S3* internal_default_instance() { + return reinterpret_cast( + &_RemoteStorageTarget_S3_default_instance_); } - static constexpr int kIndexInFileMessages = 28; - friend void swap(RemoteStorageTarget& a, RemoteStorageTarget& b) { a.Swap(&b); } - inline void Swap(RemoteStorageTarget* other) { + static constexpr int kIndexInFileMessages = 27; + friend void swap(RemoteStorageTarget_S3& a, RemoteStorageTarget_S3& b) { a.Swap(&b); } + inline void Swap(RemoteStorageTarget_S3* other) { if (other == this) return; if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { InternalSwap(other); @@ -5019,7 +5033,7 @@ class RemoteStorageTarget final : public ::google::protobuf::Message ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(RemoteStorageTarget* other) { + void UnsafeArenaSwap(RemoteStorageTarget_S3* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -5027,13 +5041,13 @@ class RemoteStorageTarget final : public ::google::protobuf::Message // implements Message ---------------------------------------------- - RemoteStorageTarget* New(::google::protobuf::Arena* arena = nullptr) const { - return ::google::protobuf::Message::DefaultConstruct(arena); + RemoteStorageTarget_S3* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const RemoteStorageTarget& from); + void CopyFrom(const RemoteStorageTarget_S3& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom(const RemoteStorageTarget& from) { RemoteStorageTarget::MergeImpl(*this, from); } + void MergeFrom(const RemoteStorageTarget_S3& from) { RemoteStorageTarget_S3::MergeImpl(*this, from); } private: static void MergeImpl( @@ -5070,18 +5084,18 @@ class RemoteStorageTarget final : public ::google::protobuf::Message private: void SharedCtor(::google::protobuf::Arena* arena); static void SharedDtor(MessageLite& self); - void InternalSwap(RemoteStorageTarget* other); + void InternalSwap(RemoteStorageTarget_S3* other); private: template friend ::absl::string_view( ::google::protobuf::internal::GetAnyMessageName)(); - static ::absl::string_view FullMessageName() { return "flex.RemoteStorageTarget"; } + static ::absl::string_view FullMessageName() { return "flex.RemoteStorageTarget.S3"; } protected: - explicit RemoteStorageTarget(::google::protobuf::Arena* arena); - RemoteStorageTarget(::google::protobuf::Arena* arena, const RemoteStorageTarget& from); - RemoteStorageTarget(::google::protobuf::Arena* arena, RemoteStorageTarget&& from) noexcept - : RemoteStorageTarget(arena) { + explicit RemoteStorageTarget_S3(::google::protobuf::Arena* arena); + RemoteStorageTarget_S3(::google::protobuf::Arena* arena, const RemoteStorageTarget_S3& from); + RemoteStorageTarget_S3(::google::protobuf::Arena* arena, RemoteStorageTarget_S3&& from) noexcept + : RemoteStorageTarget_S3(arena) { *this = ::std::move(from); } const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; @@ -5093,151 +5107,138 @@ class RemoteStorageTarget final : public ::google::protobuf::Message public: ::google::protobuf::Metadata GetMetadata() const; // nested types ---------------------------------------------------- - using Policies = RemoteStorageTarget_Policies; - using S3 = RemoteStorageTarget_S3; - using Azure = RemoteStorageTarget_Azure; - using POSIX = RemoteStorageTarget_POSIX; + using StorageClass = RemoteStorageTarget_S3_StorageClass; // accessors ------------------------------------------------------- enum : int { - kNameFieldNumber = 2, - kPoliciesFieldNumber = 3, - kIdFieldNumber = 1, - kS3FieldNumber = 4, - kPosixFieldNumber = 5, - kAzureFieldNumber = 6, - kMockFieldNumber = 7, + kStorageClassFieldNumber = 8, + kEndpointUrlFieldNumber = 1, + kPartitionIdFieldNumber = 2, + kRegionFieldNumber = 3, + kBucketFieldNumber = 4, + kAccessKeyFieldNumber = 5, + kSecretKeyFieldNumber = 6, }; - // string name = 2; - void clear_name() ; - const std::string& name() const; - template - void set_name(Arg_&& arg, Args_... args); - std::string* mutable_name(); - PROTOBUF_NODISCARD std::string* release_name(); - void set_allocated_name(std::string* value); - + // repeated .flex.RemoteStorageTarget.S3.StorageClass storage_class = 8; + int storage_class_size() const; private: - const std::string& _internal_name() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( - const std::string& value); - std::string* _internal_mutable_name(); + int _internal_storage_class_size() const; public: - // .flex.RemoteStorageTarget.Policies policies = 3; - bool has_policies() const; - void clear_policies() ; - const ::flex::RemoteStorageTarget_Policies& policies() const; - PROTOBUF_NODISCARD ::flex::RemoteStorageTarget_Policies* release_policies(); - ::flex::RemoteStorageTarget_Policies* mutable_policies(); - void set_allocated_policies(::flex::RemoteStorageTarget_Policies* value); - void unsafe_arena_set_allocated_policies(::flex::RemoteStorageTarget_Policies* value); - ::flex::RemoteStorageTarget_Policies* unsafe_arena_release_policies(); + void clear_storage_class() ; + ::flex::RemoteStorageTarget_S3_StorageClass* mutable_storage_class(int index); + ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget_S3_StorageClass>* mutable_storage_class(); private: - const ::flex::RemoteStorageTarget_Policies& _internal_policies() const; - ::flex::RemoteStorageTarget_Policies* _internal_mutable_policies(); - + const ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget_S3_StorageClass>& _internal_storage_class() const; + ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget_S3_StorageClass>* _internal_mutable_storage_class(); public: - // uint32 id = 1; - void clear_id() ; - ::uint32_t id() const; - void set_id(::uint32_t value); - - private: - ::uint32_t _internal_id() const; - void _internal_set_id(::uint32_t value); + const ::flex::RemoteStorageTarget_S3_StorageClass& storage_class(int index) const; + ::flex::RemoteStorageTarget_S3_StorageClass* add_storage_class(); + const ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget_S3_StorageClass>& storage_class() const; + // string endpoint_url = 1; + void clear_endpoint_url() ; + const std::string& endpoint_url() const; + template + void set_endpoint_url(Arg_&& arg, Args_... args); + std::string* mutable_endpoint_url(); + PROTOBUF_NODISCARD std::string* release_endpoint_url(); + void set_allocated_endpoint_url(std::string* value); - public: - // .flex.RemoteStorageTarget.S3 s3 = 4; - bool has_s3() const; private: - bool _internal_has_s3() const; + const std::string& _internal_endpoint_url() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_endpoint_url( + const std::string& value); + std::string* _internal_mutable_endpoint_url(); public: - void clear_s3() ; - const ::flex::RemoteStorageTarget_S3& s3() const; - PROTOBUF_NODISCARD ::flex::RemoteStorageTarget_S3* release_s3(); - ::flex::RemoteStorageTarget_S3* mutable_s3(); - void set_allocated_s3(::flex::RemoteStorageTarget_S3* value); - void unsafe_arena_set_allocated_s3(::flex::RemoteStorageTarget_S3* value); - ::flex::RemoteStorageTarget_S3* unsafe_arena_release_s3(); - - private: - const ::flex::RemoteStorageTarget_S3& _internal_s3() const; - ::flex::RemoteStorageTarget_S3* _internal_mutable_s3(); + // string partition_id = 2; + void clear_partition_id() ; + const std::string& partition_id() const; + template + void set_partition_id(Arg_&& arg, Args_... args); + std::string* mutable_partition_id(); + PROTOBUF_NODISCARD std::string* release_partition_id(); + void set_allocated_partition_id(std::string* value); - public: - // .flex.RemoteStorageTarget.POSIX posix = 5; - bool has_posix() const; private: - bool _internal_has_posix() const; + const std::string& _internal_partition_id() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_partition_id( + const std::string& value); + std::string* _internal_mutable_partition_id(); public: - void clear_posix() ; - const ::flex::RemoteStorageTarget_POSIX& posix() const; - PROTOBUF_NODISCARD ::flex::RemoteStorageTarget_POSIX* release_posix(); - ::flex::RemoteStorageTarget_POSIX* mutable_posix(); - void set_allocated_posix(::flex::RemoteStorageTarget_POSIX* value); - void unsafe_arena_set_allocated_posix(::flex::RemoteStorageTarget_POSIX* value); - ::flex::RemoteStorageTarget_POSIX* unsafe_arena_release_posix(); + // string region = 3; + void clear_region() ; + const std::string& region() const; + template + void set_region(Arg_&& arg, Args_... args); + std::string* mutable_region(); + PROTOBUF_NODISCARD std::string* release_region(); + void set_allocated_region(std::string* value); private: - const ::flex::RemoteStorageTarget_POSIX& _internal_posix() const; - ::flex::RemoteStorageTarget_POSIX* _internal_mutable_posix(); + const std::string& _internal_region() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_region( + const std::string& value); + std::string* _internal_mutable_region(); public: - // .flex.RemoteStorageTarget.Azure azure = 6; - bool has_azure() const; + // string bucket = 4; + void clear_bucket() ; + const std::string& bucket() const; + template + void set_bucket(Arg_&& arg, Args_... args); + std::string* mutable_bucket(); + PROTOBUF_NODISCARD std::string* release_bucket(); + void set_allocated_bucket(std::string* value); + private: - bool _internal_has_azure() const; + const std::string& _internal_bucket() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_bucket( + const std::string& value); + std::string* _internal_mutable_bucket(); public: - void clear_azure() ; - const ::flex::RemoteStorageTarget_Azure& azure() const; - PROTOBUF_NODISCARD ::flex::RemoteStorageTarget_Azure* release_azure(); - ::flex::RemoteStorageTarget_Azure* mutable_azure(); - void set_allocated_azure(::flex::RemoteStorageTarget_Azure* value); - void unsafe_arena_set_allocated_azure(::flex::RemoteStorageTarget_Azure* value); - ::flex::RemoteStorageTarget_Azure* unsafe_arena_release_azure(); + // string access_key = 5; + void clear_access_key() ; + const std::string& access_key() const; + template + void set_access_key(Arg_&& arg, Args_... args); + std::string* mutable_access_key(); + PROTOBUF_NODISCARD std::string* release_access_key(); + void set_allocated_access_key(std::string* value); private: - const ::flex::RemoteStorageTarget_Azure& _internal_azure() const; - ::flex::RemoteStorageTarget_Azure* _internal_mutable_azure(); + const std::string& _internal_access_key() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_access_key( + const std::string& value); + std::string* _internal_mutable_access_key(); public: - // string mock = 7; - bool has_mock() const; - void clear_mock() ; - const std::string& mock() const; + // string secret_key = 6; + void clear_secret_key() ; + const std::string& secret_key() const; template - void set_mock(Arg_&& arg, Args_... args); - std::string* mutable_mock(); - PROTOBUF_NODISCARD std::string* release_mock(); - void set_allocated_mock(std::string* value); + void set_secret_key(Arg_&& arg, Args_... args); + std::string* mutable_secret_key(); + PROTOBUF_NODISCARD std::string* release_secret_key(); + void set_allocated_secret_key(std::string* value); private: - const std::string& _internal_mock() const; - inline PROTOBUF_ALWAYS_INLINE void _internal_set_mock( + const std::string& _internal_secret_key() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_secret_key( const std::string& value); - std::string* _internal_mutable_mock(); + std::string* _internal_mutable_secret_key(); public: - void clear_type(); - TypeCase type_case() const; - // @@protoc_insertion_point(class_scope:flex.RemoteStorageTarget) + // @@protoc_insertion_point(class_scope:flex.RemoteStorageTarget.S3) private: class _Internal; - void set_has_s3(); - void set_has_posix(); - void set_has_azure(); - void set_has_mock(); - inline bool has_type() const; - inline void clear_has_type(); friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 2, 7, 4, - 41, 2> + 3, 7, 1, + 92, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -5253,21 +5254,15 @@ class RemoteStorageTarget final : public ::google::protobuf::Message ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from, - const RemoteStorageTarget& from_msg); - ::google::protobuf::internal::HasBits<1> _has_bits_; + const RemoteStorageTarget_S3& from_msg); + ::google::protobuf::RepeatedPtrField< ::flex::RemoteStorageTarget_S3_StorageClass > storage_class_; + ::google::protobuf::internal::ArenaStringPtr endpoint_url_; + ::google::protobuf::internal::ArenaStringPtr partition_id_; + ::google::protobuf::internal::ArenaStringPtr region_; + ::google::protobuf::internal::ArenaStringPtr bucket_; + ::google::protobuf::internal::ArenaStringPtr access_key_; + ::google::protobuf::internal::ArenaStringPtr secret_key_; ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr name_; - ::flex::RemoteStorageTarget_Policies* policies_; - ::uint32_t id_; - union TypeUnion { - constexpr TypeUnion() : _constinit_{} {} - ::google::protobuf::internal::ConstantInitialized _constinit_; - ::flex::RemoteStorageTarget_S3* s3_; - ::flex::RemoteStorageTarget_POSIX* posix_; - ::flex::RemoteStorageTarget_Azure* azure_; - ::google::protobuf::internal::ArenaStringPtr mock_; - } type_; - ::uint32_t _oneof_case_[1]; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; @@ -5424,6 +5419,7 @@ class JobRequestCfg final : public ::google::protobuf::Message kMetadataFieldNumber = 13, kPathFieldNumber = 2, kRemotePathFieldNumber = 3, + kStorageClassFieldNumber = 12, kTaggingFieldNumber = 14, kLockedInfoFieldNumber = 9, kRemoteStorageTargetFieldNumber = 1, @@ -5431,9 +5427,10 @@ class JobRequestCfg final : public ::google::protobuf::Message kStubLocalFieldNumber = 5, kOverwriteFieldNumber = 6, kFlattenFieldNumber = 7, + kPriorityFieldNumber = 11, kForceFieldNumber = 8, kUpdateFieldNumber = 10, - kPriorityFieldNumber = 11, + kAllowRestoreFieldNumber = 15, }; // map metadata = 13; int metadata_size() const; @@ -5481,6 +5478,23 @@ class JobRequestCfg final : public ::google::protobuf::Message const std::string& value); std::string* _internal_mutable_remotepath(); + public: + // optional string storage_class = 12; + bool has_storage_class() const; + void clear_storage_class() ; + const std::string& storage_class() const; + template + void set_storage_class(Arg_&& arg, Args_... args); + std::string* mutable_storage_class(); + PROTOBUF_NODISCARD std::string* release_storage_class(); + void set_allocated_storage_class(std::string* value); + + private: + const std::string& _internal_storage_class() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_storage_class( + const std::string& value); + std::string* _internal_mutable_storage_class(); + public: // optional string tagging = 14; bool has_tagging() const; @@ -5563,6 +5577,17 @@ class JobRequestCfg final : public ::google::protobuf::Message bool _internal_flatten() const; void _internal_set_flatten(bool value); + public: + // optional int32 priority = 11; + bool has_priority() const; + void clear_priority() ; + ::int32_t priority() const; + void set_priority(::int32_t value); + + private: + ::int32_t _internal_priority() const; + void _internal_set_priority(::int32_t value); + public: // bool force = 8; void clear_force() ; @@ -5585,15 +5610,15 @@ class JobRequestCfg final : public ::google::protobuf::Message void _internal_set_update(bool value); public: - // optional int32 priority = 11; - bool has_priority() const; - void clear_priority() ; - ::int32_t priority() const; - void set_priority(::int32_t value); + // optional bool allow_restore = 15; + bool has_allow_restore() const; + void clear_allow_restore() ; + bool allow_restore() const; + void set_allow_restore(bool value); private: - ::int32_t _internal_priority() const; - void _internal_set_priority(::int32_t value); + bool _internal_allow_restore() const; + void _internal_set_allow_restore(bool value); public: // @@protoc_insertion_point(class_scope:flex.JobRequestCfg) @@ -5601,8 +5626,8 @@ class JobRequestCfg final : public ::google::protobuf::Message class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 4, 13, 2, - 64, 2> + 4, 15, 2, + 77, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -5627,6 +5652,7 @@ class JobRequestCfg final : public ::google::protobuf::Message metadata_; ::google::protobuf::internal::ArenaStringPtr path_; ::google::protobuf::internal::ArenaStringPtr remotepath_; + ::google::protobuf::internal::ArenaStringPtr storage_class_; ::google::protobuf::internal::ArenaStringPtr tagging_; ::flex::JobLockedInfo* locked_info_; ::uint32_t remotestoragetarget_; @@ -5634,9 +5660,10 @@ class JobRequestCfg final : public ::google::protobuf::Message bool stub_local_; bool overwrite_; bool flatten_; + ::int32_t priority_; bool force_; bool update_; - ::int32_t priority_; + bool allow_restore_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; @@ -5852,31 +5879,31 @@ class HeartbeatResponse final : public ::google::protobuf::Message }; // ------------------------------------------------------------------- -class UpdateConfigRequest final : public ::google::protobuf::Message -/* @@protoc_insertion_point(class_definition:flex.UpdateConfigRequest) */ { +class RemoteStorageTarget_Azure final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:flex.RemoteStorageTarget.Azure) */ { public: - inline UpdateConfigRequest() : UpdateConfigRequest(nullptr) {} - ~UpdateConfigRequest() PROTOBUF_FINAL; + inline RemoteStorageTarget_Azure() : RemoteStorageTarget_Azure(nullptr) {} + ~RemoteStorageTarget_Azure() PROTOBUF_FINAL; #if defined(PROTOBUF_CUSTOM_VTABLE) - void operator delete(UpdateConfigRequest* msg, std::destroying_delete_t) { + void operator delete(RemoteStorageTarget_Azure* msg, std::destroying_delete_t) { SharedDtor(*msg); - ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateConfigRequest)); + ::google::protobuf::internal::SizedDelete(msg, sizeof(RemoteStorageTarget_Azure)); } #endif template - explicit PROTOBUF_CONSTEXPR UpdateConfigRequest( + explicit PROTOBUF_CONSTEXPR RemoteStorageTarget_Azure( ::google::protobuf::internal::ConstantInitialized); - inline UpdateConfigRequest(const UpdateConfigRequest& from) : UpdateConfigRequest(nullptr, from) {} - inline UpdateConfigRequest(UpdateConfigRequest&& from) noexcept - : UpdateConfigRequest(nullptr, std::move(from)) {} - inline UpdateConfigRequest& operator=(const UpdateConfigRequest& from) { + inline RemoteStorageTarget_Azure(const RemoteStorageTarget_Azure& from) : RemoteStorageTarget_Azure(nullptr, from) {} + inline RemoteStorageTarget_Azure(RemoteStorageTarget_Azure&& from) noexcept + : RemoteStorageTarget_Azure(nullptr, std::move(from)) {} + inline RemoteStorageTarget_Azure& operator=(const RemoteStorageTarget_Azure& from) { CopyFrom(from); return *this; } - inline UpdateConfigRequest& operator=(UpdateConfigRequest&& from) noexcept { + inline RemoteStorageTarget_Azure& operator=(RemoteStorageTarget_Azure&& from) noexcept { if (this == &from) return *this; if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { InternalSwap(&from); @@ -5904,16 +5931,16 @@ class UpdateConfigRequest final : public ::google::protobuf::Message static const ::google::protobuf::Reflection* GetReflection() { return default_instance().GetMetadata().reflection; } - static const UpdateConfigRequest& default_instance() { + static const RemoteStorageTarget_Azure& default_instance() { return *internal_default_instance(); } - static inline const UpdateConfigRequest* internal_default_instance() { - return reinterpret_cast( - &_UpdateConfigRequest_default_instance_); + static inline const RemoteStorageTarget_Azure* internal_default_instance() { + return reinterpret_cast( + &_RemoteStorageTarget_Azure_default_instance_); } - static constexpr int kIndexInFileMessages = 21; - friend void swap(UpdateConfigRequest& a, UpdateConfigRequest& b) { a.Swap(&b); } - inline void Swap(UpdateConfigRequest* other) { + static constexpr int kIndexInFileMessages = 28; + friend void swap(RemoteStorageTarget_Azure& a, RemoteStorageTarget_Azure& b) { a.Swap(&b); } + inline void Swap(RemoteStorageTarget_Azure* other) { if (other == this) return; if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { InternalSwap(other); @@ -5921,7 +5948,7 @@ class UpdateConfigRequest final : public ::google::protobuf::Message ::google::protobuf::internal::GenericSwap(this, other); } } - void UnsafeArenaSwap(UpdateConfigRequest* other) { + void UnsafeArenaSwap(RemoteStorageTarget_Azure* other) { if (other == this) return; ABSL_DCHECK(GetArena() == other->GetArena()); InternalSwap(other); @@ -5929,13 +5956,13 @@ class UpdateConfigRequest final : public ::google::protobuf::Message // implements Message ---------------------------------------------- - UpdateConfigRequest* New(::google::protobuf::Arena* arena = nullptr) const { - return ::google::protobuf::Message::DefaultConstruct(arena); + RemoteStorageTarget_Azure* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); } using ::google::protobuf::Message::CopyFrom; - void CopyFrom(const UpdateConfigRequest& from); + void CopyFrom(const RemoteStorageTarget_Azure& from); using ::google::protobuf::Message::MergeFrom; - void MergeFrom(const UpdateConfigRequest& from) { UpdateConfigRequest::MergeImpl(*this, from); } + void MergeFrom(const RemoteStorageTarget_Azure& from) { RemoteStorageTarget_Azure::MergeImpl(*this, from); } private: static void MergeImpl( @@ -5972,18 +5999,18 @@ class UpdateConfigRequest final : public ::google::protobuf::Message private: void SharedCtor(::google::protobuf::Arena* arena); static void SharedDtor(MessageLite& self); - void InternalSwap(UpdateConfigRequest* other); + void InternalSwap(RemoteStorageTarget_Azure* other); private: template friend ::absl::string_view( ::google::protobuf::internal::GetAnyMessageName)(); - static ::absl::string_view FullMessageName() { return "flex.UpdateConfigRequest"; } + static ::absl::string_view FullMessageName() { return "flex.RemoteStorageTarget.Azure"; } protected: - explicit UpdateConfigRequest(::google::protobuf::Arena* arena); - UpdateConfigRequest(::google::protobuf::Arena* arena, const UpdateConfigRequest& from); - UpdateConfigRequest(::google::protobuf::Arena* arena, UpdateConfigRequest&& from) noexcept - : UpdateConfigRequest(arena) { + explicit RemoteStorageTarget_Azure(::google::protobuf::Arena* arena); + RemoteStorageTarget_Azure(::google::protobuf::Arena* arena, const RemoteStorageTarget_Azure& from); + RemoteStorageTarget_Azure(::google::protobuf::Arena* arena, RemoteStorageTarget_Azure&& from) noexcept + : RemoteStorageTarget_Azure(arena) { *this = ::std::move(from); } const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; @@ -5998,48 +6025,47 @@ class UpdateConfigRequest final : public ::google::protobuf::Message // accessors ------------------------------------------------------- enum : int { - kRstsFieldNumber = 2, - kBeeRemoteFieldNumber = 1, + kAccountFieldNumber = 2, + kS3FieldNumber = 1, }; - // repeated .flex.RemoteStorageTarget rsts = 2; - int rsts_size() const; - private: - int _internal_rsts_size() const; - - public: - void clear_rsts() ; - ::flex::RemoteStorageTarget* mutable_rsts(int index); - ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>* mutable_rsts(); + // string account = 2; + void clear_account() ; + const std::string& account() const; + template + void set_account(Arg_&& arg, Args_... args); + std::string* mutable_account(); + PROTOBUF_NODISCARD std::string* release_account(); + void set_allocated_account(std::string* value); private: - const ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>& _internal_rsts() const; - ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>* _internal_mutable_rsts(); + const std::string& _internal_account() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_account( + const std::string& value); + std::string* _internal_mutable_account(); + public: - const ::flex::RemoteStorageTarget& rsts(int index) const; - ::flex::RemoteStorageTarget* add_rsts(); - const ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>& rsts() const; - // .flex.BeeRemoteNode bee_remote = 1; - bool has_bee_remote() const; - void clear_bee_remote() ; - const ::flex::BeeRemoteNode& bee_remote() const; - PROTOBUF_NODISCARD ::flex::BeeRemoteNode* release_bee_remote(); - ::flex::BeeRemoteNode* mutable_bee_remote(); - void set_allocated_bee_remote(::flex::BeeRemoteNode* value); - void unsafe_arena_set_allocated_bee_remote(::flex::BeeRemoteNode* value); - ::flex::BeeRemoteNode* unsafe_arena_release_bee_remote(); + // .flex.RemoteStorageTarget.S3 s3 = 1; + bool has_s3() const; + void clear_s3() ; + const ::flex::RemoteStorageTarget_S3& s3() const; + PROTOBUF_NODISCARD ::flex::RemoteStorageTarget_S3* release_s3(); + ::flex::RemoteStorageTarget_S3* mutable_s3(); + void set_allocated_s3(::flex::RemoteStorageTarget_S3* value); + void unsafe_arena_set_allocated_s3(::flex::RemoteStorageTarget_S3* value); + ::flex::RemoteStorageTarget_S3* unsafe_arena_release_s3(); private: - const ::flex::BeeRemoteNode& _internal_bee_remote() const; - ::flex::BeeRemoteNode* _internal_mutable_bee_remote(); + const ::flex::RemoteStorageTarget_S3& _internal_s3() const; + ::flex::RemoteStorageTarget_S3* _internal_mutable_s3(); public: - // @@protoc_insertion_point(class_scope:flex.UpdateConfigRequest) + // @@protoc_insertion_point(class_scope:flex.RemoteStorageTarget.Azure) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 1, 2, 2, - 0, 2> + 1, 2, 1, + 46, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -6055,11 +6081,11 @@ class UpdateConfigRequest final : public ::google::protobuf::Message ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from, - const UpdateConfigRequest& from_msg); + const RemoteStorageTarget_Azure& from_msg); ::google::protobuf::internal::HasBits<1> _has_bits_; ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::RepeatedPtrField< ::flex::RemoteStorageTarget > rsts_; - ::flex::BeeRemoteNode* bee_remote_; + ::google::protobuf::internal::ArenaStringPtr account_; + ::flex::RemoteStorageTarget_S3* s3_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; @@ -6481,6 +6507,8 @@ class BuilderJob final : public ::google::protobuf::Message // accessors ------------------------------------------------------- enum : int { kCfgFieldNumber = 1, + kSubmittedFieldNumber = 2, + kErrorsFieldNumber = 3, }; // .flex.JobRequestCfg cfg = 1; bool has_cfg() const; @@ -6496,13 +6524,33 @@ class BuilderJob final : public ::google::protobuf::Message const ::flex::JobRequestCfg& _internal_cfg() const; ::flex::JobRequestCfg* _internal_mutable_cfg(); + public: + // int32 submitted = 2; + void clear_submitted() ; + ::int32_t submitted() const; + void set_submitted(::int32_t value); + + private: + ::int32_t _internal_submitted() const; + void _internal_set_submitted(::int32_t value); + + public: + // int32 errors = 3; + void clear_errors() ; + ::int32_t errors() const; + void set_errors(::int32_t value); + + private: + ::int32_t _internal_errors() const; + void _internal_set_errors(::int32_t value); + public: // @@protoc_insertion_point(class_scope:flex.BuilderJob) private: class _Internal; friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 0, 1, 1, + 2, 3, 1, 0, 2> _table_; @@ -6523,6 +6571,8 @@ class BuilderJob final : public ::google::protobuf::Message ::google::protobuf::internal::HasBits<1> _has_bits_; ::google::protobuf::internal::CachedSize _cached_size_; ::flex::JobRequestCfg* cfg_; + ::int32_t submitted_; + ::int32_t errors_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; @@ -6849,33 +6899,594 @@ class WorkRequest final : public ::google::protobuf::Message bool _internal_has_builder() const; public: - void clear_builder() ; - const ::flex::BuilderJob& builder() const; - PROTOBUF_NODISCARD ::flex::BuilderJob* release_builder(); - ::flex::BuilderJob* mutable_builder(); - void set_allocated_builder(::flex::BuilderJob* value); - void unsafe_arena_set_allocated_builder(::flex::BuilderJob* value); - ::flex::BuilderJob* unsafe_arena_release_builder(); + void clear_builder() ; + const ::flex::BuilderJob& builder() const; + PROTOBUF_NODISCARD ::flex::BuilderJob* release_builder(); + ::flex::BuilderJob* mutable_builder(); + void set_allocated_builder(::flex::BuilderJob* value); + void unsafe_arena_set_allocated_builder(::flex::BuilderJob* value); + ::flex::BuilderJob* unsafe_arena_release_builder(); + + private: + const ::flex::BuilderJob& _internal_builder() const; + ::flex::BuilderJob* _internal_mutable_builder(); + + public: + void clear_Type(); + TypeCase Type_case() const; + // @@protoc_insertion_point(class_scope:flex.WorkRequest) + private: + class _Internal; + void set_has_mock(); + void set_has_sync(); + void set_has_builder(); + inline bool has_Type() const; + inline void clear_has_Type(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 4, 11, 4, + 64, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const WorkRequest& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr job_id_; + ::google::protobuf::internal::ArenaStringPtr request_id_; + ::google::protobuf::internal::ArenaStringPtr external_id_; + ::google::protobuf::internal::ArenaStringPtr path_; + ::flex::WorkRequest_Segment* segment_; + ::uint32_t remote_storage_target_; + bool stub_local_; + ::int32_t priority_; + union TypeUnion { + constexpr TypeUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::flex::MockJob* mock_; + ::flex::SyncJob* sync_; + ::flex::BuilderJob* builder_; + } Type_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_flex_2eproto; +}; +// ------------------------------------------------------------------- + +class RemoteStorageTarget final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:flex.RemoteStorageTarget) */ { + public: + inline RemoteStorageTarget() : RemoteStorageTarget(nullptr) {} + ~RemoteStorageTarget() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(RemoteStorageTarget* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(RemoteStorageTarget)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR RemoteStorageTarget( + ::google::protobuf::internal::ConstantInitialized); + + inline RemoteStorageTarget(const RemoteStorageTarget& from) : RemoteStorageTarget(nullptr, from) {} + inline RemoteStorageTarget(RemoteStorageTarget&& from) noexcept + : RemoteStorageTarget(nullptr, std::move(from)) {} + inline RemoteStorageTarget& operator=(const RemoteStorageTarget& from) { + CopyFrom(from); + return *this; + } + inline RemoteStorageTarget& operator=(RemoteStorageTarget&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const RemoteStorageTarget& default_instance() { + return *internal_default_instance(); + } + enum TypeCase { + kS3 = 4, + kPosix = 5, + kAzure = 6, + kMock = 7, + TYPE_NOT_SET = 0, + }; + static inline const RemoteStorageTarget* internal_default_instance() { + return reinterpret_cast( + &_RemoteStorageTarget_default_instance_); + } + static constexpr int kIndexInFileMessages = 30; + friend void swap(RemoteStorageTarget& a, RemoteStorageTarget& b) { a.Swap(&b); } + inline void Swap(RemoteStorageTarget* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(RemoteStorageTarget* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + RemoteStorageTarget* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const RemoteStorageTarget& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const RemoteStorageTarget& from) { RemoteStorageTarget::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(RemoteStorageTarget* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "flex.RemoteStorageTarget"; } + + protected: + explicit RemoteStorageTarget(::google::protobuf::Arena* arena); + RemoteStorageTarget(::google::protobuf::Arena* arena, const RemoteStorageTarget& from); + RemoteStorageTarget(::google::protobuf::Arena* arena, RemoteStorageTarget&& from) noexcept + : RemoteStorageTarget(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + using Policies = RemoteStorageTarget_Policies; + using S3 = RemoteStorageTarget_S3; + using Azure = RemoteStorageTarget_Azure; + using POSIX = RemoteStorageTarget_POSIX; + + // accessors ------------------------------------------------------- + enum : int { + kNameFieldNumber = 2, + kPoliciesFieldNumber = 3, + kIdFieldNumber = 1, + kS3FieldNumber = 4, + kPosixFieldNumber = 5, + kAzureFieldNumber = 6, + kMockFieldNumber = 7, + }; + // string name = 2; + void clear_name() ; + const std::string& name() const; + template + void set_name(Arg_&& arg, Args_... args); + std::string* mutable_name(); + PROTOBUF_NODISCARD std::string* release_name(); + void set_allocated_name(std::string* value); + + private: + const std::string& _internal_name() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_name( + const std::string& value); + std::string* _internal_mutable_name(); + + public: + // .flex.RemoteStorageTarget.Policies policies = 3; + bool has_policies() const; + void clear_policies() ; + const ::flex::RemoteStorageTarget_Policies& policies() const; + PROTOBUF_NODISCARD ::flex::RemoteStorageTarget_Policies* release_policies(); + ::flex::RemoteStorageTarget_Policies* mutable_policies(); + void set_allocated_policies(::flex::RemoteStorageTarget_Policies* value); + void unsafe_arena_set_allocated_policies(::flex::RemoteStorageTarget_Policies* value); + ::flex::RemoteStorageTarget_Policies* unsafe_arena_release_policies(); + + private: + const ::flex::RemoteStorageTarget_Policies& _internal_policies() const; + ::flex::RemoteStorageTarget_Policies* _internal_mutable_policies(); + + public: + // uint32 id = 1; + void clear_id() ; + ::uint32_t id() const; + void set_id(::uint32_t value); + + private: + ::uint32_t _internal_id() const; + void _internal_set_id(::uint32_t value); + + public: + // .flex.RemoteStorageTarget.S3 s3 = 4; + bool has_s3() const; + private: + bool _internal_has_s3() const; + + public: + void clear_s3() ; + const ::flex::RemoteStorageTarget_S3& s3() const; + PROTOBUF_NODISCARD ::flex::RemoteStorageTarget_S3* release_s3(); + ::flex::RemoteStorageTarget_S3* mutable_s3(); + void set_allocated_s3(::flex::RemoteStorageTarget_S3* value); + void unsafe_arena_set_allocated_s3(::flex::RemoteStorageTarget_S3* value); + ::flex::RemoteStorageTarget_S3* unsafe_arena_release_s3(); + + private: + const ::flex::RemoteStorageTarget_S3& _internal_s3() const; + ::flex::RemoteStorageTarget_S3* _internal_mutable_s3(); + + public: + // .flex.RemoteStorageTarget.POSIX posix = 5; + bool has_posix() const; + private: + bool _internal_has_posix() const; + + public: + void clear_posix() ; + const ::flex::RemoteStorageTarget_POSIX& posix() const; + PROTOBUF_NODISCARD ::flex::RemoteStorageTarget_POSIX* release_posix(); + ::flex::RemoteStorageTarget_POSIX* mutable_posix(); + void set_allocated_posix(::flex::RemoteStorageTarget_POSIX* value); + void unsafe_arena_set_allocated_posix(::flex::RemoteStorageTarget_POSIX* value); + ::flex::RemoteStorageTarget_POSIX* unsafe_arena_release_posix(); + + private: + const ::flex::RemoteStorageTarget_POSIX& _internal_posix() const; + ::flex::RemoteStorageTarget_POSIX* _internal_mutable_posix(); + + public: + // .flex.RemoteStorageTarget.Azure azure = 6; + bool has_azure() const; + private: + bool _internal_has_azure() const; + + public: + void clear_azure() ; + const ::flex::RemoteStorageTarget_Azure& azure() const; + PROTOBUF_NODISCARD ::flex::RemoteStorageTarget_Azure* release_azure(); + ::flex::RemoteStorageTarget_Azure* mutable_azure(); + void set_allocated_azure(::flex::RemoteStorageTarget_Azure* value); + void unsafe_arena_set_allocated_azure(::flex::RemoteStorageTarget_Azure* value); + ::flex::RemoteStorageTarget_Azure* unsafe_arena_release_azure(); + + private: + const ::flex::RemoteStorageTarget_Azure& _internal_azure() const; + ::flex::RemoteStorageTarget_Azure* _internal_mutable_azure(); + + public: + // string mock = 7; + bool has_mock() const; + void clear_mock() ; + const std::string& mock() const; + template + void set_mock(Arg_&& arg, Args_... args); + std::string* mutable_mock(); + PROTOBUF_NODISCARD std::string* release_mock(); + void set_allocated_mock(std::string* value); + + private: + const std::string& _internal_mock() const; + inline PROTOBUF_ALWAYS_INLINE void _internal_set_mock( + const std::string& value); + std::string* _internal_mutable_mock(); + + public: + void clear_type(); + TypeCase type_case() const; + // @@protoc_insertion_point(class_scope:flex.RemoteStorageTarget) + private: + class _Internal; + void set_has_s3(); + void set_has_posix(); + void set_has_azure(); + void set_has_mock(); + inline bool has_type() const; + inline void clear_has_type(); + friend class ::google::protobuf::internal::TcParser; + static const ::google::protobuf::internal::TcParseTable< + 2, 7, 4, + 41, 2> + _table_; + + friend class ::google::protobuf::MessageLite; + friend class ::google::protobuf::Arena; + template + friend class ::google::protobuf::Arena::InternalHelper; + using InternalArenaConstructable_ = void; + using DestructorSkippable_ = void; + struct Impl_ { + inline explicit constexpr Impl_( + ::google::protobuf::internal::ConstantInitialized) noexcept; + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena); + inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, + ::google::protobuf::Arena* arena, const Impl_& from, + const RemoteStorageTarget& from_msg); + ::google::protobuf::internal::HasBits<1> _has_bits_; + ::google::protobuf::internal::CachedSize _cached_size_; + ::google::protobuf::internal::ArenaStringPtr name_; + ::flex::RemoteStorageTarget_Policies* policies_; + ::uint32_t id_; + union TypeUnion { + constexpr TypeUnion() : _constinit_{} {} + ::google::protobuf::internal::ConstantInitialized _constinit_; + ::flex::RemoteStorageTarget_S3* s3_; + ::flex::RemoteStorageTarget_POSIX* posix_; + ::flex::RemoteStorageTarget_Azure* azure_; + ::google::protobuf::internal::ArenaStringPtr mock_; + } type_; + ::uint32_t _oneof_case_[1]; + PROTOBUF_TSAN_DECLARE_MEMBER + }; + union { Impl_ _impl_; }; + friend struct ::TableStruct_flex_2eproto; +}; +// ------------------------------------------------------------------- + +class UpdateConfigRequest final : public ::google::protobuf::Message +/* @@protoc_insertion_point(class_definition:flex.UpdateConfigRequest) */ { + public: + inline UpdateConfigRequest() : UpdateConfigRequest(nullptr) {} + ~UpdateConfigRequest() PROTOBUF_FINAL; + +#if defined(PROTOBUF_CUSTOM_VTABLE) + void operator delete(UpdateConfigRequest* msg, std::destroying_delete_t) { + SharedDtor(*msg); + ::google::protobuf::internal::SizedDelete(msg, sizeof(UpdateConfigRequest)); + } +#endif + + template + explicit PROTOBUF_CONSTEXPR UpdateConfigRequest( + ::google::protobuf::internal::ConstantInitialized); + + inline UpdateConfigRequest(const UpdateConfigRequest& from) : UpdateConfigRequest(nullptr, from) {} + inline UpdateConfigRequest(UpdateConfigRequest&& from) noexcept + : UpdateConfigRequest(nullptr, std::move(from)) {} + inline UpdateConfigRequest& operator=(const UpdateConfigRequest& from) { + CopyFrom(from); + return *this; + } + inline UpdateConfigRequest& operator=(UpdateConfigRequest&& from) noexcept { + if (this == &from) return *this; + if (::google::protobuf::internal::CanMoveWithInternalSwap(GetArena(), from.GetArena())) { + InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + + inline const ::google::protobuf::UnknownFieldSet& unknown_fields() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.unknown_fields<::google::protobuf::UnknownFieldSet>(::google::protobuf::UnknownFieldSet::default_instance); + } + inline ::google::protobuf::UnknownFieldSet* mutable_unknown_fields() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + return _internal_metadata_.mutable_unknown_fields<::google::protobuf::UnknownFieldSet>(); + } + + static const ::google::protobuf::Descriptor* descriptor() { + return GetDescriptor(); + } + static const ::google::protobuf::Descriptor* GetDescriptor() { + return default_instance().GetMetadata().descriptor; + } + static const ::google::protobuf::Reflection* GetReflection() { + return default_instance().GetMetadata().reflection; + } + static const UpdateConfigRequest& default_instance() { + return *internal_default_instance(); + } + static inline const UpdateConfigRequest* internal_default_instance() { + return reinterpret_cast( + &_UpdateConfigRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = 21; + friend void swap(UpdateConfigRequest& a, UpdateConfigRequest& b) { a.Swap(&b); } + inline void Swap(UpdateConfigRequest* other) { + if (other == this) return; + if (::google::protobuf::internal::CanUseInternalSwap(GetArena(), other->GetArena())) { + InternalSwap(other); + } else { + ::google::protobuf::internal::GenericSwap(this, other); + } + } + void UnsafeArenaSwap(UpdateConfigRequest* other) { + if (other == this) return; + ABSL_DCHECK(GetArena() == other->GetArena()); + InternalSwap(other); + } + + // implements Message ---------------------------------------------- + + UpdateConfigRequest* New(::google::protobuf::Arena* arena = nullptr) const { + return ::google::protobuf::Message::DefaultConstruct(arena); + } + using ::google::protobuf::Message::CopyFrom; + void CopyFrom(const UpdateConfigRequest& from); + using ::google::protobuf::Message::MergeFrom; + void MergeFrom(const UpdateConfigRequest& from) { UpdateConfigRequest::MergeImpl(*this, from); } + + private: + static void MergeImpl( + ::google::protobuf::MessageLite& to_msg, + const ::google::protobuf::MessageLite& from_msg); + + public: + bool IsInitialized() const { + return true; + } + ABSL_ATTRIBUTE_REINITIALIZES void Clear() PROTOBUF_FINAL; + #if defined(PROTOBUF_CUSTOM_VTABLE) + private: + static ::size_t ByteSizeLong(const ::google::protobuf::MessageLite& msg); + static ::uint8_t* _InternalSerialize( + const MessageLite& msg, ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream); + + public: + ::size_t ByteSizeLong() const { return ByteSizeLong(*this); } + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const { + return _InternalSerialize(*this, target, stream); + } + #else // PROTOBUF_CUSTOM_VTABLE + ::size_t ByteSizeLong() const final; + ::uint8_t* _InternalSerialize( + ::uint8_t* target, + ::google::protobuf::io::EpsCopyOutputStream* stream) const final; + #endif // PROTOBUF_CUSTOM_VTABLE + int GetCachedSize() const { return _impl_._cached_size_.Get(); } + + private: + void SharedCtor(::google::protobuf::Arena* arena); + static void SharedDtor(MessageLite& self); + void InternalSwap(UpdateConfigRequest* other); + private: + template + friend ::absl::string_view( + ::google::protobuf::internal::GetAnyMessageName)(); + static ::absl::string_view FullMessageName() { return "flex.UpdateConfigRequest"; } + + protected: + explicit UpdateConfigRequest(::google::protobuf::Arena* arena); + UpdateConfigRequest(::google::protobuf::Arena* arena, const UpdateConfigRequest& from); + UpdateConfigRequest(::google::protobuf::Arena* arena, UpdateConfigRequest&& from) noexcept + : UpdateConfigRequest(arena) { + *this = ::std::move(from); + } + const ::google::protobuf::internal::ClassData* GetClassData() const PROTOBUF_FINAL; + static void* PlacementNew_(const void*, void* mem, + ::google::protobuf::Arena* arena); + static constexpr auto InternalNewImpl_(); + static const ::google::protobuf::internal::ClassDataFull _class_data_; + + public: + ::google::protobuf::Metadata GetMetadata() const; + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + enum : int { + kRstsFieldNumber = 2, + kBeeRemoteFieldNumber = 1, + }; + // repeated .flex.RemoteStorageTarget rsts = 2; + int rsts_size() const; + private: + int _internal_rsts_size() const; + + public: + void clear_rsts() ; + ::flex::RemoteStorageTarget* mutable_rsts(int index); + ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>* mutable_rsts(); + + private: + const ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>& _internal_rsts() const; + ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>* _internal_mutable_rsts(); + public: + const ::flex::RemoteStorageTarget& rsts(int index) const; + ::flex::RemoteStorageTarget* add_rsts(); + const ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget>& rsts() const; + // .flex.BeeRemoteNode bee_remote = 1; + bool has_bee_remote() const; + void clear_bee_remote() ; + const ::flex::BeeRemoteNode& bee_remote() const; + PROTOBUF_NODISCARD ::flex::BeeRemoteNode* release_bee_remote(); + ::flex::BeeRemoteNode* mutable_bee_remote(); + void set_allocated_bee_remote(::flex::BeeRemoteNode* value); + void unsafe_arena_set_allocated_bee_remote(::flex::BeeRemoteNode* value); + ::flex::BeeRemoteNode* unsafe_arena_release_bee_remote(); private: - const ::flex::BuilderJob& _internal_builder() const; - ::flex::BuilderJob* _internal_mutable_builder(); + const ::flex::BeeRemoteNode& _internal_bee_remote() const; + ::flex::BeeRemoteNode* _internal_mutable_bee_remote(); public: - void clear_Type(); - TypeCase Type_case() const; - // @@protoc_insertion_point(class_scope:flex.WorkRequest) + // @@protoc_insertion_point(class_scope:flex.UpdateConfigRequest) private: class _Internal; - void set_has_mock(); - void set_has_sync(); - void set_has_builder(); - inline bool has_Type() const; - inline void clear_has_Type(); friend class ::google::protobuf::internal::TcParser; static const ::google::protobuf::internal::TcParseTable< - 4, 11, 4, - 64, 2> + 1, 2, 2, + 0, 2> _table_; friend class ::google::protobuf::MessageLite; @@ -6891,25 +7502,11 @@ class WorkRequest final : public ::google::protobuf::Message ::google::protobuf::Arena* arena); inline explicit Impl_(::google::protobuf::internal::InternalVisibility visibility, ::google::protobuf::Arena* arena, const Impl_& from, - const WorkRequest& from_msg); + const UpdateConfigRequest& from_msg); ::google::protobuf::internal::HasBits<1> _has_bits_; ::google::protobuf::internal::CachedSize _cached_size_; - ::google::protobuf::internal::ArenaStringPtr job_id_; - ::google::protobuf::internal::ArenaStringPtr request_id_; - ::google::protobuf::internal::ArenaStringPtr external_id_; - ::google::protobuf::internal::ArenaStringPtr path_; - ::flex::WorkRequest_Segment* segment_; - ::uint32_t remote_storage_target_; - bool stub_local_; - ::int32_t priority_; - union TypeUnion { - constexpr TypeUnion() : _constinit_{} {} - ::google::protobuf::internal::ConstantInitialized _constinit_; - ::flex::MockJob* mock_; - ::flex::SyncJob* sync_; - ::flex::BuilderJob* builder_; - } Type_; - ::uint32_t _oneof_case_[1]; + ::google::protobuf::RepeatedPtrField< ::flex::RemoteStorageTarget > rsts_; + ::flex::BeeRemoteNode* bee_remote_; PROTOBUF_TSAN_DECLARE_MEMBER }; union { Impl_ _impl_; }; @@ -8325,6 +8922,28 @@ inline void JobLockedInfo::set_allocated_externalid(std::string* value) { // @@protoc_insertion_point(field_set_allocated:flex.JobLockedInfo.externalId) } +// bool is_archived = 11; +inline void JobLockedInfo::clear_is_archived() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.is_archived_ = false; +} +inline bool JobLockedInfo::is_archived() const { + // @@protoc_insertion_point(field_get:flex.JobLockedInfo.is_archived) + return _internal_is_archived(); +} +inline void JobLockedInfo::set_is_archived(bool value) { + _internal_set_is_archived(value); + // @@protoc_insertion_point(field_set:flex.JobLockedInfo.is_archived) +} +inline bool JobLockedInfo::_internal_is_archived() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.is_archived_; +} +inline void JobLockedInfo::_internal_set_is_archived(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.is_archived_ = value; +} + // ------------------------------------------------------------------- // ------------------------------------------------------------------- @@ -8561,14 +9180,14 @@ inline void JobRequestCfg::_internal_set_force(bool value) { // .flex.JobLockedInfo locked_info = 9; inline bool JobRequestCfg::has_locked_info() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; PROTOBUF_ASSUME(!value || _impl_.locked_info_ != nullptr); return value; } inline void JobRequestCfg::clear_locked_info() { ::google::protobuf::internal::TSanWrite(&_impl_); if (_impl_.locked_info_ != nullptr) _impl_.locked_info_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; } inline const ::flex::JobLockedInfo& JobRequestCfg::_internal_locked_info() const { ::google::protobuf::internal::TSanRead(&_impl_); @@ -8586,16 +9205,16 @@ inline void JobRequestCfg::unsafe_arena_set_allocated_locked_info(::flex::JobLoc } _impl_.locked_info_ = reinterpret_cast<::flex::JobLockedInfo*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flex.JobRequestCfg.locked_info) } inline ::flex::JobLockedInfo* JobRequestCfg::release_locked_info() { ::google::protobuf::internal::TSanWrite(&_impl_); - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; ::flex::JobLockedInfo* released = _impl_.locked_info_; _impl_.locked_info_ = nullptr; if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { @@ -8615,7 +9234,7 @@ inline ::flex::JobLockedInfo* JobRequestCfg::unsafe_arena_release_locked_info() ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:flex.JobRequestCfg.locked_info) - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; ::flex::JobLockedInfo* temp = _impl_.locked_info_; _impl_.locked_info_ = nullptr; return temp; @@ -8629,7 +9248,7 @@ inline ::flex::JobLockedInfo* JobRequestCfg::_internal_mutable_locked_info() { return _impl_.locked_info_; } inline ::flex::JobLockedInfo* JobRequestCfg::mutable_locked_info() ABSL_ATTRIBUTE_LIFETIME_BOUND { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000004u; ::flex::JobLockedInfo* _msg = _internal_mutable_locked_info(); // @@protoc_insertion_point(field_mutable:flex.JobRequestCfg.locked_info) return _msg; @@ -8646,9 +9265,9 @@ inline void JobRequestCfg::set_allocated_locked_info(::flex::JobLockedInfo* valu if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; } _impl_.locked_info_ = reinterpret_cast<::flex::JobLockedInfo*>(value); @@ -8657,13 +9276,13 @@ inline void JobRequestCfg::set_allocated_locked_info(::flex::JobLockedInfo* valu // optional bool update = 10; inline bool JobRequestCfg::has_update() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; return value; } inline void JobRequestCfg::clear_update() { ::google::protobuf::internal::TSanWrite(&_impl_); _impl_.update_ = false; - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000010u; } inline bool JobRequestCfg::update() const { // @@protoc_insertion_point(field_get:flex.JobRequestCfg.update) @@ -8671,7 +9290,7 @@ inline bool JobRequestCfg::update() const { } inline void JobRequestCfg::set_update(bool value) { _internal_set_update(value); - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000010u; // @@protoc_insertion_point(field_set:flex.JobRequestCfg.update) } inline bool JobRequestCfg::_internal_update() const { @@ -8713,13 +9332,13 @@ inline ::google::protobuf::Map* JobRequestCfg::mutable // optional string tagging = 14; inline bool JobRequestCfg::has_tagging() const { - bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; return value; } inline void JobRequestCfg::clear_tagging() { ::google::protobuf::internal::TSanWrite(&_impl_); _impl_.tagging_.ClearToEmpty(); - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } inline const std::string& JobRequestCfg::tagging() const ABSL_ATTRIBUTE_LIFETIME_BOUND { @@ -8730,7 +9349,7 @@ template inline PROTOBUF_ALWAYS_INLINE void JobRequestCfg::set_tagging(Arg_&& arg, Args_... args) { ::google::protobuf::internal::TSanWrite(&_impl_); - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; _impl_.tagging_.Set(static_cast(arg), args..., GetArena()); // @@protoc_insertion_point(field_set:flex.JobRequestCfg.tagging) } @@ -8745,21 +9364,21 @@ inline const std::string& JobRequestCfg::_internal_tagging() const { } inline void JobRequestCfg::_internal_set_tagging(const std::string& value) { ::google::protobuf::internal::TSanWrite(&_impl_); - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; _impl_.tagging_.Set(value, GetArena()); } inline std::string* JobRequestCfg::_internal_mutable_tagging() { ::google::protobuf::internal::TSanWrite(&_impl_); - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; return _impl_.tagging_.Mutable( GetArena()); } inline std::string* JobRequestCfg::release_tagging() { ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:flex.JobRequestCfg.tagging) - if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { + if ((_impl_._has_bits_[0] & 0x00000002u) == 0) { return nullptr; } - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; auto* released = _impl_.tagging_.Release(); if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { _impl_.tagging_.Set("", GetArena()); @@ -8769,9 +9388,9 @@ inline std::string* JobRequestCfg::release_tagging() { inline void JobRequestCfg::set_allocated_tagging(std::string* value) { ::google::protobuf::internal::TSanWrite(&_impl_); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } _impl_.tagging_.SetAllocated(value, GetArena()); if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.tagging_.IsDefault()) { @@ -8808,6 +9427,103 @@ inline void JobRequestCfg::_internal_set_priority(::int32_t value) { _impl_.priority_ = value; } +// optional string storage_class = 12; +inline bool JobRequestCfg::has_storage_class() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + return value; +} +inline void JobRequestCfg::clear_storage_class() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.storage_class_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const std::string& JobRequestCfg::storage_class() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:flex.JobRequestCfg.storage_class) + return _internal_storage_class(); +} +template +inline PROTOBUF_ALWAYS_INLINE void JobRequestCfg::set_storage_class(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_._has_bits_[0] |= 0x00000001u; + _impl_.storage_class_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:flex.JobRequestCfg.storage_class) +} +inline std::string* JobRequestCfg::mutable_storage_class() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_storage_class(); + // @@protoc_insertion_point(field_mutable:flex.JobRequestCfg.storage_class) + return _s; +} +inline const std::string& JobRequestCfg::_internal_storage_class() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.storage_class_.Get(); +} +inline void JobRequestCfg::_internal_set_storage_class(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_._has_bits_[0] |= 0x00000001u; + _impl_.storage_class_.Set(value, GetArena()); +} +inline std::string* JobRequestCfg::_internal_mutable_storage_class() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_._has_bits_[0] |= 0x00000001u; + return _impl_.storage_class_.Mutable( GetArena()); +} +inline std::string* JobRequestCfg::release_storage_class() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:flex.JobRequestCfg.storage_class) + if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000001u; + auto* released = _impl_.storage_class_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.storage_class_.Set("", GetArena()); + } + return released; +} +inline void JobRequestCfg::set_allocated_storage_class(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + _impl_.storage_class_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.storage_class_.IsDefault()) { + _impl_.storage_class_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:flex.JobRequestCfg.storage_class) +} + +// optional bool allow_restore = 15; +inline bool JobRequestCfg::has_allow_restore() const { + bool value = (_impl_._has_bits_[0] & 0x00000020u) != 0; + return value; +} +inline void JobRequestCfg::clear_allow_restore() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.allow_restore_ = false; + _impl_._has_bits_[0] &= ~0x00000020u; +} +inline bool JobRequestCfg::allow_restore() const { + // @@protoc_insertion_point(field_get:flex.JobRequestCfg.allow_restore) + return _internal_allow_restore(); +} +inline void JobRequestCfg::set_allow_restore(bool value) { + _internal_set_allow_restore(value); + _impl_._has_bits_[0] |= 0x00000020u; + // @@protoc_insertion_point(field_set:flex.JobRequestCfg.allow_restore) +} +inline bool JobRequestCfg::_internal_allow_restore() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.allow_restore_; +} +inline void JobRequestCfg::_internal_set_allow_restore(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.allow_restore_ = value; +} + // ------------------------------------------------------------------- // WorkRequest_Segment @@ -9610,6 +10326,50 @@ inline void BuilderJob::set_allocated_cfg(::flex::JobRequestCfg* value) { // @@protoc_insertion_point(field_set_allocated:flex.BuilderJob.cfg) } +// int32 submitted = 2; +inline void BuilderJob::clear_submitted() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.submitted_ = 0; +} +inline ::int32_t BuilderJob::submitted() const { + // @@protoc_insertion_point(field_get:flex.BuilderJob.submitted) + return _internal_submitted(); +} +inline void BuilderJob::set_submitted(::int32_t value) { + _internal_set_submitted(value); + // @@protoc_insertion_point(field_set:flex.BuilderJob.submitted) +} +inline ::int32_t BuilderJob::_internal_submitted() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.submitted_; +} +inline void BuilderJob::_internal_set_submitted(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.submitted_ = value; +} + +// int32 errors = 3; +inline void BuilderJob::clear_errors() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.errors_ = 0; +} +inline ::int32_t BuilderJob::errors() const { + // @@protoc_insertion_point(field_get:flex.BuilderJob.errors) + return _internal_errors(); +} +inline void BuilderJob::set_errors(::int32_t value) { + _internal_set_errors(value); + // @@protoc_insertion_point(field_set:flex.BuilderJob.errors) +} +inline ::int32_t BuilderJob::_internal_errors() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.errors_; +} +inline void BuilderJob::_internal_set_errors(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.errors_ = value; +} + // ------------------------------------------------------------------- // MockJob @@ -10042,14 +10802,14 @@ inline void SyncJob::_internal_set_flatten(bool value) { // .flex.JobLockedInfo locked_info = 6; inline bool SyncJob::has_locked_info() const { - bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; PROTOBUF_ASSUME(!value || _impl_.locked_info_ != nullptr); return value; } inline void SyncJob::clear_locked_info() { ::google::protobuf::internal::TSanWrite(&_impl_); if (_impl_.locked_info_ != nullptr) _impl_.locked_info_->Clear(); - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; } inline const ::flex::JobLockedInfo& SyncJob::_internal_locked_info() const { ::google::protobuf::internal::TSanRead(&_impl_); @@ -10067,16 +10827,16 @@ inline void SyncJob::unsafe_arena_set_allocated_locked_info(::flex::JobLockedInf } _impl_.locked_info_ = reinterpret_cast<::flex::JobLockedInfo*>(value); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; } // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flex.SyncJob.locked_info) } inline ::flex::JobLockedInfo* SyncJob::release_locked_info() { ::google::protobuf::internal::TSanWrite(&_impl_); - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; ::flex::JobLockedInfo* released = _impl_.locked_info_; _impl_.locked_info_ = nullptr; if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { @@ -10096,7 +10856,7 @@ inline ::flex::JobLockedInfo* SyncJob::unsafe_arena_release_locked_info() { ::google::protobuf::internal::TSanWrite(&_impl_); // @@protoc_insertion_point(field_release:flex.SyncJob.locked_info) - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; ::flex::JobLockedInfo* temp = _impl_.locked_info_; _impl_.locked_info_ = nullptr; return temp; @@ -10110,7 +10870,7 @@ inline ::flex::JobLockedInfo* SyncJob::_internal_mutable_locked_info() { return _impl_.locked_info_; } inline ::flex::JobLockedInfo* SyncJob::mutable_locked_info() ABSL_ATTRIBUTE_LIFETIME_BOUND { - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000004u; ::flex::JobLockedInfo* _msg = _internal_mutable_locked_info(); // @@protoc_insertion_point(field_mutable:flex.SyncJob.locked_info) return _msg; @@ -10127,9 +10887,9 @@ inline void SyncJob::set_allocated_locked_info(::flex::JobLockedInfo* value) { if (message_arena != submessage_arena) { value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); } - _impl_._has_bits_[0] |= 0x00000002u; + _impl_._has_bits_[0] |= 0x00000004u; } else { - _impl_._has_bits_[0] &= ~0x00000002u; + _impl_._has_bits_[0] &= ~0x00000004u; } _impl_.locked_info_ = reinterpret_cast<::flex::JobLockedInfo*>(value); @@ -10138,13 +10898,13 @@ inline void SyncJob::set_allocated_locked_info(::flex::JobLockedInfo* value) { // optional bool update = 7; inline bool SyncJob::has_update() const { - bool value = (_impl_._has_bits_[0] & 0x00000004u) != 0; + bool value = (_impl_._has_bits_[0] & 0x00000008u) != 0; return value; } inline void SyncJob::clear_update() { ::google::protobuf::internal::TSanWrite(&_impl_); _impl_.update_ = false; - _impl_._has_bits_[0] &= ~0x00000004u; + _impl_._has_bits_[0] &= ~0x00000008u; } inline bool SyncJob::update() const { // @@protoc_insertion_point(field_get:flex.SyncJob.update) @@ -10152,7 +10912,7 @@ inline bool SyncJob::update() const { } inline void SyncJob::set_update(bool value) { _internal_set_update(value); - _impl_._has_bits_[0] |= 0x00000004u; + _impl_._has_bits_[0] |= 0x00000008u; // @@protoc_insertion_point(field_set:flex.SyncJob.update) } inline bool SyncJob::_internal_update() const { @@ -10202,63 +10962,160 @@ inline void SyncJob::clear_tagging() { _impl_.tagging_.ClearToEmpty(); _impl_._has_bits_[0] &= ~0x00000001u; } -inline const std::string& SyncJob::tagging() const +inline const std::string& SyncJob::tagging() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:flex.SyncJob.tagging) + return _internal_tagging(); +} +template +inline PROTOBUF_ALWAYS_INLINE void SyncJob::set_tagging(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_._has_bits_[0] |= 0x00000001u; + _impl_.tagging_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:flex.SyncJob.tagging) +} +inline std::string* SyncJob::mutable_tagging() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_tagging(); + // @@protoc_insertion_point(field_mutable:flex.SyncJob.tagging) + return _s; +} +inline const std::string& SyncJob::_internal_tagging() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.tagging_.Get(); +} +inline void SyncJob::_internal_set_tagging(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_._has_bits_[0] |= 0x00000001u; + _impl_.tagging_.Set(value, GetArena()); +} +inline std::string* SyncJob::_internal_mutable_tagging() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_._has_bits_[0] |= 0x00000001u; + return _impl_.tagging_.Mutable( GetArena()); +} +inline std::string* SyncJob::release_tagging() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:flex.SyncJob.tagging) + if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { + return nullptr; + } + _impl_._has_bits_[0] &= ~0x00000001u; + auto* released = _impl_.tagging_.Release(); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { + _impl_.tagging_.Set("", GetArena()); + } + return released; +} +inline void SyncJob::set_allocated_tagging(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + _impl_.tagging_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.tagging_.IsDefault()) { + _impl_.tagging_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:flex.SyncJob.tagging) +} + +// optional string storage_class = 12; +inline bool SyncJob::has_storage_class() const { + bool value = (_impl_._has_bits_[0] & 0x00000002u) != 0; + return value; +} +inline void SyncJob::clear_storage_class() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.storage_class_.ClearToEmpty(); + _impl_._has_bits_[0] &= ~0x00000002u; +} +inline const std::string& SyncJob::storage_class() const ABSL_ATTRIBUTE_LIFETIME_BOUND { - // @@protoc_insertion_point(field_get:flex.SyncJob.tagging) - return _internal_tagging(); + // @@protoc_insertion_point(field_get:flex.SyncJob.storage_class) + return _internal_storage_class(); } template -inline PROTOBUF_ALWAYS_INLINE void SyncJob::set_tagging(Arg_&& arg, +inline PROTOBUF_ALWAYS_INLINE void SyncJob::set_storage_class(Arg_&& arg, Args_... args) { ::google::protobuf::internal::TSanWrite(&_impl_); - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.tagging_.Set(static_cast(arg), args..., GetArena()); - // @@protoc_insertion_point(field_set:flex.SyncJob.tagging) + _impl_._has_bits_[0] |= 0x00000002u; + _impl_.storage_class_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:flex.SyncJob.storage_class) } -inline std::string* SyncJob::mutable_tagging() ABSL_ATTRIBUTE_LIFETIME_BOUND { - std::string* _s = _internal_mutable_tagging(); - // @@protoc_insertion_point(field_mutable:flex.SyncJob.tagging) +inline std::string* SyncJob::mutable_storage_class() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_storage_class(); + // @@protoc_insertion_point(field_mutable:flex.SyncJob.storage_class) return _s; } -inline const std::string& SyncJob::_internal_tagging() const { +inline const std::string& SyncJob::_internal_storage_class() const { ::google::protobuf::internal::TSanRead(&_impl_); - return _impl_.tagging_.Get(); + return _impl_.storage_class_.Get(); } -inline void SyncJob::_internal_set_tagging(const std::string& value) { +inline void SyncJob::_internal_set_storage_class(const std::string& value) { ::google::protobuf::internal::TSanWrite(&_impl_); - _impl_._has_bits_[0] |= 0x00000001u; - _impl_.tagging_.Set(value, GetArena()); + _impl_._has_bits_[0] |= 0x00000002u; + _impl_.storage_class_.Set(value, GetArena()); } -inline std::string* SyncJob::_internal_mutable_tagging() { +inline std::string* SyncJob::_internal_mutable_storage_class() { ::google::protobuf::internal::TSanWrite(&_impl_); - _impl_._has_bits_[0] |= 0x00000001u; - return _impl_.tagging_.Mutable( GetArena()); + _impl_._has_bits_[0] |= 0x00000002u; + return _impl_.storage_class_.Mutable( GetArena()); } -inline std::string* SyncJob::release_tagging() { +inline std::string* SyncJob::release_storage_class() { ::google::protobuf::internal::TSanWrite(&_impl_); - // @@protoc_insertion_point(field_release:flex.SyncJob.tagging) - if ((_impl_._has_bits_[0] & 0x00000001u) == 0) { + // @@protoc_insertion_point(field_release:flex.SyncJob.storage_class) + if ((_impl_._has_bits_[0] & 0x00000002u) == 0) { return nullptr; } - _impl_._has_bits_[0] &= ~0x00000001u; - auto* released = _impl_.tagging_.Release(); + _impl_._has_bits_[0] &= ~0x00000002u; + auto* released = _impl_.storage_class_.Release(); if (::google::protobuf::internal::DebugHardenForceCopyDefaultString()) { - _impl_.tagging_.Set("", GetArena()); + _impl_.storage_class_.Set("", GetArena()); } return released; } -inline void SyncJob::set_allocated_tagging(std::string* value) { +inline void SyncJob::set_allocated_storage_class(std::string* value) { ::google::protobuf::internal::TSanWrite(&_impl_); if (value != nullptr) { - _impl_._has_bits_[0] |= 0x00000001u; + _impl_._has_bits_[0] |= 0x00000002u; } else { - _impl_._has_bits_[0] &= ~0x00000001u; + _impl_._has_bits_[0] &= ~0x00000002u; } - _impl_.tagging_.SetAllocated(value, GetArena()); - if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.tagging_.IsDefault()) { - _impl_.tagging_.Set("", GetArena()); + _impl_.storage_class_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.storage_class_.IsDefault()) { + _impl_.storage_class_.Set("", GetArena()); } - // @@protoc_insertion_point(field_set_allocated:flex.SyncJob.tagging) + // @@protoc_insertion_point(field_set_allocated:flex.SyncJob.storage_class) +} + +// optional bool allow_restore = 13; +inline bool SyncJob::has_allow_restore() const { + bool value = (_impl_._has_bits_[0] & 0x00000010u) != 0; + return value; +} +inline void SyncJob::clear_allow_restore() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.allow_restore_ = false; + _impl_._has_bits_[0] &= ~0x00000010u; +} +inline bool SyncJob::allow_restore() const { + // @@protoc_insertion_point(field_get:flex.SyncJob.allow_restore) + return _internal_allow_restore(); +} +inline void SyncJob::set_allow_restore(bool value) { + _internal_set_allow_restore(value); + _impl_._has_bits_[0] |= 0x00000010u; + // @@protoc_insertion_point(field_set:flex.SyncJob.allow_restore) +} +inline bool SyncJob::_internal_allow_restore() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.allow_restore_; +} +inline void SyncJob::_internal_set_allow_restore(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.allow_restore_ = value; } // ------------------------------------------------------------------- @@ -11421,6 +12278,346 @@ inline void RemoteStorageTarget_Policies::_internal_set_fast_start_max_size(::in // ------------------------------------------------------------------- +// RemoteStorageTarget_S3_StorageClass_Archival + +// string retrieval_tier = 1; +inline void RemoteStorageTarget_S3_StorageClass_Archival::clear_retrieval_tier() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.retrieval_tier_.ClearToEmpty(); +} +inline const std::string& RemoteStorageTarget_S3_StorageClass_Archival::retrieval_tier() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:flex.RemoteStorageTarget.S3.StorageClass.Archival.retrieval_tier) + return _internal_retrieval_tier(); +} +template +inline PROTOBUF_ALWAYS_INLINE void RemoteStorageTarget_S3_StorageClass_Archival::set_retrieval_tier(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.retrieval_tier_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:flex.RemoteStorageTarget.S3.StorageClass.Archival.retrieval_tier) +} +inline std::string* RemoteStorageTarget_S3_StorageClass_Archival::mutable_retrieval_tier() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_retrieval_tier(); + // @@protoc_insertion_point(field_mutable:flex.RemoteStorageTarget.S3.StorageClass.Archival.retrieval_tier) + return _s; +} +inline const std::string& RemoteStorageTarget_S3_StorageClass_Archival::_internal_retrieval_tier() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.retrieval_tier_.Get(); +} +inline void RemoteStorageTarget_S3_StorageClass_Archival::_internal_set_retrieval_tier(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.retrieval_tier_.Set(value, GetArena()); +} +inline std::string* RemoteStorageTarget_S3_StorageClass_Archival::_internal_mutable_retrieval_tier() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.retrieval_tier_.Mutable( GetArena()); +} +inline std::string* RemoteStorageTarget_S3_StorageClass_Archival::release_retrieval_tier() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:flex.RemoteStorageTarget.S3.StorageClass.Archival.retrieval_tier) + return _impl_.retrieval_tier_.Release(); +} +inline void RemoteStorageTarget_S3_StorageClass_Archival::set_allocated_retrieval_tier(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.retrieval_tier_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.retrieval_tier_.IsDefault()) { + _impl_.retrieval_tier_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:flex.RemoteStorageTarget.S3.StorageClass.Archival.retrieval_tier) +} + +// int32 retention_days = 2; +inline void RemoteStorageTarget_S3_StorageClass_Archival::clear_retention_days() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.retention_days_ = 0; +} +inline ::int32_t RemoteStorageTarget_S3_StorageClass_Archival::retention_days() const { + // @@protoc_insertion_point(field_get:flex.RemoteStorageTarget.S3.StorageClass.Archival.retention_days) + return _internal_retention_days(); +} +inline void RemoteStorageTarget_S3_StorageClass_Archival::set_retention_days(::int32_t value) { + _internal_set_retention_days(value); + // @@protoc_insertion_point(field_set:flex.RemoteStorageTarget.S3.StorageClass.Archival.retention_days) +} +inline ::int32_t RemoteStorageTarget_S3_StorageClass_Archival::_internal_retention_days() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.retention_days_; +} +inline void RemoteStorageTarget_S3_StorageClass_Archival::_internal_set_retention_days(::int32_t value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.retention_days_ = value; +} + +// string check_time = 3; +inline void RemoteStorageTarget_S3_StorageClass_Archival::clear_check_time() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.check_time_.ClearToEmpty(); +} +inline const std::string& RemoteStorageTarget_S3_StorageClass_Archival::check_time() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:flex.RemoteStorageTarget.S3.StorageClass.Archival.check_time) + return _internal_check_time(); +} +template +inline PROTOBUF_ALWAYS_INLINE void RemoteStorageTarget_S3_StorageClass_Archival::set_check_time(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.check_time_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:flex.RemoteStorageTarget.S3.StorageClass.Archival.check_time) +} +inline std::string* RemoteStorageTarget_S3_StorageClass_Archival::mutable_check_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_check_time(); + // @@protoc_insertion_point(field_mutable:flex.RemoteStorageTarget.S3.StorageClass.Archival.check_time) + return _s; +} +inline const std::string& RemoteStorageTarget_S3_StorageClass_Archival::_internal_check_time() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.check_time_.Get(); +} +inline void RemoteStorageTarget_S3_StorageClass_Archival::_internal_set_check_time(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.check_time_.Set(value, GetArena()); +} +inline std::string* RemoteStorageTarget_S3_StorageClass_Archival::_internal_mutable_check_time() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.check_time_.Mutable( GetArena()); +} +inline std::string* RemoteStorageTarget_S3_StorageClass_Archival::release_check_time() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:flex.RemoteStorageTarget.S3.StorageClass.Archival.check_time) + return _impl_.check_time_.Release(); +} +inline void RemoteStorageTarget_S3_StorageClass_Archival::set_allocated_check_time(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.check_time_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.check_time_.IsDefault()) { + _impl_.check_time_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:flex.RemoteStorageTarget.S3.StorageClass.Archival.check_time) +} + +// string recheck_time = 4; +inline void RemoteStorageTarget_S3_StorageClass_Archival::clear_recheck_time() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.recheck_time_.ClearToEmpty(); +} +inline const std::string& RemoteStorageTarget_S3_StorageClass_Archival::recheck_time() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:flex.RemoteStorageTarget.S3.StorageClass.Archival.recheck_time) + return _internal_recheck_time(); +} +template +inline PROTOBUF_ALWAYS_INLINE void RemoteStorageTarget_S3_StorageClass_Archival::set_recheck_time(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.recheck_time_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:flex.RemoteStorageTarget.S3.StorageClass.Archival.recheck_time) +} +inline std::string* RemoteStorageTarget_S3_StorageClass_Archival::mutable_recheck_time() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_recheck_time(); + // @@protoc_insertion_point(field_mutable:flex.RemoteStorageTarget.S3.StorageClass.Archival.recheck_time) + return _s; +} +inline const std::string& RemoteStorageTarget_S3_StorageClass_Archival::_internal_recheck_time() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.recheck_time_.Get(); +} +inline void RemoteStorageTarget_S3_StorageClass_Archival::_internal_set_recheck_time(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.recheck_time_.Set(value, GetArena()); +} +inline std::string* RemoteStorageTarget_S3_StorageClass_Archival::_internal_mutable_recheck_time() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.recheck_time_.Mutable( GetArena()); +} +inline std::string* RemoteStorageTarget_S3_StorageClass_Archival::release_recheck_time() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:flex.RemoteStorageTarget.S3.StorageClass.Archival.recheck_time) + return _impl_.recheck_time_.Release(); +} +inline void RemoteStorageTarget_S3_StorageClass_Archival::set_allocated_recheck_time(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.recheck_time_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.recheck_time_.IsDefault()) { + _impl_.recheck_time_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:flex.RemoteStorageTarget.S3.StorageClass.Archival.recheck_time) +} + +// bool auto_restore = 5; +inline void RemoteStorageTarget_S3_StorageClass_Archival::clear_auto_restore() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.auto_restore_ = false; +} +inline bool RemoteStorageTarget_S3_StorageClass_Archival::auto_restore() const { + // @@protoc_insertion_point(field_get:flex.RemoteStorageTarget.S3.StorageClass.Archival.auto_restore) + return _internal_auto_restore(); +} +inline void RemoteStorageTarget_S3_StorageClass_Archival::set_auto_restore(bool value) { + _internal_set_auto_restore(value); + // @@protoc_insertion_point(field_set:flex.RemoteStorageTarget.S3.StorageClass.Archival.auto_restore) +} +inline bool RemoteStorageTarget_S3_StorageClass_Archival::_internal_auto_restore() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.auto_restore_; +} +inline void RemoteStorageTarget_S3_StorageClass_Archival::_internal_set_auto_restore(bool value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.auto_restore_ = value; +} + +// ------------------------------------------------------------------- + +// RemoteStorageTarget_S3_StorageClass + +// string name = 1; +inline void RemoteStorageTarget_S3_StorageClass::clear_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.ClearToEmpty(); +} +inline const std::string& RemoteStorageTarget_S3_StorageClass::name() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:flex.RemoteStorageTarget.S3.StorageClass.name) + return _internal_name(); +} +template +inline PROTOBUF_ALWAYS_INLINE void RemoteStorageTarget_S3_StorageClass::set_name(Arg_&& arg, + Args_... args) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(static_cast(arg), args..., GetArena()); + // @@protoc_insertion_point(field_set:flex.RemoteStorageTarget.S3.StorageClass.name) +} +inline std::string* RemoteStorageTarget_S3_StorageClass::mutable_name() ABSL_ATTRIBUTE_LIFETIME_BOUND { + std::string* _s = _internal_mutable_name(); + // @@protoc_insertion_point(field_mutable:flex.RemoteStorageTarget.S3.StorageClass.name) + return _s; +} +inline const std::string& RemoteStorageTarget_S3_StorageClass::_internal_name() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.name_.Get(); +} +inline void RemoteStorageTarget_S3_StorageClass::_internal_set_name(const std::string& value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.Set(value, GetArena()); +} +inline std::string* RemoteStorageTarget_S3_StorageClass::_internal_mutable_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + return _impl_.name_.Mutable( GetArena()); +} +inline std::string* RemoteStorageTarget_S3_StorageClass::release_name() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:flex.RemoteStorageTarget.S3.StorageClass.name) + return _impl_.name_.Release(); +} +inline void RemoteStorageTarget_S3_StorageClass::set_allocated_name(std::string* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.name_.SetAllocated(value, GetArena()); + if (::google::protobuf::internal::DebugHardenForceCopyDefaultString() && _impl_.name_.IsDefault()) { + _impl_.name_.Set("", GetArena()); + } + // @@protoc_insertion_point(field_set_allocated:flex.RemoteStorageTarget.S3.StorageClass.name) +} + +// optional .flex.RemoteStorageTarget.S3.StorageClass.Archival archival = 2; +inline bool RemoteStorageTarget_S3_StorageClass::has_archival() const { + bool value = (_impl_._has_bits_[0] & 0x00000001u) != 0; + PROTOBUF_ASSUME(!value || _impl_.archival_ != nullptr); + return value; +} +inline void RemoteStorageTarget_S3_StorageClass::clear_archival() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.archival_ != nullptr) _impl_.archival_->Clear(); + _impl_._has_bits_[0] &= ~0x00000001u; +} +inline const ::flex::RemoteStorageTarget_S3_StorageClass_Archival& RemoteStorageTarget_S3_StorageClass::_internal_archival() const { + ::google::protobuf::internal::TSanRead(&_impl_); + const ::flex::RemoteStorageTarget_S3_StorageClass_Archival* p = _impl_.archival_; + return p != nullptr ? *p : reinterpret_cast(::flex::_RemoteStorageTarget_S3_StorageClass_Archival_default_instance_); +} +inline const ::flex::RemoteStorageTarget_S3_StorageClass_Archival& RemoteStorageTarget_S3_StorageClass::archival() const ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:flex.RemoteStorageTarget.S3.StorageClass.archival) + return _internal_archival(); +} +inline void RemoteStorageTarget_S3_StorageClass::unsafe_arena_set_allocated_archival(::flex::RemoteStorageTarget_S3_StorageClass_Archival* value) { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (GetArena() == nullptr) { + delete reinterpret_cast<::google::protobuf::MessageLite*>(_impl_.archival_); + } + _impl_.archival_ = reinterpret_cast<::flex::RemoteStorageTarget_S3_StorageClass_Archival*>(value); + if (value != nullptr) { + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + // @@protoc_insertion_point(field_unsafe_arena_set_allocated:flex.RemoteStorageTarget.S3.StorageClass.archival) +} +inline ::flex::RemoteStorageTarget_S3_StorageClass_Archival* RemoteStorageTarget_S3_StorageClass::release_archival() { + ::google::protobuf::internal::TSanWrite(&_impl_); + + _impl_._has_bits_[0] &= ~0x00000001u; + ::flex::RemoteStorageTarget_S3_StorageClass_Archival* released = _impl_.archival_; + _impl_.archival_ = nullptr; + if (::google::protobuf::internal::DebugHardenForceCopyInRelease()) { + auto* old = reinterpret_cast<::google::protobuf::MessageLite*>(released); + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + if (GetArena() == nullptr) { + delete old; + } + } else { + if (GetArena() != nullptr) { + released = ::google::protobuf::internal::DuplicateIfNonNull(released); + } + } + return released; +} +inline ::flex::RemoteStorageTarget_S3_StorageClass_Archival* RemoteStorageTarget_S3_StorageClass::unsafe_arena_release_archival() { + ::google::protobuf::internal::TSanWrite(&_impl_); + // @@protoc_insertion_point(field_release:flex.RemoteStorageTarget.S3.StorageClass.archival) + + _impl_._has_bits_[0] &= ~0x00000001u; + ::flex::RemoteStorageTarget_S3_StorageClass_Archival* temp = _impl_.archival_; + _impl_.archival_ = nullptr; + return temp; +} +inline ::flex::RemoteStorageTarget_S3_StorageClass_Archival* RemoteStorageTarget_S3_StorageClass::_internal_mutable_archival() { + ::google::protobuf::internal::TSanWrite(&_impl_); + if (_impl_.archival_ == nullptr) { + auto* p = ::google::protobuf::Message::DefaultConstruct<::flex::RemoteStorageTarget_S3_StorageClass_Archival>(GetArena()); + _impl_.archival_ = reinterpret_cast<::flex::RemoteStorageTarget_S3_StorageClass_Archival*>(p); + } + return _impl_.archival_; +} +inline ::flex::RemoteStorageTarget_S3_StorageClass_Archival* RemoteStorageTarget_S3_StorageClass::mutable_archival() ABSL_ATTRIBUTE_LIFETIME_BOUND { + _impl_._has_bits_[0] |= 0x00000001u; + ::flex::RemoteStorageTarget_S3_StorageClass_Archival* _msg = _internal_mutable_archival(); + // @@protoc_insertion_point(field_mutable:flex.RemoteStorageTarget.S3.StorageClass.archival) + return _msg; +} +inline void RemoteStorageTarget_S3_StorageClass::set_allocated_archival(::flex::RemoteStorageTarget_S3_StorageClass_Archival* value) { + ::google::protobuf::Arena* message_arena = GetArena(); + ::google::protobuf::internal::TSanWrite(&_impl_); + if (message_arena == nullptr) { + delete (_impl_.archival_); + } + + if (value != nullptr) { + ::google::protobuf::Arena* submessage_arena = (value)->GetArena(); + if (message_arena != submessage_arena) { + value = ::google::protobuf::internal::GetOwnedMessage(message_arena, value, submessage_arena); + } + _impl_._has_bits_[0] |= 0x00000001u; + } else { + _impl_._has_bits_[0] &= ~0x00000001u; + } + + _impl_.archival_ = reinterpret_cast<::flex::RemoteStorageTarget_S3_StorageClass_Archival*>(value); + // @@protoc_insertion_point(field_set_allocated:flex.RemoteStorageTarget.S3.StorageClass.archival) +} + +// ------------------------------------------------------------------- + // RemoteStorageTarget_S3 // string endpoint_url = 1; @@ -11711,6 +12908,55 @@ inline void RemoteStorageTarget_S3::set_allocated_secret_key(std::string* value) // @@protoc_insertion_point(field_set_allocated:flex.RemoteStorageTarget.S3.secret_key) } +// repeated .flex.RemoteStorageTarget.S3.StorageClass storage_class = 8; +inline int RemoteStorageTarget_S3::_internal_storage_class_size() const { + return _internal_storage_class().size(); +} +inline int RemoteStorageTarget_S3::storage_class_size() const { + return _internal_storage_class_size(); +} +inline void RemoteStorageTarget_S3::clear_storage_class() { + ::google::protobuf::internal::TSanWrite(&_impl_); + _impl_.storage_class_.Clear(); +} +inline ::flex::RemoteStorageTarget_S3_StorageClass* RemoteStorageTarget_S3::mutable_storage_class(int index) + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable:flex.RemoteStorageTarget.S3.storage_class) + return _internal_mutable_storage_class()->Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget_S3_StorageClass>* RemoteStorageTarget_S3::mutable_storage_class() + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_mutable_list:flex.RemoteStorageTarget.S3.storage_class) + ::google::protobuf::internal::TSanWrite(&_impl_); + return _internal_mutable_storage_class(); +} +inline const ::flex::RemoteStorageTarget_S3_StorageClass& RemoteStorageTarget_S3::storage_class(int index) const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_get:flex.RemoteStorageTarget.S3.storage_class) + return _internal_storage_class().Get(index); +} +inline ::flex::RemoteStorageTarget_S3_StorageClass* RemoteStorageTarget_S3::add_storage_class() ABSL_ATTRIBUTE_LIFETIME_BOUND { + ::google::protobuf::internal::TSanWrite(&_impl_); + ::flex::RemoteStorageTarget_S3_StorageClass* _add = _internal_mutable_storage_class()->Add(); + // @@protoc_insertion_point(field_add:flex.RemoteStorageTarget.S3.storage_class) + return _add; +} +inline const ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget_S3_StorageClass>& RemoteStorageTarget_S3::storage_class() const + ABSL_ATTRIBUTE_LIFETIME_BOUND { + // @@protoc_insertion_point(field_list:flex.RemoteStorageTarget.S3.storage_class) + return _internal_storage_class(); +} +inline const ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget_S3_StorageClass>& +RemoteStorageTarget_S3::_internal_storage_class() const { + ::google::protobuf::internal::TSanRead(&_impl_); + return _impl_.storage_class_; +} +inline ::google::protobuf::RepeatedPtrField<::flex::RemoteStorageTarget_S3_StorageClass>* +RemoteStorageTarget_S3::_internal_mutable_storage_class() { + ::google::protobuf::internal::TSanRead(&_impl_); + return &_impl_.storage_class_; +} + // ------------------------------------------------------------------- // RemoteStorageTarget_Azure diff --git a/go/flex/flex.pb.go b/go/flex/flex.pb.go index bb50846..9731af2 100644 --- a/go/flex/flex.pb.go +++ b/go/flex/flex.pb.go @@ -959,9 +959,11 @@ type JobLockedInfo struct { // Last beegfs_mtime of the remote file or object. RemoteMtime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=remote_mtime,json=remoteMtime,proto3" json:"remote_mtime,omitempty"` // If stub_url is not empty then path is for a stub file with the provided rst url. - StubUrlRstId uint32 `protobuf:"varint,8,opt,name=stub_url_rst_id,json=stubUrlRstId,proto3" json:"stub_url_rst_id,omitempty"` - StubUrlPath string `protobuf:"bytes,9,opt,name=stub_url_path,json=stubUrlPath,proto3" json:"stub_url_path,omitempty"` - ExternalId string `protobuf:"bytes,10,opt,name=externalId,proto3" json:"externalId,omitempty"` + StubUrlRstId uint32 `protobuf:"varint,8,opt,name=stub_url_rst_id,json=stubUrlRstId,proto3" json:"stub_url_rst_id,omitempty"` + StubUrlPath string `protobuf:"bytes,9,opt,name=stub_url_path,json=stubUrlPath,proto3" json:"stub_url_path,omitempty"` + ExternalId string `protobuf:"bytes,10,opt,name=externalId,proto3" json:"externalId,omitempty"` + // Whether the file or object have been archived and needs to be retrieved prior to download. + IsArchived bool `protobuf:"varint,11,opt,name=is_archived,json=isArchived,proto3" json:"is_archived,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1061,6 +1063,13 @@ func (x *JobLockedInfo) GetExternalId() string { return "" } +func (x *JobLockedInfo) GetIsArchived() bool { + if x != nil { + return x.IsArchived + } + return false +} + func (x *JobLockedInfo) SetReadWriteLocked(v bool) { x.ReadWriteLocked = v } @@ -1101,6 +1110,10 @@ func (x *JobLockedInfo) SetExternalId(v string) { x.ExternalId = v } +func (x *JobLockedInfo) SetIsArchived(v bool) { + x.IsArchived = v +} + func (x *JobLockedInfo) HasMtime() bool { if x == nil { return false @@ -1144,6 +1157,8 @@ type JobLockedInfo_builder struct { StubUrlRstId uint32 StubUrlPath string ExternalId string + // Whether the file or object have been archived and needs to be retrieved prior to download. + IsArchived bool } func (b0 JobLockedInfo_builder) Build() *JobLockedInfo { @@ -1160,6 +1175,7 @@ func (b0 JobLockedInfo_builder) Build() *JobLockedInfo { x.StubUrlRstId = b.StubUrlRstId x.StubUrlPath = b.StubUrlPath x.ExternalId = b.ExternalId + x.IsArchived = b.IsArchived return m0 } @@ -1178,6 +1194,8 @@ type JobRequestCfg struct { Metadata map[string]string `protobuf:"bytes,13,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` Tagging *string `protobuf:"bytes,14,opt,name=tagging,proto3,oneof" json:"tagging,omitempty"` Priority *int32 `protobuf:"varint,11,opt,name=priority,proto3,oneof" json:"priority,omitempty"` + StorageClass *string `protobuf:"bytes,12,opt,name=storage_class,json=storageClass,proto3,oneof" json:"storage_class,omitempty"` + AllowRestore *bool `protobuf:"varint,15,opt,name=allow_restore,json=allowRestore,proto3,oneof" json:"allow_restore,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1298,6 +1316,20 @@ func (x *JobRequestCfg) GetPriority() int32 { return 0 } +func (x *JobRequestCfg) GetStorageClass() string { + if x != nil && x.StorageClass != nil { + return *x.StorageClass + } + return "" +} + +func (x *JobRequestCfg) GetAllowRestore() bool { + if x != nil && x.AllowRestore != nil { + return *x.AllowRestore + } + return false +} + func (x *JobRequestCfg) SetRemoteStorageTarget(v uint32) { x.RemoteStorageTarget = v } @@ -1350,6 +1382,14 @@ func (x *JobRequestCfg) SetPriority(v int32) { x.Priority = &v } +func (x *JobRequestCfg) SetStorageClass(v string) { + x.StorageClass = &v +} + +func (x *JobRequestCfg) SetAllowRestore(v bool) { + x.AllowRestore = &v +} + func (x *JobRequestCfg) HasLockedInfo() bool { if x == nil { return false @@ -1378,6 +1418,20 @@ func (x *JobRequestCfg) HasPriority() bool { return x.Priority != nil } +func (x *JobRequestCfg) HasStorageClass() bool { + if x == nil { + return false + } + return x.StorageClass != nil +} + +func (x *JobRequestCfg) HasAllowRestore() bool { + if x == nil { + return false + } + return x.AllowRestore != nil +} + func (x *JobRequestCfg) ClearLockedInfo() { x.LockedInfo = nil } @@ -1394,6 +1448,14 @@ func (x *JobRequestCfg) ClearPriority() { x.Priority = nil } +func (x *JobRequestCfg) ClearStorageClass() { + x.StorageClass = nil +} + +func (x *JobRequestCfg) ClearAllowRestore() { + x.AllowRestore = nil +} + type JobRequestCfg_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. @@ -1410,6 +1472,8 @@ type JobRequestCfg_builder struct { Metadata map[string]string Tagging *string Priority *int32 + StorageClass *string + AllowRestore *bool } func (b0 JobRequestCfg_builder) Build() *JobRequestCfg { @@ -1429,6 +1493,8 @@ func (b0 JobRequestCfg_builder) Build() *JobRequestCfg { x.Metadata = b.Metadata x.Tagging = b.Tagging x.Priority = b.Priority + x.StorageClass = b.StorageClass + x.AllowRestore = b.AllowRestore return m0 } @@ -1802,8 +1868,12 @@ func (*WorkRequest_Builder) isWorkRequest_Type() {} // JobBuilderJob is a special type of job that creates job requests of any time. type BuilderJob struct { - state protoimpl.MessageState `protogen:"hybrid.v1"` - Cfg *JobRequestCfg `protobuf:"bytes,1,opt,name=cfg,proto3" json:"cfg,omitempty"` + state protoimpl.MessageState `protogen:"hybrid.v1"` + Cfg *JobRequestCfg `protobuf:"bytes,1,opt,name=cfg,proto3" json:"cfg,omitempty"` + // Stores the total number of job requests that were submitted regardless of success. + Submitted int32 `protobuf:"varint,2,opt,name=submitted,proto3" json:"submitted,omitempty"` + // Stores the number of failed job requests. + Errors int32 `protobuf:"varint,3,opt,name=errors,proto3" json:"errors,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1840,10 +1910,32 @@ func (x *BuilderJob) GetCfg() *JobRequestCfg { return nil } +func (x *BuilderJob) GetSubmitted() int32 { + if x != nil { + return x.Submitted + } + return 0 +} + +func (x *BuilderJob) GetErrors() int32 { + if x != nil { + return x.Errors + } + return 0 +} + func (x *BuilderJob) SetCfg(v *JobRequestCfg) { x.Cfg = v } +func (x *BuilderJob) SetSubmitted(v int32) { + x.Submitted = v +} + +func (x *BuilderJob) SetErrors(v int32) { + x.Errors = v +} + func (x *BuilderJob) HasCfg() bool { if x == nil { return false @@ -1859,6 +1951,10 @@ type BuilderJob_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. Cfg *JobRequestCfg + // Stores the total number of job requests that were submitted regardless of success. + Submitted int32 + // Stores the number of failed job requests. + Errors int32 } func (b0 BuilderJob_builder) Build() *BuilderJob { @@ -1866,6 +1962,8 @@ func (b0 BuilderJob_builder) Build() *BuilderJob { b, x := &b0, m0 _, _ = b, x x.Cfg = b.Cfg + x.Submitted = b.Submitted + x.Errors = b.Errors return m0 } @@ -2041,6 +2139,8 @@ type SyncJob struct { Update *bool `protobuf:"varint,7,opt,name=update,proto3,oneof" json:"update,omitempty"` Metadata map[string]string `protobuf:"bytes,9,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` Tagging *string `protobuf:"bytes,10,opt,name=tagging,proto3,oneof" json:"tagging,omitempty"` + StorageClass *string `protobuf:"bytes,12,opt,name=storage_class,json=storageClass,proto3,oneof" json:"storage_class,omitempty"` + AllowRestore *bool `protobuf:"varint,13,opt,name=allow_restore,json=allowRestore,proto3,oneof" json:"allow_restore,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -2126,6 +2226,20 @@ func (x *SyncJob) GetTagging() string { return "" } +func (x *SyncJob) GetStorageClass() string { + if x != nil && x.StorageClass != nil { + return *x.StorageClass + } + return "" +} + +func (x *SyncJob) GetAllowRestore() bool { + if x != nil && x.AllowRestore != nil { + return *x.AllowRestore + } + return false +} + func (x *SyncJob) SetOperation(v SyncJob_Operation) { x.Operation = v } @@ -2158,6 +2272,14 @@ func (x *SyncJob) SetTagging(v string) { x.Tagging = &v } +func (x *SyncJob) SetStorageClass(v string) { + x.StorageClass = &v +} + +func (x *SyncJob) SetAllowRestore(v bool) { + x.AllowRestore = &v +} + func (x *SyncJob) HasLockedInfo() bool { if x == nil { return false @@ -2179,6 +2301,20 @@ func (x *SyncJob) HasTagging() bool { return x.Tagging != nil } +func (x *SyncJob) HasStorageClass() bool { + if x == nil { + return false + } + return x.StorageClass != nil +} + +func (x *SyncJob) HasAllowRestore() bool { + if x == nil { + return false + } + return x.AllowRestore != nil +} + func (x *SyncJob) ClearLockedInfo() { x.LockedInfo = nil } @@ -2191,6 +2327,14 @@ func (x *SyncJob) ClearTagging() { x.Tagging = nil } +func (x *SyncJob) ClearStorageClass() { + x.StorageClass = nil +} + +func (x *SyncJob) ClearAllowRestore() { + x.AllowRestore = nil +} + type SyncJob_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. @@ -2206,11 +2350,13 @@ type SyncJob_builder struct { RemotePath string // By default the remote directory structure will be preserved on downloads unless flatten is // set. If the flag is set then the directory delimiter will be replaced with an underscore. - Flatten bool - LockedInfo *JobLockedInfo - Update *bool - Metadata map[string]string - Tagging *string + Flatten bool + LockedInfo *JobLockedInfo + Update *bool + Metadata map[string]string + Tagging *string + StorageClass *string + AllowRestore *bool } func (b0 SyncJob_builder) Build() *SyncJob { @@ -2225,6 +2371,8 @@ func (b0 SyncJob_builder) Build() *SyncJob { x.Update = b.Update x.Metadata = b.Metadata x.Tagging = b.Tagging + x.StorageClass = b.StorageClass + x.AllowRestore = b.AllowRestore return m0 } @@ -3473,7 +3621,7 @@ func (b0 RemoteStorageTarget_Policies_builder) Build() *RemoteStorageTarget_Poli // The S3 type uses the AWS S3 SDK under the hood. To support non-AWS S3 // services we implement the EndPointResolverWithOptions interface to // provide custom endpoint resolving behavior. By specifying the -// endpoint_url and optionally the parition_id and region we can support +// endpoint_url and optionally the partition_id and region we can support // local S3 services like MinIO and theoretically other cloud providers like // Azure or GCP. type RemoteStorageTarget_S3 struct { @@ -3489,10 +3637,13 @@ type RemoteStorageTarget_S3 struct { // https://docs.aws.amazon.com/sdk-for-go/api/aws/endpoints/#pkg-constants PartitionId string `protobuf:"bytes,2,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"` // Region can sometimes be omitted (for example with MinIO). - Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"` - Bucket string `protobuf:"bytes,4,opt,name=bucket,proto3" json:"bucket,omitempty"` - AccessKey string `protobuf:"bytes,5,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` - SecretKey string `protobuf:"bytes,6,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` + Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"` + Bucket string `protobuf:"bytes,4,opt,name=bucket,proto3" json:"bucket,omitempty"` + AccessKey string `protobuf:"bytes,5,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` + SecretKey string `protobuf:"bytes,6,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` + // User-defined list of storage classes. Only archival storage class are currently + // supported. + StorageClass []*RemoteStorageTarget_S3_StorageClass `protobuf:"bytes,8,rep,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -3564,6 +3715,13 @@ func (x *RemoteStorageTarget_S3) GetSecretKey() string { return "" } +func (x *RemoteStorageTarget_S3) GetStorageClass() []*RemoteStorageTarget_S3_StorageClass { + if x != nil { + return x.StorageClass + } + return nil +} + func (x *RemoteStorageTarget_S3) SetEndpointUrl(v string) { x.EndpointUrl = v } @@ -3588,6 +3746,10 @@ func (x *RemoteStorageTarget_S3) SetSecretKey(v string) { x.SecretKey = v } +func (x *RemoteStorageTarget_S3) SetStorageClass(v []*RemoteStorageTarget_S3_StorageClass) { + x.StorageClass = v +} + type RemoteStorageTarget_S3_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. @@ -3606,6 +3768,9 @@ type RemoteStorageTarget_S3_builder struct { Bucket string AccessKey string SecretKey string + // User-defined list of storage classes. Only archival storage class are currently + // supported. + StorageClass []*RemoteStorageTarget_S3_StorageClass } func (b0 RemoteStorageTarget_S3_builder) Build() *RemoteStorageTarget_S3 { @@ -3618,6 +3783,7 @@ func (b0 RemoteStorageTarget_S3_builder) Build() *RemoteStorageTarget_S3 { x.Bucket = b.Bucket x.AccessKey = b.AccessKey x.SecretKey = b.SecretKey + x.StorageClass = b.StorageClass return m0 } @@ -3760,6 +3926,217 @@ func (b0 RemoteStorageTarget_POSIX_builder) Build() *RemoteStorageTarget_POSIX { return m0 } +type RemoteStorageTarget_S3_StorageClass struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + // Name of the storage class + Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + // Defines whether the class is archival and options for restore process + Archival *RemoteStorageTarget_S3_StorageClass_Archival `protobuf:"bytes,2,opt,name=archival,proto3,oneof" json:"archival,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoteStorageTarget_S3_StorageClass) Reset() { + *x = RemoteStorageTarget_S3_StorageClass{} + mi := &file_flex_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoteStorageTarget_S3_StorageClass) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoteStorageTarget_S3_StorageClass) ProtoMessage() {} + +func (x *RemoteStorageTarget_S3_StorageClass) ProtoReflect() protoreflect.Message { + mi := &file_flex_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *RemoteStorageTarget_S3_StorageClass) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *RemoteStorageTarget_S3_StorageClass) GetArchival() *RemoteStorageTarget_S3_StorageClass_Archival { + if x != nil { + return x.Archival + } + return nil +} + +func (x *RemoteStorageTarget_S3_StorageClass) SetName(v string) { + x.Name = v +} + +func (x *RemoteStorageTarget_S3_StorageClass) SetArchival(v *RemoteStorageTarget_S3_StorageClass_Archival) { + x.Archival = v +} + +func (x *RemoteStorageTarget_S3_StorageClass) HasArchival() bool { + if x == nil { + return false + } + return x.Archival != nil +} + +func (x *RemoteStorageTarget_S3_StorageClass) ClearArchival() { + x.Archival = nil +} + +type RemoteStorageTarget_S3_StorageClass_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Name of the storage class + Name string + // Defines whether the class is archival and options for restore process + Archival *RemoteStorageTarget_S3_StorageClass_Archival +} + +func (b0 RemoteStorageTarget_S3_StorageClass_builder) Build() *RemoteStorageTarget_S3_StorageClass { + m0 := &RemoteStorageTarget_S3_StorageClass{} + b, x := &b0, m0 + _, _ = b, x + x.Name = b.Name + x.Archival = b.Archival + return m0 +} + +type RemoteStorageTarget_S3_StorageClass_Archival struct { + state protoimpl.MessageState `protogen:"hybrid.v1"` + RetrievalTier string `protobuf:"bytes,1,opt,name=retrieval_tier,json=retrievalTier,proto3" json:"retrieval_tier,omitempty"` + // Time a restored object that is archived will be accessible measured in days. + RetentionDays int32 `protobuf:"varint,2,opt,name=retention_days,json=retentionDays,proto3" json:"retention_days,omitempty"` + // Initial retry duration. Should be a positive number with a valid time + // unit (ms, s, m, h). For example, "1h" + CheckTime string `protobuf:"bytes,3,opt,name=check_time,json=checkTime,proto3" json:"check_time,omitempty"` + // Subsequent retry polling duration. Should be a positive number with a valid time + // unit (ms, s, m, h). For example, "30m" + RecheckTime string `protobuf:"bytes,4,opt,name=recheck_time,json=recheckTime,proto3" json:"recheck_time,omitempty"` + // Automatically restore from this storage class when needed. + AutoRestore bool `protobuf:"varint,5,opt,name=auto_restore,json=autoRestore,proto3" json:"auto_restore,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) Reset() { + *x = RemoteStorageTarget_S3_StorageClass_Archival{} + mi := &file_flex_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoteStorageTarget_S3_StorageClass_Archival) ProtoMessage() {} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) ProtoReflect() protoreflect.Message { + mi := &file_flex_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) GetRetrievalTier() string { + if x != nil { + return x.RetrievalTier + } + return "" +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) GetRetentionDays() int32 { + if x != nil { + return x.RetentionDays + } + return 0 +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) GetCheckTime() string { + if x != nil { + return x.CheckTime + } + return "" +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) GetRecheckTime() string { + if x != nil { + return x.RecheckTime + } + return "" +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) GetAutoRestore() bool { + if x != nil { + return x.AutoRestore + } + return false +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) SetRetrievalTier(v string) { + x.RetrievalTier = v +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) SetRetentionDays(v int32) { + x.RetentionDays = v +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) SetCheckTime(v string) { + x.CheckTime = v +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) SetRecheckTime(v string) { + x.RecheckTime = v +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) SetAutoRestore(v bool) { + x.AutoRestore = v +} + +type RemoteStorageTarget_S3_StorageClass_Archival_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + RetrievalTier string + // Time a restored object that is archived will be accessible measured in days. + RetentionDays int32 + // Initial retry duration. Should be a positive number with a valid time + // unit (ms, s, m, h). For example, "1h" + CheckTime string + // Subsequent retry polling duration. Should be a positive number with a valid time + // unit (ms, s, m, h). For example, "30m" + RecheckTime string + // Automatically restore from this storage class when needed. + AutoRestore bool +} + +func (b0 RemoteStorageTarget_S3_StorageClass_Archival_builder) Build() *RemoteStorageTarget_S3_StorageClass_Archival { + m0 := &RemoteStorageTarget_S3_StorageClass_Archival{} + b, x := &b0, m0 + _, _ = b, x + x.RetrievalTier = b.RetrievalTier + x.RetentionDays = b.RetentionDays + x.CheckTime = b.CheckTime + x.RecheckTime = b.RecheckTime + x.AutoRestore = b.AutoRestore + return m0 +} + var File_flex_proto protoreflect.FileDescriptor var file_flex_proto_rawDesc = []byte{ @@ -3818,7 +4195,7 @@ var file_flex_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf8, 0x02, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x99, 0x03, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, @@ -3842,325 +4219,373 @@ var file_flex_proto_rawDesc = []byte{ 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x75, 0x62, 0x55, 0x72, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x49, 0x64, 0x22, 0xb1, 0x04, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x43, 0x66, 0x67, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x64, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x62, 0x5f, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, - 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x14, - 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, - 0x6f, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, - 0x2e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, - 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x06, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x65, 0x78, - 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x66, 0x67, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, - 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x74, 0x61, 0x67, 0x67, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xbe, 0x04, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1d, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, - 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, - 0x74, 0x68, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, - 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x6d, - 0x6f, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6c, 0x65, 0x78, - 0x2e, 0x4d, 0x6f, 0x63, 0x6b, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x6f, 0x63, 0x6b, - 0x12, 0x23, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, - 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, - 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x2c, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x75, - 0x69, 0x6c, 0x64, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x62, 0x5f, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, 0x62, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x88, 0x01, 0x01, 0x1a, 0x8d, 0x01, 0x0a, 0x07, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6f, - 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, - 0x74, 0x6f, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x73, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x73, 0x5f, 0x73, 0x74, - 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x73, 0x53, - 0x74, 0x6f, 0x70, 0x42, 0x06, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x33, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, - 0x64, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x25, 0x0a, 0x03, 0x63, 0x66, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x66, 0x67, 0x52, 0x03, 0x63, 0x66, 0x67, 0x22, 0xf1, 0x01, - 0x0a, 0x07, 0x4d, 0x6f, 0x63, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x75, 0x6d, - 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x66, 0x61, - 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x46, 0x61, 0x69, 0x6c, 0x12, 0x34, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, - 0x2e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, - 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x03, 0x63, 0x66, - 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x4a, - 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x66, 0x67, 0x52, 0x03, 0x63, 0x66, - 0x67, 0x22, 0xd0, 0x03, 0x0a, 0x07, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, 0x12, 0x35, 0x0a, - 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, - 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x34, 0x0a, - 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, - 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, - 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x61, 0x67, - 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x74, 0x61, - 0x67, 0x67, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x36, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x01, 0x12, - 0x0c, 0x0a, 0x08, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x02, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x61, 0x67, - 0x67, 0x69, 0x6e, 0x67, 0x22, 0xfa, 0x04, 0x0a, 0x04, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x57, - 0x6f, 0x72, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x2e, 0x50, 0x61, - 0x72, 0x74, 0x52, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, - 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x6a, 0x6f, 0x62, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x1a, 0x4a, 0x0a, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0xd1, 0x01, 0x0a, 0x04, 0x50, 0x61, 0x72, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, - 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x53, 0x74, 0x6f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, - 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x54, 0x61, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, - 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x05, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, - 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0b, - 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x52, - 0x45, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, - 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, - 0x09, 0x22, 0x78, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x62, 0x65, 0x65, 0x5f, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, - 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x65, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x09, 0x62, 0x65, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x04, - 0x72, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x65, + 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x64, 0x22, 0xa9, 0x05, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x43, 0x66, 0x67, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x62, + 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, + 0x75, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, + 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x06, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x65, + 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x66, 0x67, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x74, 0x61, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x22, 0xbe, 0x04, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x33, 0x0a, 0x07, 0x73, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, + 0x6c, 0x65, 0x78, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x6d, 0x6f, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x4d, 0x6f, 0x63, 0x6b, 0x4a, 0x6f, + 0x62, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x6f, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x04, 0x73, 0x79, 0x6e, + 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, + 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x2c, + 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x4a, 0x6f, + 0x62, 0x48, 0x00, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x75, 0x62, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x73, 0x74, 0x75, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x08, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, + 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x8d, 0x01, 0x0a, + 0x07, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x61, 0x72, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x61, 0x72, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x73, 0x53, 0x74, 0x6f, 0x70, 0x42, 0x06, 0x0a, 0x04, + 0x54, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x22, 0x69, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, + 0x25, 0x0a, 0x03, 0x63, 0x66, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, + 0x6c, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x66, + 0x67, 0x52, 0x03, 0x63, 0x66, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0xf1, 0x01, 0x0a, + 0x07, 0x4d, 0x6f, 0x63, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x75, 0x6d, 0x5f, + 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x66, 0x61, 0x69, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x46, + 0x61, 0x69, 0x6c, 0x12, 0x34, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, + 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6c, + 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x03, 0x63, 0x66, 0x67, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x66, 0x67, 0x52, 0x03, 0x63, 0x66, 0x67, + 0x22, 0xc8, 0x04, 0x0a, 0x07, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, 0x12, 0x35, 0x0a, 0x09, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x0b, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, 0x6b, + 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x74, 0x61, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x36, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, + 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x02, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0xfa, 0x04, 0x0a, 0x04, + 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x29, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x70, 0x61, 0x72, + 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x52, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, + 0x72, 0x1a, 0x4a, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x66, 0x6c, 0x65, + 0x78, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0xd1, 0x01, + 0x0a, 0x04, 0x50, 0x61, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x72, + 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0a, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x61, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x53, 0x68, 0x61, + 0x32, 0x35, 0x36, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x22, 0x94, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, + 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, + 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, + 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, + 0x44, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x06, 0x12, 0x0a, + 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, + 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, + 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x09, 0x22, 0x78, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x32, 0x0a, 0x0a, 0x62, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x65, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x62, 0x65, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x72, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x04, 0x72, 0x73, + 0x74, 0x73, 0x22, 0xad, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x66, 0x6c, + 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x40, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, + 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x41, 0x52, 0x54, + 0x49, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x10, 0x03, 0x22, 0xe1, 0x02, 0x0a, 0x0d, 0x42, 0x65, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x5f, 0x74, 0x6c, 0x73, + 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x6d, 0x67, 0x6d, + 0x74, 0x64, 0x54, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x67, 0x6d, + 0x74, 0x64, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, + 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x1b, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x54, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, + 0x0a, 0x11, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x67, 0x6d, 0x74, 0x64, + 0x54, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x67, + 0x6d, 0x74, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x55, 0x73, 0x65, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xb4, 0x08, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x02, 0x73, 0x33, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x53, 0x33, 0x48, 0x00, 0x52, 0x02, + 0x73, 0x33, 0x12, 0x37, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x50, 0x4f, 0x53, + 0x49, 0x58, 0x48, 0x00, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x69, 0x78, 0x12, 0x37, 0x0a, 0x05, 0x61, + 0x7a, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x04, 0x72, 0x73, 0x74, 0x73, 0x22, 0xad, 0x01, 0x0a, 0x14, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x40, 0x0a, 0x06, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, - 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x0b, - 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x03, 0x22, 0xe1, 0x02, 0x0a, 0x0d, - 0x42, 0x65, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x64, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0e, - 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x54, 0x6c, 0x73, 0x43, 0x65, - 0x72, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x5f, 0x74, 0x6c, 0x73, 0x5f, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x6d, 0x67, 0x6d, 0x74, - 0x64, 0x54, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x67, 0x6d, 0x74, 0x64, - 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x54, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x5f, 0x75, 0x73, 0x65, - 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6d, 0x67, - 0x6d, 0x74, 0x64, 0x55, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, - 0x75, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x22, - 0x9d, 0x05, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x02, 0x73, - 0x33, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x05, 0x61, + 0x7a, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x6d, 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x6f, 0x63, 0x6b, 0x1a, 0x39, 0x0a, 0x08, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x61, + 0x78, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0xcf, 0x04, 0x0a, 0x02, 0x53, 0x33, 0x12, 0x21, 0x0a, 0x0c, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x12, + 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, + 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, + 0x12, 0x4e, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x2e, 0x53, 0x33, 0x48, 0x00, 0x52, 0x02, 0x73, 0x33, 0x12, 0x37, 0x0a, 0x05, 0x70, - 0x6f, 0x73, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x65, - 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x50, 0x4f, 0x53, 0x49, 0x58, 0x48, 0x00, 0x52, 0x05, 0x70, - 0x6f, 0x73, 0x69, 0x78, 0x12, 0x37, 0x0a, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x41, - 0x7a, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, - 0x04, 0x6d, 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6d, - 0x6f, 0x63, 0x6b, 0x1a, 0x39, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, - 0x2d, 0x0a, 0x13, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, - 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0xb8, - 0x01, 0x0a, 0x02, 0x53, 0x33, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x1a, 0x4f, 0x0a, 0x05, 0x41, 0x7a, 0x75, - 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x02, 0x73, 0x33, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x53, 0x33, 0x52, 0x02, 0x73, 0x33, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x1b, 0x0a, 0x05, 0x50, 0x4f, - 0x53, 0x49, 0x58, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x32, - 0xe0, 0x02, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x45, - 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, - 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x66, 0x6c, 0x65, 0x78, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, - 0x61, 0x74, 0x12, 0x16, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, - 0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x66, 0x6c, 0x65, - 0x78, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x57, 0x6f, 0x72, - 0x6b, 0x12, 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x66, 0x6c, 0x65, - 0x78, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x12, 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x66, 0x6c, - 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x1b, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, - 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x75, 0x6c, 0x6b, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x42, 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x70, 0x61, 0x72, 0x71, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x65, 0x78, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x65, 0x74, 0x2e, 0x53, 0x33, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x1a, 0xc4, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x2e, 0x53, 0x33, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x1a, 0xbd, 0x01, 0x0a, 0x08, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x54, 0x69, 0x65, 0x72, 0x12, 0x25, + 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x5f, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, + 0x75, 0x74, 0x6f, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, 0x1a, 0x4f, 0x0a, 0x05, 0x41, 0x7a, 0x75, 0x72, 0x65, + 0x12, 0x2c, 0x0a, 0x02, 0x73, 0x33, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, + 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x53, 0x33, 0x52, 0x02, 0x73, 0x33, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x1b, 0x0a, 0x05, 0x50, 0x4f, 0x53, 0x49, + 0x58, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x32, 0xe0, 0x02, + 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x0c, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x2e, 0x66, + 0x6c, 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, + 0x12, 0x16, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, + 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x12, + 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, + 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, + 0x12, 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, + 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x66, 0x6c, 0x65, 0x78, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x1b, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x75, 0x6c, + 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x42, 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, + 0x68, 0x69, 0x6e, 0x6b, 0x70, 0x61, 0x72, 0x71, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x65, 0x78, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var file_flex_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_flex_proto_msgTypes = make([]protoimpl.MessageInfo, 29) +var file_flex_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_flex_proto_goTypes = []any{ - (UpdateWorkRequest_NewState)(0), // 0: flex.UpdateWorkRequest.NewState - (BulkUpdateWorkRequest_NewState)(0), // 1: flex.BulkUpdateWorkRequest.NewState - (SyncJob_Operation)(0), // 2: flex.SyncJob.Operation - (Work_State)(0), // 3: flex.Work.State - (UpdateConfigResponse_Result)(0), // 4: flex.UpdateConfigResponse.Result - (*HeartbeatRequest)(nil), // 5: flex.HeartbeatRequest - (*HeartbeatResponse)(nil), // 6: flex.HeartbeatResponse - (*NodeStats)(nil), // 7: flex.NodeStats - (*SubmitWorkRequest)(nil), // 8: flex.SubmitWorkRequest - (*SubmitWorkResponse)(nil), // 9: flex.SubmitWorkResponse - (*UpdateWorkRequest)(nil), // 10: flex.UpdateWorkRequest - (*UpdateWorkResponse)(nil), // 11: flex.UpdateWorkResponse - (*BulkUpdateWorkRequest)(nil), // 12: flex.BulkUpdateWorkRequest - (*BulkUpdateWorkResponse)(nil), // 13: flex.BulkUpdateWorkResponse - (*JobLockedInfo)(nil), // 14: flex.JobLockedInfo - (*JobRequestCfg)(nil), // 15: flex.JobRequestCfg - (*WorkRequest)(nil), // 16: flex.WorkRequest - (*BuilderJob)(nil), // 17: flex.BuilderJob - (*MockJob)(nil), // 18: flex.MockJob - (*SyncJob)(nil), // 19: flex.SyncJob - (*Work)(nil), // 20: flex.Work - (*UpdateConfigRequest)(nil), // 21: flex.UpdateConfigRequest - (*UpdateConfigResponse)(nil), // 22: flex.UpdateConfigResponse - (*BeeRemoteNode)(nil), // 23: flex.BeeRemoteNode - (*RemoteStorageTarget)(nil), // 24: flex.RemoteStorageTarget - nil, // 25: flex.JobRequestCfg.MetadataEntry - (*WorkRequest_Segment)(nil), // 26: flex.WorkRequest.Segment - nil, // 27: flex.SyncJob.MetadataEntry - (*Work_Status)(nil), // 28: flex.Work.Status - (*Work_Part)(nil), // 29: flex.Work.Part - (*RemoteStorageTarget_Policies)(nil), // 30: flex.RemoteStorageTarget.Policies - (*RemoteStorageTarget_S3)(nil), // 31: flex.RemoteStorageTarget.S3 - (*RemoteStorageTarget_Azure)(nil), // 32: flex.RemoteStorageTarget.Azure - (*RemoteStorageTarget_POSIX)(nil), // 33: flex.RemoteStorageTarget.POSIX - (*timestamppb.Timestamp)(nil), // 34: google.protobuf.Timestamp + (UpdateWorkRequest_NewState)(0), // 0: flex.UpdateWorkRequest.NewState + (BulkUpdateWorkRequest_NewState)(0), // 1: flex.BulkUpdateWorkRequest.NewState + (SyncJob_Operation)(0), // 2: flex.SyncJob.Operation + (Work_State)(0), // 3: flex.Work.State + (UpdateConfigResponse_Result)(0), // 4: flex.UpdateConfigResponse.Result + (*HeartbeatRequest)(nil), // 5: flex.HeartbeatRequest + (*HeartbeatResponse)(nil), // 6: flex.HeartbeatResponse + (*NodeStats)(nil), // 7: flex.NodeStats + (*SubmitWorkRequest)(nil), // 8: flex.SubmitWorkRequest + (*SubmitWorkResponse)(nil), // 9: flex.SubmitWorkResponse + (*UpdateWorkRequest)(nil), // 10: flex.UpdateWorkRequest + (*UpdateWorkResponse)(nil), // 11: flex.UpdateWorkResponse + (*BulkUpdateWorkRequest)(nil), // 12: flex.BulkUpdateWorkRequest + (*BulkUpdateWorkResponse)(nil), // 13: flex.BulkUpdateWorkResponse + (*JobLockedInfo)(nil), // 14: flex.JobLockedInfo + (*JobRequestCfg)(nil), // 15: flex.JobRequestCfg + (*WorkRequest)(nil), // 16: flex.WorkRequest + (*BuilderJob)(nil), // 17: flex.BuilderJob + (*MockJob)(nil), // 18: flex.MockJob + (*SyncJob)(nil), // 19: flex.SyncJob + (*Work)(nil), // 20: flex.Work + (*UpdateConfigRequest)(nil), // 21: flex.UpdateConfigRequest + (*UpdateConfigResponse)(nil), // 22: flex.UpdateConfigResponse + (*BeeRemoteNode)(nil), // 23: flex.BeeRemoteNode + (*RemoteStorageTarget)(nil), // 24: flex.RemoteStorageTarget + nil, // 25: flex.JobRequestCfg.MetadataEntry + (*WorkRequest_Segment)(nil), // 26: flex.WorkRequest.Segment + nil, // 27: flex.SyncJob.MetadataEntry + (*Work_Status)(nil), // 28: flex.Work.Status + (*Work_Part)(nil), // 29: flex.Work.Part + (*RemoteStorageTarget_Policies)(nil), // 30: flex.RemoteStorageTarget.Policies + (*RemoteStorageTarget_S3)(nil), // 31: flex.RemoteStorageTarget.S3 + (*RemoteStorageTarget_Azure)(nil), // 32: flex.RemoteStorageTarget.Azure + (*RemoteStorageTarget_POSIX)(nil), // 33: flex.RemoteStorageTarget.POSIX + (*RemoteStorageTarget_S3_StorageClass)(nil), // 34: flex.RemoteStorageTarget.S3.StorageClass + (*RemoteStorageTarget_S3_StorageClass_Archival)(nil), // 35: flex.RemoteStorageTarget.S3.StorageClass.Archival + (*timestamppb.Timestamp)(nil), // 36: google.protobuf.Timestamp } var file_flex_proto_depIdxs = []int32{ 7, // 0: flex.HeartbeatResponse.node_stats:type_name -> flex.NodeStats - 34, // 1: flex.NodeStats.timestamp:type_name -> google.protobuf.Timestamp + 36, // 1: flex.NodeStats.timestamp:type_name -> google.protobuf.Timestamp 16, // 2: flex.SubmitWorkRequest.request:type_name -> flex.WorkRequest 20, // 3: flex.SubmitWorkResponse.work:type_name -> flex.Work 0, // 4: flex.UpdateWorkRequest.new_state:type_name -> flex.UpdateWorkRequest.NewState 20, // 5: flex.UpdateWorkResponse.work:type_name -> flex.Work 1, // 6: flex.BulkUpdateWorkRequest.new_state:type_name -> flex.BulkUpdateWorkRequest.NewState - 34, // 7: flex.JobLockedInfo.mtime:type_name -> google.protobuf.Timestamp - 34, // 8: flex.JobLockedInfo.remote_mtime:type_name -> google.protobuf.Timestamp + 36, // 7: flex.JobLockedInfo.mtime:type_name -> google.protobuf.Timestamp + 36, // 8: flex.JobLockedInfo.remote_mtime:type_name -> google.protobuf.Timestamp 14, // 9: flex.JobRequestCfg.locked_info:type_name -> flex.JobLockedInfo 25, // 10: flex.JobRequestCfg.metadata:type_name -> flex.JobRequestCfg.MetadataEntry 26, // 11: flex.WorkRequest.segment:type_name -> flex.WorkRequest.Segment @@ -4183,22 +4608,24 @@ var file_flex_proto_depIdxs = []int32{ 33, // 28: flex.RemoteStorageTarget.posix:type_name -> flex.RemoteStorageTarget.POSIX 32, // 29: flex.RemoteStorageTarget.azure:type_name -> flex.RemoteStorageTarget.Azure 3, // 30: flex.Work.Status.state:type_name -> flex.Work.State - 31, // 31: flex.RemoteStorageTarget.Azure.s3:type_name -> flex.RemoteStorageTarget.S3 - 21, // 32: flex.WorkerNode.UpdateConfig:input_type -> flex.UpdateConfigRequest - 5, // 33: flex.WorkerNode.Heartbeat:input_type -> flex.HeartbeatRequest - 8, // 34: flex.WorkerNode.SubmitWork:input_type -> flex.SubmitWorkRequest - 10, // 35: flex.WorkerNode.UpdateWork:input_type -> flex.UpdateWorkRequest - 12, // 36: flex.WorkerNode.BulkUpdateWork:input_type -> flex.BulkUpdateWorkRequest - 22, // 37: flex.WorkerNode.UpdateConfig:output_type -> flex.UpdateConfigResponse - 6, // 38: flex.WorkerNode.Heartbeat:output_type -> flex.HeartbeatResponse - 9, // 39: flex.WorkerNode.SubmitWork:output_type -> flex.SubmitWorkResponse - 11, // 40: flex.WorkerNode.UpdateWork:output_type -> flex.UpdateWorkResponse - 13, // 41: flex.WorkerNode.BulkUpdateWork:output_type -> flex.BulkUpdateWorkResponse - 37, // [37:42] is the sub-list for method output_type - 32, // [32:37] is the sub-list for method input_type - 32, // [32:32] is the sub-list for extension type_name - 32, // [32:32] is the sub-list for extension extendee - 0, // [0:32] is the sub-list for field type_name + 34, // 31: flex.RemoteStorageTarget.S3.storage_class:type_name -> flex.RemoteStorageTarget.S3.StorageClass + 31, // 32: flex.RemoteStorageTarget.Azure.s3:type_name -> flex.RemoteStorageTarget.S3 + 35, // 33: flex.RemoteStorageTarget.S3.StorageClass.archival:type_name -> flex.RemoteStorageTarget.S3.StorageClass.Archival + 21, // 34: flex.WorkerNode.UpdateConfig:input_type -> flex.UpdateConfigRequest + 5, // 35: flex.WorkerNode.Heartbeat:input_type -> flex.HeartbeatRequest + 8, // 36: flex.WorkerNode.SubmitWork:input_type -> flex.SubmitWorkRequest + 10, // 37: flex.WorkerNode.UpdateWork:input_type -> flex.UpdateWorkRequest + 12, // 38: flex.WorkerNode.BulkUpdateWork:input_type -> flex.BulkUpdateWorkRequest + 22, // 39: flex.WorkerNode.UpdateConfig:output_type -> flex.UpdateConfigResponse + 6, // 40: flex.WorkerNode.Heartbeat:output_type -> flex.HeartbeatResponse + 9, // 41: flex.WorkerNode.SubmitWork:output_type -> flex.SubmitWorkResponse + 11, // 42: flex.WorkerNode.UpdateWork:output_type -> flex.UpdateWorkResponse + 13, // 43: flex.WorkerNode.BulkUpdateWork:output_type -> flex.BulkUpdateWorkResponse + 39, // [39:44] is the sub-list for method output_type + 34, // [34:39] is the sub-list for method input_type + 34, // [34:34] is the sub-list for extension type_name + 34, // [34:34] is the sub-list for extension extendee + 0, // [0:34] is the sub-list for field type_name } func init() { file_flex_proto_init() } @@ -4219,13 +4646,14 @@ func file_flex_proto_init() { (*RemoteStorageTarget_Azure_)(nil), (*RemoteStorageTarget_Mock)(nil), } + file_flex_proto_msgTypes[29].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_flex_proto_rawDesc, NumEnums: 5, - NumMessages: 29, + NumMessages: 31, NumExtensions: 0, NumServices: 1, }, diff --git a/go/flex/flex_protoopaque.pb.go b/go/flex/flex_protoopaque.pb.go index 60a0776..f1c4c59 100644 --- a/go/flex/flex_protoopaque.pb.go +++ b/go/flex/flex_protoopaque.pb.go @@ -954,6 +954,7 @@ type JobLockedInfo struct { xxx_hidden_StubUrlRstId uint32 `protobuf:"varint,8,opt,name=stub_url_rst_id,json=stubUrlRstId,proto3" json:"stub_url_rst_id,omitempty"` xxx_hidden_StubUrlPath string `protobuf:"bytes,9,opt,name=stub_url_path,json=stubUrlPath,proto3" json:"stub_url_path,omitempty"` xxx_hidden_ExternalId string `protobuf:"bytes,10,opt,name=externalId,proto3" json:"externalId,omitempty"` + xxx_hidden_IsArchived bool `protobuf:"varint,11,opt,name=is_archived,json=isArchived,proto3" json:"is_archived,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -1053,6 +1054,13 @@ func (x *JobLockedInfo) GetExternalId() string { return "" } +func (x *JobLockedInfo) GetIsArchived() bool { + if x != nil { + return x.xxx_hidden_IsArchived + } + return false +} + func (x *JobLockedInfo) SetReadWriteLocked(v bool) { x.xxx_hidden_ReadWriteLocked = v } @@ -1093,6 +1101,10 @@ func (x *JobLockedInfo) SetExternalId(v string) { x.xxx_hidden_ExternalId = v } +func (x *JobLockedInfo) SetIsArchived(v bool) { + x.xxx_hidden_IsArchived = v +} + func (x *JobLockedInfo) HasMtime() bool { if x == nil { return false @@ -1136,6 +1148,8 @@ type JobLockedInfo_builder struct { StubUrlRstId uint32 StubUrlPath string ExternalId string + // Whether the file or object have been archived and needs to be retrieved prior to download. + IsArchived bool } func (b0 JobLockedInfo_builder) Build() *JobLockedInfo { @@ -1152,6 +1166,7 @@ func (b0 JobLockedInfo_builder) Build() *JobLockedInfo { x.xxx_hidden_StubUrlRstId = b.StubUrlRstId x.xxx_hidden_StubUrlPath = b.StubUrlPath x.xxx_hidden_ExternalId = b.ExternalId + x.xxx_hidden_IsArchived = b.IsArchived return m0 } @@ -1170,6 +1185,8 @@ type JobRequestCfg struct { xxx_hidden_Metadata map[string]string `protobuf:"bytes,13,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` xxx_hidden_Tagging *string `protobuf:"bytes,14,opt,name=tagging,proto3,oneof" json:"tagging,omitempty"` xxx_hidden_Priority int32 `protobuf:"varint,11,opt,name=priority,proto3,oneof" json:"priority,omitempty"` + xxx_hidden_StorageClass *string `protobuf:"bytes,12,opt,name=storage_class,json=storageClass,proto3,oneof" json:"storage_class,omitempty"` + xxx_hidden_AllowRestore bool `protobuf:"varint,15,opt,name=allow_restore,json=allowRestore,proto3,oneof" json:"allow_restore,omitempty"` XXX_raceDetectHookData protoimpl.RaceDetectHookData XXX_presence [1]uint32 unknownFields protoimpl.UnknownFields @@ -1295,6 +1312,23 @@ func (x *JobRequestCfg) GetPriority() int32 { return 0 } +func (x *JobRequestCfg) GetStorageClass() string { + if x != nil { + if x.xxx_hidden_StorageClass != nil { + return *x.xxx_hidden_StorageClass + } + return "" + } + return "" +} + +func (x *JobRequestCfg) GetAllowRestore() bool { + if x != nil { + return x.xxx_hidden_AllowRestore + } + return false +} + func (x *JobRequestCfg) SetRemoteStorageTarget(v uint32) { x.xxx_hidden_RemoteStorageTarget = v } @@ -1333,7 +1367,7 @@ func (x *JobRequestCfg) SetLockedInfo(v *JobLockedInfo) { func (x *JobRequestCfg) SetUpdate(v bool) { x.xxx_hidden_Update = v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 9, 13) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 9, 15) } func (x *JobRequestCfg) SetMetadata(v map[string]string) { @@ -1342,12 +1376,22 @@ func (x *JobRequestCfg) SetMetadata(v map[string]string) { func (x *JobRequestCfg) SetTagging(v string) { x.xxx_hidden_Tagging = &v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 11, 13) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 11, 15) } func (x *JobRequestCfg) SetPriority(v int32) { x.xxx_hidden_Priority = v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 12, 13) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 12, 15) +} + +func (x *JobRequestCfg) SetStorageClass(v string) { + x.xxx_hidden_StorageClass = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 13, 15) +} + +func (x *JobRequestCfg) SetAllowRestore(v bool) { + x.xxx_hidden_AllowRestore = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 14, 15) } func (x *JobRequestCfg) HasLockedInfo() bool { @@ -1378,6 +1422,20 @@ func (x *JobRequestCfg) HasPriority() bool { return protoimpl.X.Present(&(x.XXX_presence[0]), 12) } +func (x *JobRequestCfg) HasStorageClass() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 13) +} + +func (x *JobRequestCfg) HasAllowRestore() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 14) +} + func (x *JobRequestCfg) ClearLockedInfo() { x.xxx_hidden_LockedInfo = nil } @@ -1397,6 +1455,16 @@ func (x *JobRequestCfg) ClearPriority() { x.xxx_hidden_Priority = 0 } +func (x *JobRequestCfg) ClearStorageClass() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 13) + x.xxx_hidden_StorageClass = nil +} + +func (x *JobRequestCfg) ClearAllowRestore() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 14) + x.xxx_hidden_AllowRestore = false +} + type JobRequestCfg_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. @@ -1413,6 +1481,8 @@ type JobRequestCfg_builder struct { Metadata map[string]string Tagging *string Priority *int32 + StorageClass *string + AllowRestore *bool } func (b0 JobRequestCfg_builder) Build() *JobRequestCfg { @@ -1429,18 +1499,26 @@ func (b0 JobRequestCfg_builder) Build() *JobRequestCfg { x.xxx_hidden_Force = b.Force x.xxx_hidden_LockedInfo = b.LockedInfo if b.Update != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 9, 13) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 9, 15) x.xxx_hidden_Update = *b.Update } x.xxx_hidden_Metadata = b.Metadata if b.Tagging != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 11, 13) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 11, 15) x.xxx_hidden_Tagging = b.Tagging } if b.Priority != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 12, 13) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 12, 15) x.xxx_hidden_Priority = *b.Priority } + if b.StorageClass != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 13, 15) + x.xxx_hidden_StorageClass = b.StorageClass + } + if b.AllowRestore != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 14, 15) + x.xxx_hidden_AllowRestore = *b.AllowRestore + } return m0 } @@ -1806,10 +1884,12 @@ func (*workRequest_Builder) isWorkRequest_Type() {} // JobBuilderJob is a special type of job that creates job requests of any time. type BuilderJob struct { - state protoimpl.MessageState `protogen:"opaque.v1"` - xxx_hidden_Cfg *JobRequestCfg `protobuf:"bytes,1,opt,name=cfg,proto3" json:"cfg,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Cfg *JobRequestCfg `protobuf:"bytes,1,opt,name=cfg,proto3" json:"cfg,omitempty"` + xxx_hidden_Submitted int32 `protobuf:"varint,2,opt,name=submitted,proto3" json:"submitted,omitempty"` + xxx_hidden_Errors int32 `protobuf:"varint,3,opt,name=errors,proto3" json:"errors,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *BuilderJob) Reset() { @@ -1844,10 +1924,32 @@ func (x *BuilderJob) GetCfg() *JobRequestCfg { return nil } +func (x *BuilderJob) GetSubmitted() int32 { + if x != nil { + return x.xxx_hidden_Submitted + } + return 0 +} + +func (x *BuilderJob) GetErrors() int32 { + if x != nil { + return x.xxx_hidden_Errors + } + return 0 +} + func (x *BuilderJob) SetCfg(v *JobRequestCfg) { x.xxx_hidden_Cfg = v } +func (x *BuilderJob) SetSubmitted(v int32) { + x.xxx_hidden_Submitted = v +} + +func (x *BuilderJob) SetErrors(v int32) { + x.xxx_hidden_Errors = v +} + func (x *BuilderJob) HasCfg() bool { if x == nil { return false @@ -1863,6 +1965,10 @@ type BuilderJob_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. Cfg *JobRequestCfg + // Stores the total number of job requests that were submitted regardless of success. + Submitted int32 + // Stores the number of failed job requests. + Errors int32 } func (b0 BuilderJob_builder) Build() *BuilderJob { @@ -1870,6 +1976,8 @@ func (b0 BuilderJob_builder) Build() *BuilderJob { b, x := &b0, m0 _, _ = b, x x.xxx_hidden_Cfg = b.Cfg + x.xxx_hidden_Submitted = b.Submitted + x.xxx_hidden_Errors = b.Errors return m0 } @@ -2027,19 +2135,21 @@ func (b0 MockJob_builder) Build() *MockJob { // to be done. It does not carry any details about HOW the request will be // fufilled (that is part of the generated SyncRequest). type SyncJob struct { - state protoimpl.MessageState `protogen:"opaque.v1"` - xxx_hidden_Operation SyncJob_Operation `protobuf:"varint,1,opt,name=operation,proto3,enum=flex.SyncJob_Operation" json:"operation,omitempty"` - xxx_hidden_Overwrite bool `protobuf:"varint,2,opt,name=overwrite,proto3" json:"overwrite,omitempty"` - xxx_hidden_RemotePath string `protobuf:"bytes,3,opt,name=remote_path,json=remotePath,proto3" json:"remote_path,omitempty"` - xxx_hidden_Flatten bool `protobuf:"varint,5,opt,name=flatten,proto3" json:"flatten,omitempty"` - xxx_hidden_LockedInfo *JobLockedInfo `protobuf:"bytes,6,opt,name=locked_info,json=lockedInfo,proto3" json:"locked_info,omitempty"` - xxx_hidden_Update bool `protobuf:"varint,7,opt,name=update,proto3,oneof" json:"update,omitempty"` - xxx_hidden_Metadata map[string]string `protobuf:"bytes,9,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` - xxx_hidden_Tagging *string `protobuf:"bytes,10,opt,name=tagging,proto3,oneof" json:"tagging,omitempty"` - XXX_raceDetectHookData protoimpl.RaceDetectHookData - XXX_presence [1]uint32 - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Operation SyncJob_Operation `protobuf:"varint,1,opt,name=operation,proto3,enum=flex.SyncJob_Operation" json:"operation,omitempty"` + xxx_hidden_Overwrite bool `protobuf:"varint,2,opt,name=overwrite,proto3" json:"overwrite,omitempty"` + xxx_hidden_RemotePath string `protobuf:"bytes,3,opt,name=remote_path,json=remotePath,proto3" json:"remote_path,omitempty"` + xxx_hidden_Flatten bool `protobuf:"varint,5,opt,name=flatten,proto3" json:"flatten,omitempty"` + xxx_hidden_LockedInfo *JobLockedInfo `protobuf:"bytes,6,opt,name=locked_info,json=lockedInfo,proto3" json:"locked_info,omitempty"` + xxx_hidden_Update bool `protobuf:"varint,7,opt,name=update,proto3,oneof" json:"update,omitempty"` + xxx_hidden_Metadata map[string]string `protobuf:"bytes,9,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"` + xxx_hidden_Tagging *string `protobuf:"bytes,10,opt,name=tagging,proto3,oneof" json:"tagging,omitempty"` + xxx_hidden_StorageClass *string `protobuf:"bytes,12,opt,name=storage_class,json=storageClass,proto3,oneof" json:"storage_class,omitempty"` + xxx_hidden_AllowRestore bool `protobuf:"varint,13,opt,name=allow_restore,json=allowRestore,proto3,oneof" json:"allow_restore,omitempty"` + XXX_raceDetectHookData protoimpl.RaceDetectHookData + XXX_presence [1]uint32 + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *SyncJob) Reset() { @@ -2126,6 +2236,23 @@ func (x *SyncJob) GetTagging() string { return "" } +func (x *SyncJob) GetStorageClass() string { + if x != nil { + if x.xxx_hidden_StorageClass != nil { + return *x.xxx_hidden_StorageClass + } + return "" + } + return "" +} + +func (x *SyncJob) GetAllowRestore() bool { + if x != nil { + return x.xxx_hidden_AllowRestore + } + return false +} + func (x *SyncJob) SetOperation(v SyncJob_Operation) { x.xxx_hidden_Operation = v } @@ -2148,7 +2275,7 @@ func (x *SyncJob) SetLockedInfo(v *JobLockedInfo) { func (x *SyncJob) SetUpdate(v bool) { x.xxx_hidden_Update = v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 8) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 5, 10) } func (x *SyncJob) SetMetadata(v map[string]string) { @@ -2157,7 +2284,17 @@ func (x *SyncJob) SetMetadata(v map[string]string) { func (x *SyncJob) SetTagging(v string) { x.xxx_hidden_Tagging = &v - protoimpl.X.SetPresent(&(x.XXX_presence[0]), 7, 8) + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 7, 10) +} + +func (x *SyncJob) SetStorageClass(v string) { + x.xxx_hidden_StorageClass = &v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 8, 10) +} + +func (x *SyncJob) SetAllowRestore(v bool) { + x.xxx_hidden_AllowRestore = v + protoimpl.X.SetPresent(&(x.XXX_presence[0]), 9, 10) } func (x *SyncJob) HasLockedInfo() bool { @@ -2181,6 +2318,20 @@ func (x *SyncJob) HasTagging() bool { return protoimpl.X.Present(&(x.XXX_presence[0]), 7) } +func (x *SyncJob) HasStorageClass() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 8) +} + +func (x *SyncJob) HasAllowRestore() bool { + if x == nil { + return false + } + return protoimpl.X.Present(&(x.XXX_presence[0]), 9) +} + func (x *SyncJob) ClearLockedInfo() { x.xxx_hidden_LockedInfo = nil } @@ -2195,6 +2346,16 @@ func (x *SyncJob) ClearTagging() { x.xxx_hidden_Tagging = nil } +func (x *SyncJob) ClearStorageClass() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 8) + x.xxx_hidden_StorageClass = nil +} + +func (x *SyncJob) ClearAllowRestore() { + protoimpl.X.ClearPresent(&(x.XXX_presence[0]), 9) + x.xxx_hidden_AllowRestore = false +} + type SyncJob_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. @@ -2210,11 +2371,13 @@ type SyncJob_builder struct { RemotePath string // By default the remote directory structure will be preserved on downloads unless flatten is // set. If the flag is set then the directory delimiter will be replaced with an underscore. - Flatten bool - LockedInfo *JobLockedInfo - Update *bool - Metadata map[string]string - Tagging *string + Flatten bool + LockedInfo *JobLockedInfo + Update *bool + Metadata map[string]string + Tagging *string + StorageClass *string + AllowRestore *bool } func (b0 SyncJob_builder) Build() *SyncJob { @@ -2227,14 +2390,22 @@ func (b0 SyncJob_builder) Build() *SyncJob { x.xxx_hidden_Flatten = b.Flatten x.xxx_hidden_LockedInfo = b.LockedInfo if b.Update != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 8) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 5, 10) x.xxx_hidden_Update = *b.Update } x.xxx_hidden_Metadata = b.Metadata if b.Tagging != nil { - protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 7, 8) + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 7, 10) x.xxx_hidden_Tagging = b.Tagging } + if b.StorageClass != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 8, 10) + x.xxx_hidden_StorageClass = b.StorageClass + } + if b.AllowRestore != nil { + protoimpl.X.SetPresentNonAtomic(&(x.XXX_presence[0]), 9, 10) + x.xxx_hidden_AllowRestore = *b.AllowRestore + } return m0 } @@ -3437,19 +3608,20 @@ func (b0 RemoteStorageTarget_Policies_builder) Build() *RemoteStorageTarget_Poli // The S3 type uses the AWS S3 SDK under the hood. To support non-AWS S3 // services we implement the EndPointResolverWithOptions interface to // provide custom endpoint resolving behavior. By specifying the -// endpoint_url and optionally the parition_id and region we can support +// endpoint_url and optionally the partition_id and region we can support // local S3 services like MinIO and theoretically other cloud providers like // Azure or GCP. type RemoteStorageTarget_S3 struct { - state protoimpl.MessageState `protogen:"opaque.v1"` - xxx_hidden_EndpointUrl string `protobuf:"bytes,1,opt,name=endpoint_url,json=endpointUrl,proto3" json:"endpoint_url,omitempty"` - xxx_hidden_PartitionId string `protobuf:"bytes,2,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"` - xxx_hidden_Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"` - xxx_hidden_Bucket string `protobuf:"bytes,4,opt,name=bucket,proto3" json:"bucket,omitempty"` - xxx_hidden_AccessKey string `protobuf:"bytes,5,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` - xxx_hidden_SecretKey string `protobuf:"bytes,6,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` - unknownFields protoimpl.UnknownFields - sizeCache protoimpl.SizeCache + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_EndpointUrl string `protobuf:"bytes,1,opt,name=endpoint_url,json=endpointUrl,proto3" json:"endpoint_url,omitempty"` + xxx_hidden_PartitionId string `protobuf:"bytes,2,opt,name=partition_id,json=partitionId,proto3" json:"partition_id,omitempty"` + xxx_hidden_Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"` + xxx_hidden_Bucket string `protobuf:"bytes,4,opt,name=bucket,proto3" json:"bucket,omitempty"` + xxx_hidden_AccessKey string `protobuf:"bytes,5,opt,name=access_key,json=accessKey,proto3" json:"access_key,omitempty"` + xxx_hidden_SecretKey string `protobuf:"bytes,6,opt,name=secret_key,json=secretKey,proto3" json:"secret_key,omitempty"` + xxx_hidden_StorageClass *[]*RemoteStorageTarget_S3_StorageClass `protobuf:"bytes,8,rep,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache } func (x *RemoteStorageTarget_S3) Reset() { @@ -3519,6 +3691,15 @@ func (x *RemoteStorageTarget_S3) GetSecretKey() string { return "" } +func (x *RemoteStorageTarget_S3) GetStorageClass() []*RemoteStorageTarget_S3_StorageClass { + if x != nil { + if x.xxx_hidden_StorageClass != nil { + return *x.xxx_hidden_StorageClass + } + } + return nil +} + func (x *RemoteStorageTarget_S3) SetEndpointUrl(v string) { x.xxx_hidden_EndpointUrl = v } @@ -3543,6 +3724,10 @@ func (x *RemoteStorageTarget_S3) SetSecretKey(v string) { x.xxx_hidden_SecretKey = v } +func (x *RemoteStorageTarget_S3) SetStorageClass(v []*RemoteStorageTarget_S3_StorageClass) { + x.xxx_hidden_StorageClass = &v +} + type RemoteStorageTarget_S3_builder struct { _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. @@ -3561,6 +3746,9 @@ type RemoteStorageTarget_S3_builder struct { Bucket string AccessKey string SecretKey string + // User-defined list of storage classes. Only archival storage class are currently + // supported. + StorageClass []*RemoteStorageTarget_S3_StorageClass } func (b0 RemoteStorageTarget_S3_builder) Build() *RemoteStorageTarget_S3 { @@ -3573,6 +3761,7 @@ func (b0 RemoteStorageTarget_S3_builder) Build() *RemoteStorageTarget_S3 { x.xxx_hidden_Bucket = b.Bucket x.xxx_hidden_AccessKey = b.AccessKey x.xxx_hidden_SecretKey = b.SecretKey + x.xxx_hidden_StorageClass = &b.StorageClass return m0 } @@ -3715,6 +3904,209 @@ func (b0 RemoteStorageTarget_POSIX_builder) Build() *RemoteStorageTarget_POSIX { return m0 } +type RemoteStorageTarget_S3_StorageClass struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` + xxx_hidden_Archival *RemoteStorageTarget_S3_StorageClass_Archival `protobuf:"bytes,2,opt,name=archival,proto3,oneof" json:"archival,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoteStorageTarget_S3_StorageClass) Reset() { + *x = RemoteStorageTarget_S3_StorageClass{} + mi := &file_flex_proto_msgTypes[29] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoteStorageTarget_S3_StorageClass) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoteStorageTarget_S3_StorageClass) ProtoMessage() {} + +func (x *RemoteStorageTarget_S3_StorageClass) ProtoReflect() protoreflect.Message { + mi := &file_flex_proto_msgTypes[29] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *RemoteStorageTarget_S3_StorageClass) GetName() string { + if x != nil { + return x.xxx_hidden_Name + } + return "" +} + +func (x *RemoteStorageTarget_S3_StorageClass) GetArchival() *RemoteStorageTarget_S3_StorageClass_Archival { + if x != nil { + return x.xxx_hidden_Archival + } + return nil +} + +func (x *RemoteStorageTarget_S3_StorageClass) SetName(v string) { + x.xxx_hidden_Name = v +} + +func (x *RemoteStorageTarget_S3_StorageClass) SetArchival(v *RemoteStorageTarget_S3_StorageClass_Archival) { + x.xxx_hidden_Archival = v +} + +func (x *RemoteStorageTarget_S3_StorageClass) HasArchival() bool { + if x == nil { + return false + } + return x.xxx_hidden_Archival != nil +} + +func (x *RemoteStorageTarget_S3_StorageClass) ClearArchival() { + x.xxx_hidden_Archival = nil +} + +type RemoteStorageTarget_S3_StorageClass_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + // Name of the storage class + Name string + // Defines whether the class is archival and options for restore process + Archival *RemoteStorageTarget_S3_StorageClass_Archival +} + +func (b0 RemoteStorageTarget_S3_StorageClass_builder) Build() *RemoteStorageTarget_S3_StorageClass { + m0 := &RemoteStorageTarget_S3_StorageClass{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_Name = b.Name + x.xxx_hidden_Archival = b.Archival + return m0 +} + +type RemoteStorageTarget_S3_StorageClass_Archival struct { + state protoimpl.MessageState `protogen:"opaque.v1"` + xxx_hidden_RetrievalTier string `protobuf:"bytes,1,opt,name=retrieval_tier,json=retrievalTier,proto3" json:"retrieval_tier,omitempty"` + xxx_hidden_RetentionDays int32 `protobuf:"varint,2,opt,name=retention_days,json=retentionDays,proto3" json:"retention_days,omitempty"` + xxx_hidden_CheckTime string `protobuf:"bytes,3,opt,name=check_time,json=checkTime,proto3" json:"check_time,omitempty"` + xxx_hidden_RecheckTime string `protobuf:"bytes,4,opt,name=recheck_time,json=recheckTime,proto3" json:"recheck_time,omitempty"` + xxx_hidden_AutoRestore bool `protobuf:"varint,5,opt,name=auto_restore,json=autoRestore,proto3" json:"auto_restore,omitempty"` + unknownFields protoimpl.UnknownFields + sizeCache protoimpl.SizeCache +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) Reset() { + *x = RemoteStorageTarget_S3_StorageClass_Archival{} + mi := &file_flex_proto_msgTypes[30] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoteStorageTarget_S3_StorageClass_Archival) ProtoMessage() {} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) ProtoReflect() protoreflect.Message { + mi := &file_flex_proto_msgTypes[30] + if x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) GetRetrievalTier() string { + if x != nil { + return x.xxx_hidden_RetrievalTier + } + return "" +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) GetRetentionDays() int32 { + if x != nil { + return x.xxx_hidden_RetentionDays + } + return 0 +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) GetCheckTime() string { + if x != nil { + return x.xxx_hidden_CheckTime + } + return "" +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) GetRecheckTime() string { + if x != nil { + return x.xxx_hidden_RecheckTime + } + return "" +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) GetAutoRestore() bool { + if x != nil { + return x.xxx_hidden_AutoRestore + } + return false +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) SetRetrievalTier(v string) { + x.xxx_hidden_RetrievalTier = v +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) SetRetentionDays(v int32) { + x.xxx_hidden_RetentionDays = v +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) SetCheckTime(v string) { + x.xxx_hidden_CheckTime = v +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) SetRecheckTime(v string) { + x.xxx_hidden_RecheckTime = v +} + +func (x *RemoteStorageTarget_S3_StorageClass_Archival) SetAutoRestore(v bool) { + x.xxx_hidden_AutoRestore = v +} + +type RemoteStorageTarget_S3_StorageClass_Archival_builder struct { + _ [0]func() // Prevents comparability and use of unkeyed literals for the builder. + + RetrievalTier string + // Time a restored object that is archived will be accessible measured in days. + RetentionDays int32 + // Initial retry duration. Should be a positive number with a valid time + // unit (ms, s, m, h). For example, "1h" + CheckTime string + // Subsequent retry polling duration. Should be a positive number with a valid time + // unit (ms, s, m, h). For example, "30m" + RecheckTime string + // Automatically restore from this storage class when needed. + AutoRestore bool +} + +func (b0 RemoteStorageTarget_S3_StorageClass_Archival_builder) Build() *RemoteStorageTarget_S3_StorageClass_Archival { + m0 := &RemoteStorageTarget_S3_StorageClass_Archival{} + b, x := &b0, m0 + _, _ = b, x + x.xxx_hidden_RetrievalTier = b.RetrievalTier + x.xxx_hidden_RetentionDays = b.RetentionDays + x.xxx_hidden_CheckTime = b.CheckTime + x.xxx_hidden_RecheckTime = b.RecheckTime + x.xxx_hidden_AutoRestore = b.AutoRestore + return m0 +} + var File_flex_proto protoreflect.FileDescriptor var file_flex_proto_rawDesc = []byte{ @@ -3773,7 +4165,7 @@ var file_flex_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0xf8, 0x02, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, + 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x99, 0x03, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2a, 0x0a, 0x11, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x72, 0x65, 0x61, 0x64, 0x57, 0x72, 0x69, 0x74, 0x65, @@ -3797,325 +4189,373 @@ var file_flex_proto_rawDesc = []byte{ 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x73, 0x74, 0x75, 0x62, 0x55, 0x72, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x49, 0x64, 0x22, 0xb1, 0x04, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x43, 0x66, 0x67, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x64, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, - 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x62, 0x5f, - 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, - 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x14, - 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x66, - 0x6f, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, - 0x2e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, - 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x06, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x65, 0x78, - 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x66, 0x67, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, - 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x74, 0x61, 0x67, 0x67, 0x69, - 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, - 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, - 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, - 0x02, 0x38, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x0a, - 0x0a, 0x08, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, - 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0xbe, 0x04, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1d, - 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, - 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x12, - 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, - 0x74, 0x68, 0x12, 0x33, 0x0a, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, - 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x6d, - 0x6f, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6c, 0x65, 0x78, - 0x2e, 0x4d, 0x6f, 0x63, 0x6b, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x6f, 0x63, 0x6b, - 0x12, 0x23, 0x0a, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, - 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, - 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x2c, 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, - 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x75, - 0x69, 0x6c, 0x64, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, - 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x62, 0x5f, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, 0x75, 0x62, 0x4c, 0x6f, 0x63, - 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, - 0x88, 0x01, 0x01, 0x1a, 0x8d, 0x01, 0x0a, 0x07, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, - 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6f, - 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, - 0x74, 0x6f, 0x70, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x73, 0x53, - 0x74, 0x61, 0x72, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x73, 0x5f, 0x73, 0x74, - 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x73, 0x53, - 0x74, 0x6f, 0x70, 0x42, 0x06, 0x0a, 0x04, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, - 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x33, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, - 0x64, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, 0x25, 0x0a, 0x03, 0x63, 0x66, 0x67, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x66, 0x67, 0x52, 0x03, 0x63, 0x66, 0x67, 0x22, 0xf1, 0x01, - 0x0a, 0x07, 0x4d, 0x6f, 0x63, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x75, 0x6d, - 0x5f, 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x67, - 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, - 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, - 0x7a, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, - 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x66, 0x61, - 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x46, 0x61, 0x69, 0x6c, 0x12, 0x34, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, - 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, - 0x2e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, - 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x03, 0x63, 0x66, - 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x4a, - 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x66, 0x67, 0x52, 0x03, 0x63, 0x66, - 0x67, 0x22, 0xd0, 0x03, 0x0a, 0x07, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, 0x12, 0x35, 0x0a, - 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, 0x2e, - 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, - 0x74, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x74, - 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, - 0x61, 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x34, 0x0a, - 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, - 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, - 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, - 0x12, 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, - 0x62, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x61, 0x67, - 0x67, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x74, 0x61, - 0x67, 0x67, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, - 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x36, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, - 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x01, 0x12, - 0x0c, 0x0a, 0x08, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x02, 0x42, 0x09, 0x0a, - 0x07, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x61, 0x67, - 0x67, 0x69, 0x6e, 0x67, 0x22, 0xfa, 0x04, 0x0a, 0x04, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, - 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, - 0x68, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x29, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x57, - 0x6f, 0x72, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x0f, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x2e, 0x50, 0x61, - 0x72, 0x74, 0x52, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, - 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, - 0x6a, 0x6f, 0x62, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x1a, 0x4a, 0x0a, 0x06, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x2e, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, - 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, - 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0xd1, 0x01, 0x0a, 0x04, 0x50, 0x61, 0x72, 0x74, 0x12, - 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, - 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, - 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, - 0x53, 0x74, 0x6f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, - 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x54, 0x61, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, - 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x1c, 0x0a, 0x09, - 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x22, 0x94, 0x01, 0x0a, 0x05, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, - 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, - 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, - 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0b, - 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x52, - 0x45, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, 0x44, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, - 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x06, 0x12, 0x0a, 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, - 0x44, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, - 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, - 0x09, 0x22, 0x78, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x32, 0x0a, 0x0a, 0x62, 0x65, 0x65, 0x5f, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, - 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x65, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, - 0x65, 0x52, 0x09, 0x62, 0x65, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x04, - 0x72, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x65, + 0x6c, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x73, 0x5f, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, + 0x65, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x41, 0x72, 0x63, 0x68, + 0x69, 0x76, 0x65, 0x64, 0x22, 0xa9, 0x05, 0x0a, 0x0d, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x43, 0x66, 0x67, 0x12, 0x30, 0x0a, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0d, 0x52, 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x1e, 0x0a, 0x0a, + 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x1a, 0x0a, 0x08, + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, + 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x75, 0x62, + 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x73, 0x74, + 0x75, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, + 0x72, 0x69, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, + 0x14, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, + 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, + 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, + 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x06, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x75, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3d, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x65, + 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x66, 0x67, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x67, 0x69, + 0x6e, 0x67, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x74, 0x61, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, + 0x74, 0x79, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x08, 0x70, 0x72, 0x69, 0x6f, + 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x03, + 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x48, 0x04, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x75, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x42, + 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x10, 0x0a, 0x0e, + 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x10, + 0x0a, 0x0e, 0x5f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x22, 0xbe, 0x04, 0x0a, 0x0b, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, + 0x61, 0x6c, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x33, 0x0a, 0x07, 0x73, + 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x66, + 0x6c, 0x65, 0x78, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, + 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x07, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, + 0x12, 0x32, 0x0a, 0x15, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0d, 0x52, + 0x13, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x04, 0x6d, 0x6f, 0x63, 0x6b, 0x18, 0x0a, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x4d, 0x6f, 0x63, 0x6b, 0x4a, 0x6f, + 0x62, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x6f, 0x63, 0x6b, 0x12, 0x23, 0x0a, 0x04, 0x73, 0x79, 0x6e, + 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0d, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, + 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, 0x48, 0x00, 0x52, 0x04, 0x73, 0x79, 0x6e, 0x63, 0x12, 0x2c, + 0x0a, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x10, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x4a, 0x6f, + 0x62, 0x48, 0x00, 0x52, 0x07, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x12, 0x1d, 0x0a, 0x0a, + 0x73, 0x74, 0x75, 0x62, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x09, 0x73, 0x74, 0x75, 0x62, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x12, 0x1f, 0x0a, 0x08, 0x70, + 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x01, 0x52, + 0x08, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x88, 0x01, 0x01, 0x1a, 0x8d, 0x01, 0x0a, + 0x07, 0x53, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, + 0x65, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, + 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, + 0x52, 0x0a, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x1f, 0x0a, 0x0b, + 0x70, 0x61, 0x72, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x74, 0x73, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1d, 0x0a, + 0x0a, 0x70, 0x61, 0x72, 0x74, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x05, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x73, 0x53, 0x74, 0x6f, 0x70, 0x42, 0x06, 0x0a, 0x04, + 0x54, 0x79, 0x70, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, + 0x79, 0x22, 0x69, 0x0a, 0x0a, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x4a, 0x6f, 0x62, 0x12, + 0x25, 0x0a, 0x03, 0x63, 0x66, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, + 0x6c, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x66, + 0x67, 0x52, 0x03, 0x63, 0x66, 0x67, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x75, 0x62, 0x6d, 0x69, 0x74, + 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x09, 0x73, 0x75, 0x62, 0x6d, 0x69, + 0x74, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0xf1, 0x01, 0x0a, + 0x07, 0x4d, 0x6f, 0x63, 0x6b, 0x4a, 0x6f, 0x62, 0x12, 0x2a, 0x0a, 0x11, 0x6e, 0x75, 0x6d, 0x5f, + 0x74, 0x65, 0x73, 0x74, 0x5f, 0x73, 0x65, 0x67, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x05, 0x52, 0x0f, 0x6e, 0x75, 0x6d, 0x54, 0x65, 0x73, 0x74, 0x53, 0x65, 0x67, 0x6d, + 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x73, 0x69, 0x7a, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x49, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x5f, 0x66, 0x61, 0x69, + 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x46, + 0x61, 0x69, 0x6c, 0x12, 0x34, 0x0a, 0x0b, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, + 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, + 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6c, + 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x25, 0x0a, 0x03, 0x63, 0x66, 0x67, + 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x4a, 0x6f, + 0x62, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x66, 0x67, 0x52, 0x03, 0x63, 0x66, 0x67, + 0x22, 0xc8, 0x04, 0x0a, 0x07, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, 0x12, 0x35, 0x0a, 0x09, + 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, 0x2e, 0x4f, + 0x70, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x77, 0x72, 0x69, 0x74, + 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x5f, 0x70, 0x61, 0x74, 0x68, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x50, 0x61, + 0x74, 0x68, 0x12, 0x18, 0x0a, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x66, 0x6c, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x34, 0x0a, 0x0b, + 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x4a, 0x6f, 0x62, 0x4c, 0x6f, 0x63, 0x6b, + 0x65, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0a, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, + 0x66, 0x6f, 0x12, 0x1b, 0x0a, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x08, 0x48, 0x00, 0x52, 0x06, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x88, 0x01, 0x01, 0x12, + 0x37, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x1b, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x79, 0x6e, 0x63, 0x4a, 0x6f, 0x62, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x07, 0x74, 0x61, 0x67, 0x67, + 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x48, 0x01, 0x52, 0x07, 0x74, 0x61, 0x67, + 0x67, 0x69, 0x6e, 0x67, 0x88, 0x01, 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x48, 0x02, + 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x88, 0x01, + 0x01, 0x12, 0x28, 0x0a, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x48, 0x03, 0x52, 0x0c, 0x61, 0x6c, 0x6c, 0x6f, + 0x77, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x88, 0x01, 0x01, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x36, 0x0a, 0x09, 0x4f, 0x70, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, + 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x55, 0x50, 0x4c, 0x4f, 0x41, 0x44, + 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x44, 0x4f, 0x57, 0x4e, 0x4c, 0x4f, 0x41, 0x44, 0x10, 0x02, + 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x5f, + 0x74, 0x61, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x42, 0x10, 0x0a, 0x0e, 0x5f, 0x61, 0x6c, + 0x6c, 0x6f, 0x77, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0xfa, 0x04, 0x0a, 0x04, + 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x15, 0x0a, 0x06, 0x6a, 0x6f, 0x62, 0x5f, + 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6a, 0x6f, 0x62, 0x49, 0x64, 0x12, + 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x29, + 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, + 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x25, 0x0a, 0x05, 0x70, 0x61, 0x72, + 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, + 0x57, 0x6f, 0x72, 0x6b, 0x2e, 0x50, 0x61, 0x72, 0x74, 0x52, 0x05, 0x70, 0x61, 0x72, 0x74, 0x73, + 0x12, 0x1f, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x5f, 0x62, 0x75, 0x69, 0x6c, 0x64, 0x65, 0x72, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6a, 0x6f, 0x62, 0x42, 0x75, 0x69, 0x6c, 0x64, 0x65, + 0x72, 0x1a, 0x4a, 0x0a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x26, 0x0a, 0x05, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x10, 0x2e, 0x66, 0x6c, 0x65, + 0x78, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, + 0x61, 0x74, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x1a, 0xd1, 0x01, + 0x0a, 0x04, 0x50, 0x61, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x5f, 0x6e, + 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x70, 0x61, 0x72, + 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0b, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x66, + 0x66, 0x73, 0x65, 0x74, 0x5f, 0x73, 0x74, 0x6f, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0a, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x65, + 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x61, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x61, 0x67, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x53, 0x68, 0x61, + 0x32, 0x35, 0x36, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, + 0x64, 0x22, 0x94, 0x01, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0f, 0x0a, 0x0b, 0x55, + 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, + 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x43, 0x52, 0x45, + 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, + 0x4c, 0x45, 0x44, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 0x49, 0x4e, 0x47, + 0x10, 0x04, 0x12, 0x0f, 0x0a, 0x0b, 0x52, 0x45, 0x53, 0x43, 0x48, 0x45, 0x44, 0x55, 0x4c, 0x45, + 0x44, 0x10, 0x05, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x06, 0x12, 0x0a, + 0x0a, 0x06, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x07, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x41, + 0x4e, 0x43, 0x45, 0x4c, 0x4c, 0x45, 0x44, 0x10, 0x08, 0x12, 0x0d, 0x0a, 0x09, 0x43, 0x4f, 0x4d, + 0x50, 0x4c, 0x45, 0x54, 0x45, 0x44, 0x10, 0x09, 0x22, 0x78, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x32, 0x0a, 0x0a, 0x62, 0x65, 0x65, 0x5f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x65, 0x65, 0x52, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x62, 0x65, 0x65, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x04, 0x72, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x19, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x04, 0x72, 0x73, + 0x74, 0x73, 0x22, 0xad, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x72, + 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x66, 0x6c, + 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, + 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x22, 0x40, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, + 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x41, 0x52, 0x54, + 0x49, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x0b, 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, + 0x10, 0x03, 0x22, 0xe1, 0x02, 0x0a, 0x0d, 0x42, 0x65, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, + 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, + 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0e, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x5f, 0x74, 0x6c, 0x73, + 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x6d, 0x67, 0x6d, + 0x74, 0x64, 0x54, 0x6c, 0x73, 0x43, 0x65, 0x72, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x67, 0x6d, + 0x74, 0x64, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, + 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x1b, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x54, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, + 0x0a, 0x11, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x67, 0x6d, 0x74, 0x64, + 0x54, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x67, + 0x6d, 0x74, 0x64, 0x5f, 0x75, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x55, 0x73, 0x65, 0x50, 0x72, 0x6f, + 0x78, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x53, 0x65, 0x63, + 0x72, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x44, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x22, 0xb4, 0x08, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x74, + 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x02, 0x73, 0x33, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x53, 0x33, 0x48, 0x00, 0x52, 0x02, + 0x73, 0x33, 0x12, 0x37, 0x0a, 0x05, 0x70, 0x6f, 0x73, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x50, 0x4f, 0x53, + 0x49, 0x58, 0x48, 0x00, 0x52, 0x05, 0x70, 0x6f, 0x73, 0x69, 0x78, 0x12, 0x37, 0x0a, 0x05, 0x61, + 0x7a, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x52, 0x04, 0x72, 0x73, 0x74, 0x73, 0x22, 0xad, 0x01, 0x0a, 0x14, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x2e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x06, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, - 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x40, 0x0a, 0x06, 0x52, 0x65, 0x73, - 0x75, 0x6c, 0x74, 0x12, 0x0f, 0x0a, 0x0b, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, - 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53, 0x10, - 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x10, 0x02, 0x12, 0x0b, - 0x0a, 0x07, 0x46, 0x41, 0x49, 0x4c, 0x55, 0x52, 0x45, 0x10, 0x03, 0x22, 0xe1, 0x02, 0x0a, 0x0d, - 0x42, 0x65, 0x65, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x18, 0x0a, - 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, - 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x67, 0x6d, 0x74, 0x64, - 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, - 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x24, 0x0a, 0x0e, - 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x63, 0x65, 0x72, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0c, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x54, 0x6c, 0x73, 0x43, 0x65, - 0x72, 0x74, 0x12, 0x43, 0x0a, 0x1e, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x5f, 0x74, 0x6c, 0x73, 0x5f, - 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x6d, 0x67, 0x6d, 0x74, - 0x64, 0x54, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x65, 0x72, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x0a, 0x11, 0x6d, 0x67, 0x6d, 0x74, 0x64, - 0x5f, 0x74, 0x6c, 0x73, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0f, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x54, 0x6c, 0x73, 0x44, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x67, 0x6d, 0x74, 0x64, 0x5f, 0x75, 0x73, 0x65, - 0x5f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x6d, 0x67, - 0x6d, 0x74, 0x64, 0x55, 0x73, 0x65, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x1f, 0x0a, 0x0b, 0x61, - 0x75, 0x74, 0x68, 0x5f, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x0a, 0x61, 0x75, 0x74, 0x68, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x21, 0x0a, 0x0c, - 0x61, 0x75, 0x74, 0x68, 0x5f, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x68, 0x44, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x22, - 0x9d, 0x05, 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, - 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x02, 0x73, - 0x33, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x41, 0x7a, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x05, 0x61, + 0x7a, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, 0x04, 0x6d, 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6d, 0x6f, 0x63, 0x6b, 0x1a, 0x39, 0x0a, 0x08, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x2d, 0x0a, 0x13, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x61, + 0x78, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0xcf, 0x04, 0x0a, 0x02, 0x53, 0x33, 0x12, 0x21, 0x0a, 0x0c, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x12, + 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, + 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, + 0x12, 0x4e, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, - 0x65, 0x74, 0x2e, 0x53, 0x33, 0x48, 0x00, 0x52, 0x02, 0x73, 0x33, 0x12, 0x37, 0x0a, 0x05, 0x70, - 0x6f, 0x73, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x65, - 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, - 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x50, 0x4f, 0x53, 0x49, 0x58, 0x48, 0x00, 0x52, 0x05, 0x70, - 0x6f, 0x73, 0x69, 0x78, 0x12, 0x37, 0x0a, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, - 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x41, - 0x7a, 0x75, 0x72, 0x65, 0x48, 0x00, 0x52, 0x05, 0x61, 0x7a, 0x75, 0x72, 0x65, 0x12, 0x14, 0x0a, - 0x04, 0x6d, 0x6f, 0x63, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x04, 0x6d, - 0x6f, 0x63, 0x6b, 0x1a, 0x39, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, - 0x2d, 0x0a, 0x13, 0x66, 0x61, 0x73, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x6d, 0x61, - 0x78, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x66, 0x61, - 0x73, 0x74, 0x53, 0x74, 0x61, 0x72, 0x74, 0x4d, 0x61, 0x78, 0x53, 0x69, 0x7a, 0x65, 0x1a, 0xb8, - 0x01, 0x0a, 0x02, 0x53, 0x33, 0x12, 0x21, 0x0a, 0x0c, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, - 0x74, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x65, 0x6e, 0x64, - 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x55, 0x72, 0x6c, 0x12, 0x21, 0x0a, 0x0c, 0x70, 0x61, 0x72, 0x74, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, - 0x70, 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x67, - 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x65, - 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x1a, 0x4f, 0x0a, 0x05, 0x41, 0x7a, 0x75, - 0x72, 0x65, 0x12, 0x2c, 0x0a, 0x02, 0x73, 0x33, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, - 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x53, 0x33, 0x52, 0x02, 0x73, 0x33, - 0x12, 0x18, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x1b, 0x0a, 0x05, 0x50, 0x4f, - 0x53, 0x49, 0x58, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x32, - 0xe0, 0x02, 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x45, - 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, - 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x66, 0x6c, 0x65, 0x78, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, - 0x61, 0x74, 0x12, 0x16, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, - 0x65, 0x61, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x66, 0x6c, 0x65, - 0x78, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x57, 0x6f, 0x72, - 0x6b, 0x12, 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x57, - 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x66, 0x6c, 0x65, - 0x78, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, - 0x72, 0x6b, 0x12, 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x66, 0x6c, - 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x1b, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, - 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x75, 0x6c, 0x6b, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x42, 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x74, 0x68, 0x69, 0x6e, 0x6b, 0x70, 0x61, 0x72, 0x71, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x65, 0x78, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x65, 0x74, 0x2e, 0x53, 0x33, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, + 0x1a, 0xc4, 0x02, 0x0a, 0x0c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, + 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x53, 0x0a, 0x08, 0x61, 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, + 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x52, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x54, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x2e, 0x53, 0x33, 0x2e, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x2e, 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, 0x48, 0x00, 0x52, 0x08, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, 0x88, 0x01, 0x01, 0x1a, 0xbd, 0x01, 0x0a, 0x08, 0x41, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x72, 0x69, + 0x65, 0x76, 0x61, 0x6c, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0d, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x76, 0x61, 0x6c, 0x54, 0x69, 0x65, 0x72, 0x12, 0x25, + 0x0a, 0x0e, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x64, 0x61, 0x79, 0x73, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, + 0x6e, 0x44, 0x61, 0x79, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x72, 0x65, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x72, 0x65, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x5f, + 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, + 0x75, 0x74, 0x6f, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, + 0x72, 0x63, 0x68, 0x69, 0x76, 0x61, 0x6c, 0x1a, 0x4f, 0x0a, 0x05, 0x41, 0x7a, 0x75, 0x72, 0x65, + 0x12, 0x2c, 0x0a, 0x02, 0x73, 0x33, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x66, + 0x6c, 0x65, 0x78, 0x2e, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x2e, 0x53, 0x33, 0x52, 0x02, 0x73, 0x33, 0x12, 0x18, + 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x1b, 0x0a, 0x05, 0x50, 0x4f, 0x53, 0x49, + 0x58, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x70, 0x61, 0x74, 0x68, 0x42, 0x06, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x32, 0xe0, 0x02, + 0x0a, 0x0a, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x45, 0x0a, 0x0c, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x19, 0x2e, 0x66, + 0x6c, 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1a, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x3c, 0x0a, 0x09, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, + 0x12, 0x16, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, + 0x48, 0x65, 0x61, 0x72, 0x74, 0x62, 0x65, 0x61, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x12, + 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x57, 0x6f, 0x72, + 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, + 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, + 0x12, 0x17, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, + 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x18, 0x2e, 0x66, 0x6c, 0x65, 0x78, + 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x4b, 0x0a, 0x0e, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x12, 0x1b, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x75, 0x6c, + 0x6b, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x66, 0x6c, 0x65, 0x78, 0x2e, 0x42, 0x75, 0x6c, 0x6b, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x42, 0x27, 0x5a, 0x25, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x74, + 0x68, 0x69, 0x6e, 0x6b, 0x70, 0x61, 0x72, 0x71, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x67, 0x6f, 0x2f, 0x66, 0x6c, 0x65, 0x78, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var file_flex_proto_enumTypes = make([]protoimpl.EnumInfo, 5) -var file_flex_proto_msgTypes = make([]protoimpl.MessageInfo, 29) +var file_flex_proto_msgTypes = make([]protoimpl.MessageInfo, 31) var file_flex_proto_goTypes = []any{ - (UpdateWorkRequest_NewState)(0), // 0: flex.UpdateWorkRequest.NewState - (BulkUpdateWorkRequest_NewState)(0), // 1: flex.BulkUpdateWorkRequest.NewState - (SyncJob_Operation)(0), // 2: flex.SyncJob.Operation - (Work_State)(0), // 3: flex.Work.State - (UpdateConfigResponse_Result)(0), // 4: flex.UpdateConfigResponse.Result - (*HeartbeatRequest)(nil), // 5: flex.HeartbeatRequest - (*HeartbeatResponse)(nil), // 6: flex.HeartbeatResponse - (*NodeStats)(nil), // 7: flex.NodeStats - (*SubmitWorkRequest)(nil), // 8: flex.SubmitWorkRequest - (*SubmitWorkResponse)(nil), // 9: flex.SubmitWorkResponse - (*UpdateWorkRequest)(nil), // 10: flex.UpdateWorkRequest - (*UpdateWorkResponse)(nil), // 11: flex.UpdateWorkResponse - (*BulkUpdateWorkRequest)(nil), // 12: flex.BulkUpdateWorkRequest - (*BulkUpdateWorkResponse)(nil), // 13: flex.BulkUpdateWorkResponse - (*JobLockedInfo)(nil), // 14: flex.JobLockedInfo - (*JobRequestCfg)(nil), // 15: flex.JobRequestCfg - (*WorkRequest)(nil), // 16: flex.WorkRequest - (*BuilderJob)(nil), // 17: flex.BuilderJob - (*MockJob)(nil), // 18: flex.MockJob - (*SyncJob)(nil), // 19: flex.SyncJob - (*Work)(nil), // 20: flex.Work - (*UpdateConfigRequest)(nil), // 21: flex.UpdateConfigRequest - (*UpdateConfigResponse)(nil), // 22: flex.UpdateConfigResponse - (*BeeRemoteNode)(nil), // 23: flex.BeeRemoteNode - (*RemoteStorageTarget)(nil), // 24: flex.RemoteStorageTarget - nil, // 25: flex.JobRequestCfg.MetadataEntry - (*WorkRequest_Segment)(nil), // 26: flex.WorkRequest.Segment - nil, // 27: flex.SyncJob.MetadataEntry - (*Work_Status)(nil), // 28: flex.Work.Status - (*Work_Part)(nil), // 29: flex.Work.Part - (*RemoteStorageTarget_Policies)(nil), // 30: flex.RemoteStorageTarget.Policies - (*RemoteStorageTarget_S3)(nil), // 31: flex.RemoteStorageTarget.S3 - (*RemoteStorageTarget_Azure)(nil), // 32: flex.RemoteStorageTarget.Azure - (*RemoteStorageTarget_POSIX)(nil), // 33: flex.RemoteStorageTarget.POSIX - (*timestamppb.Timestamp)(nil), // 34: google.protobuf.Timestamp + (UpdateWorkRequest_NewState)(0), // 0: flex.UpdateWorkRequest.NewState + (BulkUpdateWorkRequest_NewState)(0), // 1: flex.BulkUpdateWorkRequest.NewState + (SyncJob_Operation)(0), // 2: flex.SyncJob.Operation + (Work_State)(0), // 3: flex.Work.State + (UpdateConfigResponse_Result)(0), // 4: flex.UpdateConfigResponse.Result + (*HeartbeatRequest)(nil), // 5: flex.HeartbeatRequest + (*HeartbeatResponse)(nil), // 6: flex.HeartbeatResponse + (*NodeStats)(nil), // 7: flex.NodeStats + (*SubmitWorkRequest)(nil), // 8: flex.SubmitWorkRequest + (*SubmitWorkResponse)(nil), // 9: flex.SubmitWorkResponse + (*UpdateWorkRequest)(nil), // 10: flex.UpdateWorkRequest + (*UpdateWorkResponse)(nil), // 11: flex.UpdateWorkResponse + (*BulkUpdateWorkRequest)(nil), // 12: flex.BulkUpdateWorkRequest + (*BulkUpdateWorkResponse)(nil), // 13: flex.BulkUpdateWorkResponse + (*JobLockedInfo)(nil), // 14: flex.JobLockedInfo + (*JobRequestCfg)(nil), // 15: flex.JobRequestCfg + (*WorkRequest)(nil), // 16: flex.WorkRequest + (*BuilderJob)(nil), // 17: flex.BuilderJob + (*MockJob)(nil), // 18: flex.MockJob + (*SyncJob)(nil), // 19: flex.SyncJob + (*Work)(nil), // 20: flex.Work + (*UpdateConfigRequest)(nil), // 21: flex.UpdateConfigRequest + (*UpdateConfigResponse)(nil), // 22: flex.UpdateConfigResponse + (*BeeRemoteNode)(nil), // 23: flex.BeeRemoteNode + (*RemoteStorageTarget)(nil), // 24: flex.RemoteStorageTarget + nil, // 25: flex.JobRequestCfg.MetadataEntry + (*WorkRequest_Segment)(nil), // 26: flex.WorkRequest.Segment + nil, // 27: flex.SyncJob.MetadataEntry + (*Work_Status)(nil), // 28: flex.Work.Status + (*Work_Part)(nil), // 29: flex.Work.Part + (*RemoteStorageTarget_Policies)(nil), // 30: flex.RemoteStorageTarget.Policies + (*RemoteStorageTarget_S3)(nil), // 31: flex.RemoteStorageTarget.S3 + (*RemoteStorageTarget_Azure)(nil), // 32: flex.RemoteStorageTarget.Azure + (*RemoteStorageTarget_POSIX)(nil), // 33: flex.RemoteStorageTarget.POSIX + (*RemoteStorageTarget_S3_StorageClass)(nil), // 34: flex.RemoteStorageTarget.S3.StorageClass + (*RemoteStorageTarget_S3_StorageClass_Archival)(nil), // 35: flex.RemoteStorageTarget.S3.StorageClass.Archival + (*timestamppb.Timestamp)(nil), // 36: google.protobuf.Timestamp } var file_flex_proto_depIdxs = []int32{ 7, // 0: flex.HeartbeatResponse.node_stats:type_name -> flex.NodeStats - 34, // 1: flex.NodeStats.timestamp:type_name -> google.protobuf.Timestamp + 36, // 1: flex.NodeStats.timestamp:type_name -> google.protobuf.Timestamp 16, // 2: flex.SubmitWorkRequest.request:type_name -> flex.WorkRequest 20, // 3: flex.SubmitWorkResponse.work:type_name -> flex.Work 0, // 4: flex.UpdateWorkRequest.new_state:type_name -> flex.UpdateWorkRequest.NewState 20, // 5: flex.UpdateWorkResponse.work:type_name -> flex.Work 1, // 6: flex.BulkUpdateWorkRequest.new_state:type_name -> flex.BulkUpdateWorkRequest.NewState - 34, // 7: flex.JobLockedInfo.mtime:type_name -> google.protobuf.Timestamp - 34, // 8: flex.JobLockedInfo.remote_mtime:type_name -> google.protobuf.Timestamp + 36, // 7: flex.JobLockedInfo.mtime:type_name -> google.protobuf.Timestamp + 36, // 8: flex.JobLockedInfo.remote_mtime:type_name -> google.protobuf.Timestamp 14, // 9: flex.JobRequestCfg.locked_info:type_name -> flex.JobLockedInfo 25, // 10: flex.JobRequestCfg.metadata:type_name -> flex.JobRequestCfg.MetadataEntry 26, // 11: flex.WorkRequest.segment:type_name -> flex.WorkRequest.Segment @@ -4138,22 +4578,24 @@ var file_flex_proto_depIdxs = []int32{ 33, // 28: flex.RemoteStorageTarget.posix:type_name -> flex.RemoteStorageTarget.POSIX 32, // 29: flex.RemoteStorageTarget.azure:type_name -> flex.RemoteStorageTarget.Azure 3, // 30: flex.Work.Status.state:type_name -> flex.Work.State - 31, // 31: flex.RemoteStorageTarget.Azure.s3:type_name -> flex.RemoteStorageTarget.S3 - 21, // 32: flex.WorkerNode.UpdateConfig:input_type -> flex.UpdateConfigRequest - 5, // 33: flex.WorkerNode.Heartbeat:input_type -> flex.HeartbeatRequest - 8, // 34: flex.WorkerNode.SubmitWork:input_type -> flex.SubmitWorkRequest - 10, // 35: flex.WorkerNode.UpdateWork:input_type -> flex.UpdateWorkRequest - 12, // 36: flex.WorkerNode.BulkUpdateWork:input_type -> flex.BulkUpdateWorkRequest - 22, // 37: flex.WorkerNode.UpdateConfig:output_type -> flex.UpdateConfigResponse - 6, // 38: flex.WorkerNode.Heartbeat:output_type -> flex.HeartbeatResponse - 9, // 39: flex.WorkerNode.SubmitWork:output_type -> flex.SubmitWorkResponse - 11, // 40: flex.WorkerNode.UpdateWork:output_type -> flex.UpdateWorkResponse - 13, // 41: flex.WorkerNode.BulkUpdateWork:output_type -> flex.BulkUpdateWorkResponse - 37, // [37:42] is the sub-list for method output_type - 32, // [32:37] is the sub-list for method input_type - 32, // [32:32] is the sub-list for extension type_name - 32, // [32:32] is the sub-list for extension extendee - 0, // [0:32] is the sub-list for field type_name + 34, // 31: flex.RemoteStorageTarget.S3.storage_class:type_name -> flex.RemoteStorageTarget.S3.StorageClass + 31, // 32: flex.RemoteStorageTarget.Azure.s3:type_name -> flex.RemoteStorageTarget.S3 + 35, // 33: flex.RemoteStorageTarget.S3.StorageClass.archival:type_name -> flex.RemoteStorageTarget.S3.StorageClass.Archival + 21, // 34: flex.WorkerNode.UpdateConfig:input_type -> flex.UpdateConfigRequest + 5, // 35: flex.WorkerNode.Heartbeat:input_type -> flex.HeartbeatRequest + 8, // 36: flex.WorkerNode.SubmitWork:input_type -> flex.SubmitWorkRequest + 10, // 37: flex.WorkerNode.UpdateWork:input_type -> flex.UpdateWorkRequest + 12, // 38: flex.WorkerNode.BulkUpdateWork:input_type -> flex.BulkUpdateWorkRequest + 22, // 39: flex.WorkerNode.UpdateConfig:output_type -> flex.UpdateConfigResponse + 6, // 40: flex.WorkerNode.Heartbeat:output_type -> flex.HeartbeatResponse + 9, // 41: flex.WorkerNode.SubmitWork:output_type -> flex.SubmitWorkResponse + 11, // 42: flex.WorkerNode.UpdateWork:output_type -> flex.UpdateWorkResponse + 13, // 43: flex.WorkerNode.BulkUpdateWork:output_type -> flex.BulkUpdateWorkResponse + 39, // [39:44] is the sub-list for method output_type + 34, // [34:39] is the sub-list for method input_type + 34, // [34:34] is the sub-list for extension type_name + 34, // [34:34] is the sub-list for extension extendee + 0, // [0:34] is the sub-list for field type_name } func init() { file_flex_proto_init() } @@ -4174,13 +4616,14 @@ func file_flex_proto_init() { (*remoteStorageTarget_Azure_)(nil), (*remoteStorageTarget_Mock)(nil), } + file_flex_proto_msgTypes[29].OneofWrappers = []any{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_flex_proto_rawDesc, NumEnums: 5, - NumMessages: 29, + NumMessages: 31, NumExtensions: 0, NumServices: 1, }, diff --git a/proto/flex.proto b/proto/flex.proto index eb08063..5495c6b 100644 --- a/proto/flex.proto +++ b/proto/flex.proto @@ -104,6 +104,8 @@ message JobLockedInfo { uint32 stub_url_rst_id = 8; string stub_url_path = 9; string externalId = 10; + // Whether the file or object have been archived and needs to be retrieved prior to download. + bool is_archived = 11; } message JobRequestCfg { @@ -120,6 +122,8 @@ message JobRequestCfg { map metadata = 13; optional string tagging = 14; optional int32 priority = 11; + optional string storage_class = 12; + optional bool allow_restore = 15; } // BeeRemote assigns work for a job to one or more worker nodes. @@ -157,6 +161,10 @@ message WorkRequest { // JobBuilderJob is a special type of job that creates job requests of any time. message BuilderJob { JobRequestCfg cfg = 1; + // Stores the total number of job requests that were submitted regardless of success. + int32 submitted = 2; + // Stores the number of failed job requests. + int32 errors = 3; } message MockJob { @@ -195,6 +203,8 @@ message SyncJob { optional bool update = 7; map metadata = 9; optional string tagging = 10; + optional string storage_class = 12; + optional bool allow_restore = 13; } // Currently while requests types are specific to a particular worker node type, @@ -381,7 +391,7 @@ message RemoteStorageTarget { // The S3 type uses the AWS S3 SDK under the hood. To support non-AWS S3 // services we implement the EndPointResolverWithOptions interface to // provide custom endpoint resolving behavior. By specifying the - // endpoint_url and optionally the parition_id and region we can support + // endpoint_url and optionally the partition_id and region we can support // local S3 services like MinIO and theoretically other cloud providers like // Azure or GCP. message S3 { @@ -400,6 +410,28 @@ message RemoteStorageTarget { string bucket = 4; string access_key = 5; string secret_key = 6; + // User-defined list of storage classes. Only archival storage class are currently + // supported. + repeated StorageClass storage_class = 8; + message StorageClass { + // Name of the storage class + string name = 1; + // Defines whether the class is archival and options for restore process + optional Archival archival = 2; + message Archival { + string retrieval_tier = 1; + // Time a restored object that is archived will be accessible measured in days. + int32 retention_days = 2; + // Initial retry duration. Should be a positive number with a valid time + // unit (ms, s, m, h). For example, "1h" + string check_time = 3; + // Subsequent retry polling duration. Should be a positive number with a valid time + // unit (ms, s, m, h). For example, "30m" + string recheck_time = 4; + // Automatically restore from this storage class when needed. + bool auto_restore = 5; + } + } } message Azure { diff --git a/rust/flex.rs b/rust/flex.rs index 9ddccae..7a892fc 100644 --- a/rust/flex.rs +++ b/rust/flex.rs @@ -179,6 +179,9 @@ pub struct JobLockedInfo { pub stub_url_path: ::prost::alloc::string::String, #[prost(string, tag = "10")] pub external_id: ::prost::alloc::string::String, + /// Whether the file or object have been archived and needs to be retrieved prior to download. + #[prost(bool, tag = "11")] + pub is_archived: bool, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct JobRequestCfg { @@ -211,6 +214,10 @@ pub struct JobRequestCfg { pub tagging: ::core::option::Option<::prost::alloc::string::String>, #[prost(int32, optional, tag = "11")] pub priority: ::core::option::Option, + #[prost(string, optional, tag = "12")] + pub storage_class: ::core::option::Option<::prost::alloc::string::String>, + #[prost(bool, optional, tag = "15")] + pub allow_restore: ::core::option::Option, } /// BeeRemote assigns work for a job to one or more worker nodes. #[derive(Clone, PartialEq, ::prost::Message)] @@ -271,6 +278,12 @@ pub mod work_request { pub struct BuilderJob { #[prost(message, optional, tag = "1")] pub cfg: ::core::option::Option, + /// Stores the total number of job requests that were submitted regardless of success. + #[prost(int32, tag = "2")] + pub submitted: i32, + /// Stores the number of failed job requests. + #[prost(int32, tag = "3")] + pub errors: i32, } #[derive(Clone, PartialEq, ::prost::Message)] pub struct MockJob { @@ -321,6 +334,10 @@ pub struct SyncJob { >, #[prost(string, optional, tag = "10")] pub tagging: ::core::option::Option<::prost::alloc::string::String>, + #[prost(string, optional, tag = "12")] + pub storage_class: ::core::option::Option<::prost::alloc::string::String>, + #[prost(bool, optional, tag = "13")] + pub allow_restore: ::core::option::Option, } /// Nested message and enum types in `SyncJob`. pub mod sync_job { @@ -674,7 +691,7 @@ pub mod remote_storage_target { /// The S3 type uses the AWS S3 SDK under the hood. To support non-AWS S3 /// services we implement the EndPointResolverWithOptions interface to /// provide custom endpoint resolving behavior. By specifying the - /// endpoint_url and optionally the parition_id and region we can support + /// endpoint_url and optionally the partition_id and region we can support /// local S3 services like MinIO and theoretically other cloud providers like /// Azure or GCP. #[derive(Clone, PartialEq, ::prost::Message)] @@ -700,6 +717,44 @@ pub mod remote_storage_target { pub access_key: ::prost::alloc::string::String, #[prost(string, tag = "6")] pub secret_key: ::prost::alloc::string::String, + /// User-defined list of storage classes. Only archival storage class are currently + /// supported. + #[prost(message, repeated, tag = "8")] + pub storage_class: ::prost::alloc::vec::Vec, + } + /// Nested message and enum types in `S3`. + pub mod s3 { + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct StorageClass { + /// Name of the storage class + #[prost(string, tag = "1")] + pub name: ::prost::alloc::string::String, + /// Defines whether the class is archival and options for restore process + #[prost(message, optional, tag = "2")] + pub archival: ::core::option::Option, + } + /// Nested message and enum types in `StorageClass`. + pub mod storage_class { + #[derive(Clone, PartialEq, ::prost::Message)] + pub struct Archival { + #[prost(string, tag = "1")] + pub retrieval_tier: ::prost::alloc::string::String, + /// Time a restored object that is archived will be accessible measured in days. + #[prost(int32, tag = "2")] + pub retention_days: i32, + /// Initial retry duration. Should be a positive number with a valid time + /// unit (ms, s, m, h). For example, "1h" + #[prost(string, tag = "3")] + pub check_time: ::prost::alloc::string::String, + /// Subsequent retry polling duration. Should be a positive number with a valid time + /// unit (ms, s, m, h). For example, "30m" + #[prost(string, tag = "4")] + pub recheck_time: ::prost::alloc::string::String, + /// Automatically restore from this storage class when needed. + #[prost(bool, tag = "5")] + pub auto_restore: bool, + } + } } #[derive(Clone, PartialEq, ::prost::Message)] pub struct Azure {