syntax = "proto3";
package nested_message;

// Intentionally complicated message type to cover many features of Protobuf.
message ABitOfEverything {
	// Nested is nested type.
	message Nested {
		// name is nested field.
		string name = 1;
		uint32 amount = 2;
		// DeepEnum is one or zero.
		enum DeepEnum {
			// FALSE is false.
			FALSE = 0;
			// TRUE is true.
			TRUE = 1;
		}

		// DeepEnum comment.
		DeepEnum ok = 3 [(grpc.gateway.protoc_gen_swagger.options.openapiv2_field) = {description: "DeepEnum description."}];
	}
	Nested single_nested = 25;

	string uuid = 1 [(grpc.gateway.protoc_gen_swagger.options.openapiv2_field) = {pattern: "[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}", min_length: 1}];
	repeated Nested nested = 2;
	float float_value = 3;
	double double_value = 4;
	int64 int64_value = 5;
	uint64 uint64_value = 6;
	int32 int32_value = 7;
	fixed64 fixed64_value = 8;
	fixed32 fixed32_value = 9;
	bool bool_value = 10;
	string string_value = 11;
	bytes bytes_value = 29;
	uint32 uint32_value = 13;
	Nested.DeepEnum nested_path_enum_value = 31;
	sfixed32 sfixed32_value = 15;
	sfixed64 sfixed64_value = 16;
	sint32 sint32_value = 17;
	sint64 sint64_value = 18;
	repeated string repeated_string_value = 19;
}