Generate GRPC bindings for snapshots
Signed-off-by: Maksym Pavlenko <pavlenko.maksym@gmail.com>
This commit is contained in:
		
							parent
							
								
									b342a674b1
								
							
						
					
					
						commit
						e3b7f97813
					
				| 
						 | 
				
			
			@ -73,7 +73,7 @@ fn main() {
 | 
			
		|||
// 47 |     pub diff: ::core::option::Option<super::super::super::types::Descriptor>,
 | 
			
		||||
//    |                                                    ^^^^^ there are too many leading `super` keywords
 | 
			
		||||
//
 | 
			
		||||
// This func aims to fix these imports to crate level ones, like `crate::types::Mount`
 | 
			
		||||
// This func fixes imports to crate level ones, like `crate::types::Mount`
 | 
			
		||||
fn fixup_imports(path: &str) -> Result<(), io::Error> {
 | 
			
		||||
    let out_dir = env::var("OUT_DIR").unwrap();
 | 
			
		||||
    let path = format!("{}/{}.rs", out_dir, path);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -8,3 +8,9 @@ repository = "https://github.com/containerd/rust-extensions"
 | 
			
		|||
homepage = "https://containerd.io"
 | 
			
		||||
 | 
			
		||||
[dependencies]
 | 
			
		||||
tonic = "0.6"
 | 
			
		||||
prost = "0.9"
 | 
			
		||||
prost-types = "0.9"
 | 
			
		||||
 | 
			
		||||
[build-dependencies]
 | 
			
		||||
tonic-build = "0.6"
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,42 @@
 | 
			
		|||
use std::env;
 | 
			
		||||
use std::fs;
 | 
			
		||||
use std::io;
 | 
			
		||||
 | 
			
		||||
const PROTO_FILES: &[&str] = &[
 | 
			
		||||
    "vendor/github.com/containerd/containerd/api/types/mount.proto",
 | 
			
		||||
    "vendor/github.com/containerd/containerd/api/services/snapshots/v1/snapshots.proto",
 | 
			
		||||
];
 | 
			
		||||
 | 
			
		||||
const FIXUP_MODULES: &[&str] = &["containerd.services.snapshots.v1"];
 | 
			
		||||
 | 
			
		||||
fn main() {
 | 
			
		||||
    tonic_build::configure()
 | 
			
		||||
        .build_server(true)
 | 
			
		||||
        .compile(PROTO_FILES, &["vendor/"])
 | 
			
		||||
        .expect("Failed to generate GRPC bindings");
 | 
			
		||||
 | 
			
		||||
    for module in FIXUP_MODULES {
 | 
			
		||||
        fixup_imports(module).expect("Failed to fixup module");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// Original containerd's protobuf files contain Go style imports:
 | 
			
		||||
// import "github.com/containerd/containerd/api/types/mount.proto";
 | 
			
		||||
//
 | 
			
		||||
// Tonic produces invalid code for these imports:
 | 
			
		||||
// error[E0433]: failed to resolve: there are too many leading `super` keywords
 | 
			
		||||
//   --> /containerd-rust-extensions/target/debug/build/containerd-client-protos-0a328c0c63f60cd0/out/containerd.services.diff.v1.rs:47:52
 | 
			
		||||
//    |
 | 
			
		||||
// 47 |     pub diff: ::core::option::Option<super::super::super::types::Descriptor>,
 | 
			
		||||
//    |                                                    ^^^^^ there are too many leading `super` keywords
 | 
			
		||||
//
 | 
			
		||||
// This func fixes imports to crate level ones, like `crate::types::Mount`
 | 
			
		||||
fn fixup_imports(path: &str) -> Result<(), io::Error> {
 | 
			
		||||
    let out_dir = env::var("OUT_DIR").unwrap();
 | 
			
		||||
    let path = format!("{}/{}.rs", out_dir, path);
 | 
			
		||||
 | 
			
		||||
    let contents =
 | 
			
		||||
        fs::read_to_string(&path)?.replace("super::super::super::types", "crate::api::types");
 | 
			
		||||
    fs::write(path, contents)?;
 | 
			
		||||
    Ok(())
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -1,7 +1,16 @@
 | 
			
		|||
#[cfg(test)]
 | 
			
		||||
mod tests {
 | 
			
		||||
    #[test]
 | 
			
		||||
    fn it_works() {
 | 
			
		||||
        assert_eq!(2 + 2, 4);
 | 
			
		||||
//! Remote snapshotter library for containerd.
 | 
			
		||||
 | 
			
		||||
/// Generated GRPC apis.
 | 
			
		||||
pub mod api {
 | 
			
		||||
    /// Generated snapshots bindings.
 | 
			
		||||
    pub mod snapshots {
 | 
			
		||||
        pub mod v1 {
 | 
			
		||||
            tonic::include_proto!("containerd.services.snapshots.v1");
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// Generated `containerd.types` types.
 | 
			
		||||
    pub mod types {
 | 
			
		||||
        tonic::include_proto!("containerd.types");
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										183
									
								
								crates/snapshots/vendor/github.com/containerd/containerd/api/services/snapshots/v1/snapshots.proto
								
								
									generated
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										183
									
								
								crates/snapshots/vendor/github.com/containerd/containerd/api/services/snapshots/v1/snapshots.proto
								
								
									generated
								
								
									vendored
								
								
									Normal file
								
							| 
						 | 
				
			
			@ -0,0 +1,183 @@
 | 
			
		|||
/*
 | 
			
		||||
	Copyright The containerd Authors.
 | 
			
		||||
 | 
			
		||||
	Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
	you may not use this file except in compliance with the License.
 | 
			
		||||
	You may obtain a copy of the License at
 | 
			
		||||
 | 
			
		||||
		http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 | 
			
		||||
	Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
	distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
	See the License for the specific language governing permissions and
 | 
			
		||||
	limitations under the License.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
 | 
			
		||||
package containerd.services.snapshots.v1;
 | 
			
		||||
 | 
			
		||||
import weak "gogoproto/gogo.proto";
 | 
			
		||||
import "google/protobuf/empty.proto";
 | 
			
		||||
import "google/protobuf/field_mask.proto";
 | 
			
		||||
import "google/protobuf/timestamp.proto";
 | 
			
		||||
import "github.com/containerd/containerd/api/types/mount.proto";
 | 
			
		||||
 | 
			
		||||
option go_package = "github.com/containerd/containerd/api/services/snapshots/v1;snapshots";
 | 
			
		||||
 | 
			
		||||
// Snapshot service manages snapshots
 | 
			
		||||
service Snapshots {
 | 
			
		||||
	rpc Prepare(PrepareSnapshotRequest) returns (PrepareSnapshotResponse);
 | 
			
		||||
	rpc View(ViewSnapshotRequest) returns (ViewSnapshotResponse);
 | 
			
		||||
	rpc Mounts(MountsRequest) returns (MountsResponse);
 | 
			
		||||
	rpc Commit(CommitSnapshotRequest) returns (google.protobuf.Empty);
 | 
			
		||||
	rpc Remove(RemoveSnapshotRequest) returns (google.protobuf.Empty);
 | 
			
		||||
	rpc Stat(StatSnapshotRequest) returns (StatSnapshotResponse);
 | 
			
		||||
	rpc Update(UpdateSnapshotRequest) returns (UpdateSnapshotResponse);
 | 
			
		||||
	rpc List(ListSnapshotsRequest) returns (stream ListSnapshotsResponse);
 | 
			
		||||
	rpc Usage(UsageRequest) returns (UsageResponse);
 | 
			
		||||
	rpc Cleanup(CleanupRequest) returns (google.protobuf.Empty);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message PrepareSnapshotRequest {
 | 
			
		||||
	string snapshotter = 1;
 | 
			
		||||
	string key = 2;
 | 
			
		||||
	string parent = 3;
 | 
			
		||||
 | 
			
		||||
	// Labels are arbitrary data on snapshots.
 | 
			
		||||
	//
 | 
			
		||||
	// The combined size of a key/value pair cannot exceed 4096 bytes.
 | 
			
		||||
	map<string, string> labels  = 4;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message PrepareSnapshotResponse {
 | 
			
		||||
	repeated containerd.types.Mount mounts = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ViewSnapshotRequest {
 | 
			
		||||
	string snapshotter = 1;
 | 
			
		||||
	string key = 2;
 | 
			
		||||
	string parent = 3;
 | 
			
		||||
 | 
			
		||||
	// Labels are arbitrary data on snapshots.
 | 
			
		||||
	//
 | 
			
		||||
	// The combined size of a key/value pair cannot exceed 4096 bytes.
 | 
			
		||||
	map<string, string> labels  = 4;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ViewSnapshotResponse {
 | 
			
		||||
	repeated containerd.types.Mount mounts = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message MountsRequest {
 | 
			
		||||
	string snapshotter = 1;
 | 
			
		||||
	string key = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message MountsResponse {
 | 
			
		||||
	repeated containerd.types.Mount mounts = 1;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message RemoveSnapshotRequest {
 | 
			
		||||
	string snapshotter = 1;
 | 
			
		||||
	string key = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message CommitSnapshotRequest {
 | 
			
		||||
	string snapshotter = 1;
 | 
			
		||||
	string name = 2;
 | 
			
		||||
	string key = 3;
 | 
			
		||||
 | 
			
		||||
	// Labels are arbitrary data on snapshots.
 | 
			
		||||
	//
 | 
			
		||||
	// The combined size of a key/value pair cannot exceed 4096 bytes.
 | 
			
		||||
	map<string, string> labels  = 4;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message StatSnapshotRequest {
 | 
			
		||||
	string snapshotter = 1;
 | 
			
		||||
	string key = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
enum Kind {
 | 
			
		||||
	option (gogoproto.goproto_enum_prefix) = false;
 | 
			
		||||
	option (gogoproto.enum_customname) = "Kind";
 | 
			
		||||
 | 
			
		||||
	UNKNOWN = 0 [(gogoproto.enumvalue_customname) = "KindUnknown"];
 | 
			
		||||
	VIEW = 1 [(gogoproto.enumvalue_customname) = "KindView"];
 | 
			
		||||
	ACTIVE = 2 [(gogoproto.enumvalue_customname) = "KindActive"];
 | 
			
		||||
	COMMITTED = 3 [(gogoproto.enumvalue_customname) = "KindCommitted"];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message Info {
 | 
			
		||||
	string name = 1;
 | 
			
		||||
	string parent = 2;
 | 
			
		||||
	Kind kind = 3;
 | 
			
		||||
 | 
			
		||||
	// CreatedAt provides the time at which the snapshot was created.
 | 
			
		||||
	google.protobuf.Timestamp created_at = 4 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
 | 
			
		||||
 | 
			
		||||
	// UpdatedAt provides the time the info was last updated.
 | 
			
		||||
	google.protobuf.Timestamp updated_at = 5 [(gogoproto.stdtime) = true, (gogoproto.nullable) = false];
 | 
			
		||||
 | 
			
		||||
	// Labels are arbitrary data on snapshots.
 | 
			
		||||
	//
 | 
			
		||||
	// The combined size of a key/value pair cannot exceed 4096 bytes.
 | 
			
		||||
	map<string, string> labels  = 6;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message StatSnapshotResponse {
 | 
			
		||||
	Info info = 1 [(gogoproto.nullable) = false];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message UpdateSnapshotRequest {
 | 
			
		||||
	string snapshotter = 1;
 | 
			
		||||
	Info info = 2 [(gogoproto.nullable) = false];
 | 
			
		||||
 | 
			
		||||
	// UpdateMask specifies which fields to perform the update on. If empty,
 | 
			
		||||
	// the operation applies to all fields.
 | 
			
		||||
	//
 | 
			
		||||
	// In info, Name, Parent, Kind, Created are immutable,
 | 
			
		||||
	// other field may be updated using this mask.
 | 
			
		||||
	// If no mask is provided, all mutable field are updated.
 | 
			
		||||
	google.protobuf.FieldMask update_mask = 3;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message UpdateSnapshotResponse {
 | 
			
		||||
	Info info = 1 [(gogoproto.nullable) = false];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListSnapshotsRequest{
 | 
			
		||||
	string snapshotter = 1;
 | 
			
		||||
 | 
			
		||||
	// Filters contains one or more filters using the syntax defined in the
 | 
			
		||||
	// containerd filter package.
 | 
			
		||||
	//
 | 
			
		||||
	// The returned result will be those that match any of the provided
 | 
			
		||||
	// filters. Expanded, images that match the following will be
 | 
			
		||||
	// returned:
 | 
			
		||||
	//
 | 
			
		||||
	//   filters[0] or filters[1] or ... or filters[n-1] or filters[n]
 | 
			
		||||
	//
 | 
			
		||||
	// If filters is zero-length or nil, all items will be returned.
 | 
			
		||||
	repeated string filters = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message ListSnapshotsResponse {
 | 
			
		||||
	repeated Info info = 1 [(gogoproto.nullable) = false];
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message UsageRequest {
 | 
			
		||||
	string snapshotter = 1;
 | 
			
		||||
	string key = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message UsageResponse {
 | 
			
		||||
	int64 size = 1;
 | 
			
		||||
	int64 inodes = 2;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
message CleanupRequest {
 | 
			
		||||
	string snapshotter = 1;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										45
									
								
								crates/snapshots/vendor/github.com/containerd/containerd/api/types/mount.proto
								
								
									generated
								
								
									vendored
								
								
									Normal file
								
							
							
						
						
									
										45
									
								
								crates/snapshots/vendor/github.com/containerd/containerd/api/types/mount.proto
								
								
									generated
								
								
									vendored
								
								
									Normal file
								
							| 
						 | 
				
			
			@ -0,0 +1,45 @@
 | 
			
		|||
/*
 | 
			
		||||
	Copyright The containerd Authors.
 | 
			
		||||
 | 
			
		||||
	Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
	you may not use this file except in compliance with the License.
 | 
			
		||||
	You may obtain a copy of the License at
 | 
			
		||||
 | 
			
		||||
		http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 | 
			
		||||
	Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
	distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
	WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
	See the License for the specific language governing permissions and
 | 
			
		||||
	limitations under the License.
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
syntax = "proto3";
 | 
			
		||||
 | 
			
		||||
package containerd.types;
 | 
			
		||||
 | 
			
		||||
import weak "gogoproto/gogo.proto";
 | 
			
		||||
 | 
			
		||||
option go_package = "github.com/containerd/containerd/api/types;types";
 | 
			
		||||
 | 
			
		||||
// Mount describes mounts for a container.
 | 
			
		||||
//
 | 
			
		||||
// This type is the lingua franca of ContainerD. All services provide mounts
 | 
			
		||||
// to be used with the container at creation time.
 | 
			
		||||
//
 | 
			
		||||
// The Mount type follows the structure of the mount syscall, including a type,
 | 
			
		||||
// source, target and options.
 | 
			
		||||
message Mount {
 | 
			
		||||
	// Type defines the nature of the mount.
 | 
			
		||||
	string type = 1;
 | 
			
		||||
 | 
			
		||||
	// Source specifies the name of the mount. Depending on mount type, this
 | 
			
		||||
	// may be a volume name or a host path, or even ignored.
 | 
			
		||||
	string source = 2;
 | 
			
		||||
 | 
			
		||||
	// Target path in container
 | 
			
		||||
	string target = 3;
 | 
			
		||||
 | 
			
		||||
	// Options specifies zero or more fstab style mount options.
 | 
			
		||||
	repeated string options = 4;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -0,0 +1,144 @@
 | 
			
		|||
// Protocol Buffers for Go with Gadgets
 | 
			
		||||
//
 | 
			
		||||
// Copyright (c) 2013, The GoGo Authors. All rights reserved.
 | 
			
		||||
// http://github.com/gogo/protobuf
 | 
			
		||||
//
 | 
			
		||||
// Redistribution and use in source and binary forms, with or without
 | 
			
		||||
// modification, are permitted provided that the following conditions are
 | 
			
		||||
// met:
 | 
			
		||||
//
 | 
			
		||||
//     * Redistributions of source code must retain the above copyright
 | 
			
		||||
// notice, this list of conditions and the following disclaimer.
 | 
			
		||||
//     * Redistributions in binary form must reproduce the above
 | 
			
		||||
// copyright notice, this list of conditions and the following disclaimer
 | 
			
		||||
// in the documentation and/or other materials provided with the
 | 
			
		||||
// distribution.
 | 
			
		||||
//
 | 
			
		||||
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 | 
			
		||||
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 | 
			
		||||
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 | 
			
		||||
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 | 
			
		||||
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 | 
			
		||||
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 | 
			
		||||
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 | 
			
		||||
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 | 
			
		||||
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 | 
			
		||||
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 | 
			
		||||
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 | 
			
		||||
 | 
			
		||||
syntax = "proto2";
 | 
			
		||||
package gogoproto;
 | 
			
		||||
 | 
			
		||||
import "google/protobuf/descriptor.proto";
 | 
			
		||||
 | 
			
		||||
option java_package = "com.google.protobuf";
 | 
			
		||||
option java_outer_classname = "GoGoProtos";
 | 
			
		||||
option go_package = "github.com/gogo/protobuf/gogoproto";
 | 
			
		||||
 | 
			
		||||
extend google.protobuf.EnumOptions {
 | 
			
		||||
	optional bool goproto_enum_prefix = 62001;
 | 
			
		||||
	optional bool goproto_enum_stringer = 62021;
 | 
			
		||||
	optional bool enum_stringer = 62022;
 | 
			
		||||
	optional string enum_customname = 62023;
 | 
			
		||||
	optional bool enumdecl = 62024;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
extend google.protobuf.EnumValueOptions {
 | 
			
		||||
	optional string enumvalue_customname = 66001;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
extend google.protobuf.FileOptions {
 | 
			
		||||
	optional bool goproto_getters_all = 63001;
 | 
			
		||||
	optional bool goproto_enum_prefix_all = 63002;
 | 
			
		||||
	optional bool goproto_stringer_all = 63003;
 | 
			
		||||
	optional bool verbose_equal_all = 63004;
 | 
			
		||||
	optional bool face_all = 63005;
 | 
			
		||||
	optional bool gostring_all = 63006;
 | 
			
		||||
	optional bool populate_all = 63007;
 | 
			
		||||
	optional bool stringer_all = 63008;
 | 
			
		||||
	optional bool onlyone_all = 63009;
 | 
			
		||||
 | 
			
		||||
	optional bool equal_all = 63013;
 | 
			
		||||
	optional bool description_all = 63014;
 | 
			
		||||
	optional bool testgen_all = 63015;
 | 
			
		||||
	optional bool benchgen_all = 63016;
 | 
			
		||||
	optional bool marshaler_all = 63017;
 | 
			
		||||
	optional bool unmarshaler_all = 63018;
 | 
			
		||||
	optional bool stable_marshaler_all = 63019;
 | 
			
		||||
 | 
			
		||||
	optional bool sizer_all = 63020;
 | 
			
		||||
 | 
			
		||||
	optional bool goproto_enum_stringer_all = 63021;
 | 
			
		||||
	optional bool enum_stringer_all = 63022;
 | 
			
		||||
 | 
			
		||||
	optional bool unsafe_marshaler_all = 63023;
 | 
			
		||||
	optional bool unsafe_unmarshaler_all = 63024;
 | 
			
		||||
 | 
			
		||||
	optional bool goproto_extensions_map_all = 63025;
 | 
			
		||||
	optional bool goproto_unrecognized_all = 63026;
 | 
			
		||||
	optional bool gogoproto_import = 63027;
 | 
			
		||||
	optional bool protosizer_all = 63028;
 | 
			
		||||
	optional bool compare_all = 63029;
 | 
			
		||||
    optional bool typedecl_all = 63030;
 | 
			
		||||
    optional bool enumdecl_all = 63031;
 | 
			
		||||
 | 
			
		||||
	optional bool goproto_registration = 63032;
 | 
			
		||||
	optional bool messagename_all = 63033;
 | 
			
		||||
 | 
			
		||||
	optional bool goproto_sizecache_all = 63034;
 | 
			
		||||
	optional bool goproto_unkeyed_all = 63035;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
extend google.protobuf.MessageOptions {
 | 
			
		||||
	optional bool goproto_getters = 64001;
 | 
			
		||||
	optional bool goproto_stringer = 64003;
 | 
			
		||||
	optional bool verbose_equal = 64004;
 | 
			
		||||
	optional bool face = 64005;
 | 
			
		||||
	optional bool gostring = 64006;
 | 
			
		||||
	optional bool populate = 64007;
 | 
			
		||||
	optional bool stringer = 67008;
 | 
			
		||||
	optional bool onlyone = 64009;
 | 
			
		||||
 | 
			
		||||
	optional bool equal = 64013;
 | 
			
		||||
	optional bool description = 64014;
 | 
			
		||||
	optional bool testgen = 64015;
 | 
			
		||||
	optional bool benchgen = 64016;
 | 
			
		||||
	optional bool marshaler = 64017;
 | 
			
		||||
	optional bool unmarshaler = 64018;
 | 
			
		||||
	optional bool stable_marshaler = 64019;
 | 
			
		||||
 | 
			
		||||
	optional bool sizer = 64020;
 | 
			
		||||
 | 
			
		||||
	optional bool unsafe_marshaler = 64023;
 | 
			
		||||
	optional bool unsafe_unmarshaler = 64024;
 | 
			
		||||
 | 
			
		||||
	optional bool goproto_extensions_map = 64025;
 | 
			
		||||
	optional bool goproto_unrecognized = 64026;
 | 
			
		||||
 | 
			
		||||
	optional bool protosizer = 64028;
 | 
			
		||||
	optional bool compare = 64029;
 | 
			
		||||
 | 
			
		||||
	optional bool typedecl = 64030;
 | 
			
		||||
 | 
			
		||||
	optional bool messagename = 64033;
 | 
			
		||||
 | 
			
		||||
	optional bool goproto_sizecache = 64034;
 | 
			
		||||
	optional bool goproto_unkeyed = 64035;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
extend google.protobuf.FieldOptions {
 | 
			
		||||
	optional bool nullable = 65001;
 | 
			
		||||
	optional bool embed = 65002;
 | 
			
		||||
	optional string customtype = 65003;
 | 
			
		||||
	optional string customname = 65004;
 | 
			
		||||
	optional string jsontag = 65005;
 | 
			
		||||
	optional string moretags = 65006;
 | 
			
		||||
	optional string casttype = 65007;
 | 
			
		||||
	optional string castkey = 65008;
 | 
			
		||||
	optional string castvalue = 65009;
 | 
			
		||||
 | 
			
		||||
	optional bool stdtime = 65010;
 | 
			
		||||
	optional bool stdduration = 65011;
 | 
			
		||||
	optional bool wktpointer = 65012;
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
		Loading…
	
		Reference in New Issue