================================================================================
Service
================================================================================

syntax = "proto3";

service ABitOfEverythingService {
	option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = {
		description: "ABitOfEverythingService description"
		external_docs: {
			url: "https://github.com/grpc-ecosystem/grpc-gateway";
			description: "Find out more about EchoService";
		}
	};

	rpc Create(ABitOfEverything) returns (ABitOfEverything) {
		option (google.api.http) = {
			post: "/v1/example/a_bit_of_everything/{float_value}"
		};
	}
}

--------------------------------------------------------------------------------

(source_file
  (syntax)
  (service
    (service_name
      (identifier))
    (service_body
      (option
        name: (option_name
          (full_ident
            (identifier)
            (identifier)
            (identifier)
            (identifier)
            (identifier)))
        value: (block_lit
          (block_field
            key: (field_name
              (identifier))
            value: (string))
          (block_field
            key: (field_name
              (identifier))
            value: (block_lit
              (block_field
                key: (field_name
                  (identifier))
                value: (string))
              (block_field
                key: (field_name
                  (identifier))
                value: (string))))))
      (rpc
        (rpc_name
          (identifier))
        (message_or_enum_type
          (identifier))
        (message_or_enum_type
          (identifier))
        (rpc_body
          (option
            name: (option_name
              (full_ident
                (identifier)
                (identifier)
                (identifier)))
            value: (block_lit
              (block_field
                key: (field_name
                  (identifier))
                value: (string)))))))))
