gapic_metadata.proto 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. // Copyright 2020 Google LLC.
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. //
  15. syntax = "proto3";
  16. package google.gapic.metadata;
  17. option csharp_namespace = "Google.Gapic.Metadata";
  18. option go_package = "google.golang.org/genproto/googleapis/gapic/metadata;metadata";
  19. option java_multiple_files = true;
  20. option java_outer_classname = "GapicMetadataProto";
  21. option java_package = "com.google.gapic.metadata";
  22. option php_namespace = "Google\\Gapic\\Metadata";
  23. option ruby_package = "Google::Gapic::Metadata";
  24. // Metadata about a GAPIC library for a specific combination of API, version,
  25. // and computer language.
  26. message GapicMetadata {
  27. // Schema version of this proto. Current value: 1.0
  28. string schema = 1;
  29. // Any human-readable comments to be included in this file.
  30. string comment = 2;
  31. // Computer language of this generated language. This must be
  32. // spelled out as it spoken in English, with no capitalization or
  33. // separators (e.g. "csharp", "nodejs").
  34. string language = 3;
  35. // The proto package containing the API definition for which this
  36. // GAPIC library was generated.
  37. string proto_package = 4;
  38. // The language-specific library package for this GAPIC library.
  39. string library_package = 5;
  40. // A map from each proto-defined service to ServiceForTransports,
  41. // which allows listing information about transport-specific
  42. // implementations of the service.
  43. //
  44. // The key is the name of the service as it appears in the .proto
  45. // file.
  46. map<string, ServiceForTransport> services = 6;
  47. // A map from a transport name to ServiceAsClient, which allows
  48. // listing information about the client objects that implement the
  49. // parent RPC service for the specified transport.
  50. //
  51. // The key name is the transport, lower-cased with no separators
  52. // (e.g. "grpc", "rest").
  53. message ServiceForTransport {
  54. map<string, ServiceAsClient> clients = 1;
  55. }
  56. // Information about a specific client implementing a proto-defined service.
  57. message ServiceAsClient {
  58. // The name of the library client formatted as it appears in the source code
  59. string library_client = 1;
  60. // A mapping from each proto-defined RPC name to the the list of
  61. // methods in library_client that implement it. There can be more
  62. // than one library_client method for each RPC. RPCs with no
  63. // library_client methods need not be included.
  64. //
  65. // The key name is the name of the RPC as defined and formatted in
  66. // the proto file.
  67. map<string, MethodList> rpcs = 2;
  68. }
  69. // List of GAPIC client methods implementing the proto-defined RPC
  70. // for the transport and service specified in the containing
  71. // structures.
  72. message MethodList {
  73. // List of methods for a specific proto-service client in the
  74. // GAPIC. These names should be formatted as they appear in the
  75. // source code.
  76. repeated string methods = 1;
  77. }
  78. }