google-cloud-api_hub-v1 0.a → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (93) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/cloud/api_hub/v1/api_hub/client.rb +4514 -0
  6. data/lib/google/cloud/api_hub/v1/api_hub/credentials.rb +47 -0
  7. data/lib/google/cloud/api_hub/v1/api_hub/paths.rb +216 -0
  8. data/lib/google/cloud/api_hub/v1/api_hub/rest/client.rb +4251 -0
  9. data/lib/google/cloud/api_hub/v1/api_hub/rest/service_stub.rb +2147 -0
  10. data/lib/google/cloud/api_hub/v1/api_hub/rest.rb +53 -0
  11. data/lib/google/cloud/api_hub/v1/api_hub.rb +55 -0
  12. data/lib/google/cloud/api_hub/v1/api_hub_dependencies/client.rb +906 -0
  13. data/lib/google/cloud/api_hub/v1/api_hub_dependencies/credentials.rb +47 -0
  14. data/lib/google/cloud/api_hub/v1/api_hub_dependencies/paths.rb +88 -0
  15. data/lib/google/cloud/api_hub/v1/api_hub_dependencies/rest/client.rb +853 -0
  16. data/lib/google/cloud/api_hub/v1/api_hub_dependencies/rest/service_stub.rb +366 -0
  17. data/lib/google/cloud/api_hub/v1/api_hub_dependencies/rest.rb +54 -0
  18. data/lib/google/cloud/api_hub/v1/api_hub_dependencies.rb +56 -0
  19. data/lib/google/cloud/api_hub/v1/api_hub_plugin/client.rb +640 -0
  20. data/lib/google/cloud/api_hub/v1/api_hub_plugin/credentials.rb +47 -0
  21. data/lib/google/cloud/api_hub/v1/api_hub_plugin/paths.rb +52 -0
  22. data/lib/google/cloud/api_hub/v1/api_hub_plugin/rest/client.rb +601 -0
  23. data/lib/google/cloud/api_hub/v1/api_hub_plugin/rest/service_stub.rb +248 -0
  24. data/lib/google/cloud/api_hub/v1/api_hub_plugin/rest.rb +53 -0
  25. data/lib/google/cloud/api_hub/v1/api_hub_plugin.rb +55 -0
  26. data/lib/google/cloud/api_hub/v1/bindings_override.rb +102 -0
  27. data/lib/google/cloud/api_hub/v1/host_project_registration_service/client.rb +689 -0
  28. data/lib/google/cloud/api_hub/v1/host_project_registration_service/credentials.rb +47 -0
  29. data/lib/google/cloud/api_hub/v1/host_project_registration_service/paths.rb +83 -0
  30. data/lib/google/cloud/api_hub/v1/host_project_registration_service/rest/client.rb +650 -0
  31. data/lib/google/cloud/api_hub/v1/host_project_registration_service/rest/service_stub.rb +247 -0
  32. data/lib/google/cloud/api_hub/v1/host_project_registration_service/rest.rb +53 -0
  33. data/lib/google/cloud/api_hub/v1/host_project_registration_service.rb +55 -0
  34. data/lib/google/cloud/api_hub/v1/linting_service/client.rb +744 -0
  35. data/lib/google/cloud/api_hub/v1/linting_service/credentials.rb +47 -0
  36. data/lib/google/cloud/api_hub/v1/linting_service/paths.rb +75 -0
  37. data/lib/google/cloud/api_hub/v1/linting_service/rest/client.rb +698 -0
  38. data/lib/google/cloud/api_hub/v1/linting_service/rest/service_stub.rb +307 -0
  39. data/lib/google/cloud/api_hub/v1/linting_service/rest.rb +53 -0
  40. data/lib/google/cloud/api_hub/v1/linting_service.rb +55 -0
  41. data/lib/google/cloud/api_hub/v1/provisioning/client.rb +676 -0
  42. data/lib/google/cloud/api_hub/v1/provisioning/credentials.rb +47 -0
  43. data/lib/google/cloud/api_hub/v1/provisioning/operations.rb +809 -0
  44. data/lib/google/cloud/api_hub/v1/provisioning/paths.rb +69 -0
  45. data/lib/google/cloud/api_hub/v1/provisioning/rest/client.rb +637 -0
  46. data/lib/google/cloud/api_hub/v1/provisioning/rest/operations.rb +902 -0
  47. data/lib/google/cloud/api_hub/v1/provisioning/rest/service_stub.rb +247 -0
  48. data/lib/google/cloud/api_hub/v1/provisioning/rest.rb +54 -0
  49. data/lib/google/cloud/api_hub/v1/provisioning.rb +56 -0
  50. data/lib/google/cloud/api_hub/v1/rest.rb +44 -0
  51. data/lib/google/cloud/api_hub/v1/runtime_project_attachment_service/client.rb +885 -0
  52. data/lib/google/cloud/api_hub/v1/runtime_project_attachment_service/credentials.rb +47 -0
  53. data/lib/google/cloud/api_hub/v1/runtime_project_attachment_service/paths.rb +83 -0
  54. data/lib/google/cloud/api_hub/v1/runtime_project_attachment_service/rest/client.rb +832 -0
  55. data/lib/google/cloud/api_hub/v1/runtime_project_attachment_service/rest/service_stub.rb +365 -0
  56. data/lib/google/cloud/api_hub/v1/runtime_project_attachment_service/rest.rb +53 -0
  57. data/lib/google/cloud/api_hub/v1/runtime_project_attachment_service.rb +55 -0
  58. data/lib/google/cloud/api_hub/v1/version.rb +7 -2
  59. data/lib/google/cloud/api_hub/v1.rb +51 -0
  60. data/lib/google/cloud/apihub/v1/apihub_service_pb.rb +102 -0
  61. data/lib/google/cloud/apihub/v1/apihub_service_services_pb.rb +288 -0
  62. data/lib/google/cloud/apihub/v1/common_fields_pb.rb +92 -0
  63. data/lib/google/cloud/apihub/v1/host_project_registration_service_pb.rb +53 -0
  64. data/lib/google/cloud/apihub/v1/host_project_registration_service_services_pb.rb +53 -0
  65. data/lib/google/cloud/apihub/v1/linting_service_pb.rb +56 -0
  66. data/lib/google/cloud/apihub/v1/linting_service_services_pb.rb +53 -0
  67. data/lib/google/cloud/apihub/v1/plugin_service_pb.rb +53 -0
  68. data/lib/google/cloud/apihub/v1/plugin_service_services_pb.rb +51 -0
  69. data/lib/google/cloud/apihub/v1/provisioning_service_pb.rb +53 -0
  70. data/lib/google/cloud/apihub/v1/provisioning_service_services_pb.rb +50 -0
  71. data/lib/google/cloud/apihub/v1/runtime_project_attachment_service_pb.rb +57 -0
  72. data/lib/google/cloud/apihub/v1/runtime_project_attachment_service_services_pb.rb +55 -0
  73. data/lib/google-cloud-api_hub-v1.rb +21 -0
  74. data/proto_docs/README.md +4 -0
  75. data/proto_docs/google/api/client.rb +403 -0
  76. data/proto_docs/google/api/field_behavior.rb +85 -0
  77. data/proto_docs/google/api/launch_stage.rb +71 -0
  78. data/proto_docs/google/api/resource.rb +227 -0
  79. data/proto_docs/google/cloud/apihub/v1/apihub_service.rb +1317 -0
  80. data/proto_docs/google/cloud/apihub/v1/common_fields.rb +1296 -0
  81. data/proto_docs/google/cloud/apihub/v1/host_project_registration_service.rb +146 -0
  82. data/proto_docs/google/cloud/apihub/v1/linting_service.rb +103 -0
  83. data/proto_docs/google/cloud/apihub/v1/plugin_service.rb +104 -0
  84. data/proto_docs/google/cloud/apihub/v1/provisioning_service.rb +87 -0
  85. data/proto_docs/google/cloud/apihub/v1/runtime_project_attachment_service.rb +182 -0
  86. data/proto_docs/google/longrunning/operations.rb +164 -0
  87. data/proto_docs/google/protobuf/any.rb +145 -0
  88. data/proto_docs/google/protobuf/duration.rb +98 -0
  89. data/proto_docs/google/protobuf/empty.rb +34 -0
  90. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  91. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  92. data/proto_docs/google/rpc/status.rb +48 -0
  93. metadata +155 -10
@@ -0,0 +1,1296 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module ApiHub
23
+ module V1
24
+ # An API resource in the API Hub.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Identifier. The name of the API resource in the API Hub.
28
+ #
29
+ # Format:
30
+ # `projects/{project}/locations/{location}/apis/{api}`
31
+ # @!attribute [rw] display_name
32
+ # @return [::String]
33
+ # Required. The display name of the API resource.
34
+ # @!attribute [rw] description
35
+ # @return [::String]
36
+ # Optional. The description of the API resource.
37
+ # @!attribute [rw] documentation
38
+ # @return [::Google::Cloud::ApiHub::V1::Documentation]
39
+ # Optional. The documentation for the API resource.
40
+ # @!attribute [rw] owner
41
+ # @return [::Google::Cloud::ApiHub::V1::Owner]
42
+ # Optional. Owner details for the API resource.
43
+ # @!attribute [r] versions
44
+ # @return [::Array<::String>]
45
+ # Output only. The list of versions present in an API resource.
46
+ # Note: An API resource can be associated with more than 1 version.
47
+ # Format is
48
+ # `projects/{project}/locations/{location}/apis/{api}/versions/{version}`
49
+ # @!attribute [r] create_time
50
+ # @return [::Google::Protobuf::Timestamp]
51
+ # Output only. The time at which the API resource was created.
52
+ # @!attribute [r] update_time
53
+ # @return [::Google::Protobuf::Timestamp]
54
+ # Output only. The time at which the API resource was last updated.
55
+ # @!attribute [rw] target_user
56
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
57
+ # Optional. The target users for the API.
58
+ # This maps to the following system defined attribute:
59
+ # `projects/{project}/locations/{location}/attributes/system-target-user`
60
+ # attribute.
61
+ # The number of values for this attribute will be based on the
62
+ # cardinality of the attribute. The same can be retrieved via GetAttribute
63
+ # API. All values should be from the list of allowed values defined for the
64
+ # attribute.
65
+ # @!attribute [rw] team
66
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
67
+ # Optional. The team owning the API.
68
+ # This maps to the following system defined attribute:
69
+ # `projects/{project}/locations/{location}/attributes/system-team`
70
+ # attribute.
71
+ # The number of values for this attribute will be based on the
72
+ # cardinality of the attribute. The same can be retrieved via GetAttribute
73
+ # API. All values should be from the list of allowed values defined for the
74
+ # attribute.
75
+ # @!attribute [rw] business_unit
76
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
77
+ # Optional. The business unit owning the API.
78
+ # This maps to the following system defined attribute:
79
+ # `projects/{project}/locations/{location}/attributes/system-business-unit`
80
+ # attribute.
81
+ # The number of values for this attribute will be based on the
82
+ # cardinality of the attribute. The same can be retrieved via GetAttribute
83
+ # API. All values should be from the list of allowed values defined for the
84
+ # attribute.
85
+ # @!attribute [rw] maturity_level
86
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
87
+ # Optional. The maturity level of the API.
88
+ # This maps to the following system defined attribute:
89
+ # `projects/{project}/locations/{location}/attributes/system-maturity-level`
90
+ # attribute.
91
+ # The number of values for this attribute will be based on the
92
+ # cardinality of the attribute. The same can be retrieved via GetAttribute
93
+ # API. All values should be from the list of allowed values defined for the
94
+ # attribute.
95
+ # @!attribute [rw] attributes
96
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::ApiHub::V1::AttributeValues}]
97
+ # Optional. The list of user defined attributes associated with the API
98
+ # resource. The key is the attribute name. It will be of the format:
99
+ # `projects/{project}/locations/{location}/attributes/{attribute}`.
100
+ # The value is the attribute values associated with the resource.
101
+ # @!attribute [rw] api_style
102
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
103
+ # Optional. The style of the API.
104
+ # This maps to the following system defined attribute:
105
+ # `projects/{project}/locations/{location}/attributes/system-api-style`
106
+ # attribute.
107
+ # The number of values for this attribute will be based on the
108
+ # cardinality of the attribute. The same can be retrieved via GetAttribute
109
+ # API. All values should be from the list of allowed values defined for the
110
+ # attribute.
111
+ # @!attribute [rw] selected_version
112
+ # @return [::String]
113
+ # Optional. The selected version for an API resource.
114
+ # This can be used when special handling is needed on client side for
115
+ # particular version of the API. Format is
116
+ # `projects/{project}/locations/{location}/apis/{api}/versions/{version}`
117
+ class Api
118
+ include ::Google::Protobuf::MessageExts
119
+ extend ::Google::Protobuf::MessageExts::ClassMethods
120
+
121
+ # @!attribute [rw] key
122
+ # @return [::String]
123
+ # @!attribute [rw] value
124
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
125
+ class AttributesEntry
126
+ include ::Google::Protobuf::MessageExts
127
+ extend ::Google::Protobuf::MessageExts::ClassMethods
128
+ end
129
+ end
130
+
131
+ # Represents a version of the API resource in API hub. This is also referred
132
+ # to as the API version.
133
+ # @!attribute [rw] name
134
+ # @return [::String]
135
+ # Identifier. The name of the version.
136
+ #
137
+ # Format:
138
+ # `projects/{project}/locations/{location}/apis/{api}/versions/{version}`
139
+ # @!attribute [rw] display_name
140
+ # @return [::String]
141
+ # Required. The display name of the version.
142
+ # @!attribute [rw] description
143
+ # @return [::String]
144
+ # Optional. The description of the version.
145
+ # @!attribute [rw] documentation
146
+ # @return [::Google::Cloud::ApiHub::V1::Documentation]
147
+ # Optional. The documentation of the version.
148
+ # @!attribute [r] specs
149
+ # @return [::Array<::String>]
150
+ # Output only. The specs associated with this version.
151
+ # Note that an API version can be associated with multiple specs.
152
+ # Format is
153
+ # `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`
154
+ # @!attribute [r] api_operations
155
+ # @return [::Array<::String>]
156
+ # Output only. The operations contained in the API version.
157
+ # These operations will be added to the version when a new spec is
158
+ # added or when an existing spec is updated. Format is
159
+ # `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
160
+ # @!attribute [r] definitions
161
+ # @return [::Array<::String>]
162
+ # Output only. The definitions contained in the API version.
163
+ # These definitions will be added to the version when a new spec is
164
+ # added or when an existing spec is updated. Format is
165
+ # `projects/{project}/locations/{location}/apis/{api}/versions/{version}/definitions/{definition}`
166
+ # @!attribute [rw] deployments
167
+ # @return [::Array<::String>]
168
+ # Optional. The deployments linked to this API version.
169
+ # Note: A particular API version could be deployed to multiple deployments
170
+ # (for dev deployment, UAT deployment, etc)
171
+ # Format is
172
+ # `projects/{project}/locations/{location}/deployments/{deployment}`
173
+ # @!attribute [r] create_time
174
+ # @return [::Google::Protobuf::Timestamp]
175
+ # Output only. The time at which the version was created.
176
+ # @!attribute [r] update_time
177
+ # @return [::Google::Protobuf::Timestamp]
178
+ # Output only. The time at which the version was last updated.
179
+ # @!attribute [rw] lifecycle
180
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
181
+ # Optional. The lifecycle of the API version.
182
+ # This maps to the following system defined attribute:
183
+ # `projects/{project}/locations/{location}/attributes/system-lifecycle`
184
+ # attribute.
185
+ # The number of values for this attribute will be based on the
186
+ # cardinality of the attribute. The same can be retrieved via GetAttribute
187
+ # API. All values should be from the list of allowed values defined for the
188
+ # attribute.
189
+ # @!attribute [rw] compliance
190
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
191
+ # Optional. The compliance associated with the API version.
192
+ # This maps to the following system defined attribute:
193
+ # `projects/{project}/locations/{location}/attributes/system-compliance`
194
+ # attribute.
195
+ # The number of values for this attribute will be based on the
196
+ # cardinality of the attribute. The same can be retrieved via GetAttribute
197
+ # API. All values should be from the list of allowed values defined for the
198
+ # attribute.
199
+ # @!attribute [rw] accreditation
200
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
201
+ # Optional. The accreditations associated with the API version.
202
+ # This maps to the following system defined attribute:
203
+ # `projects/{project}/locations/{location}/attributes/system-accreditation`
204
+ # attribute.
205
+ # The number of values for this attribute will be based on the
206
+ # cardinality of the attribute. The same can be retrieved via GetAttribute
207
+ # API. All values should be from the list of allowed values defined for the
208
+ # attribute.
209
+ # @!attribute [rw] attributes
210
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::ApiHub::V1::AttributeValues}]
211
+ # Optional. The list of user defined attributes associated with the Version
212
+ # resource. The key is the attribute name. It will be of the format:
213
+ # `projects/{project}/locations/{location}/attributes/{attribute}`.
214
+ # The value is the attribute values associated with the resource.
215
+ # @!attribute [rw] selected_deployment
216
+ # @return [::String]
217
+ # Optional. The selected deployment for a Version resource.
218
+ # This can be used when special handling is needed on client side for a
219
+ # particular deployment linked to the version.
220
+ # Format is
221
+ # `projects/{project}/locations/{location}/deployments/{deployment}`
222
+ class Version
223
+ include ::Google::Protobuf::MessageExts
224
+ extend ::Google::Protobuf::MessageExts::ClassMethods
225
+
226
+ # @!attribute [rw] key
227
+ # @return [::String]
228
+ # @!attribute [rw] value
229
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
230
+ class AttributesEntry
231
+ include ::Google::Protobuf::MessageExts
232
+ extend ::Google::Protobuf::MessageExts::ClassMethods
233
+ end
234
+ end
235
+
236
+ # Represents a spec associated with an API version in the API
237
+ # Hub. Note that specs of various types can be uploaded, however
238
+ # parsing of details is supported for OpenAPI spec currently.
239
+ # @!attribute [rw] name
240
+ # @return [::String]
241
+ # Identifier. The name of the spec.
242
+ #
243
+ # Format:
244
+ # `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`
245
+ # @!attribute [rw] display_name
246
+ # @return [::String]
247
+ # Required. The display name of the spec.
248
+ # This can contain the file name of the spec.
249
+ # @!attribute [rw] spec_type
250
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
251
+ # Required. The type of spec.
252
+ # The value should be one of the allowed values defined for
253
+ # `projects/{project}/locations/{location}/attributes/system-spec-type`
254
+ # attribute.
255
+ # The number of values for this attribute will be based on the
256
+ # cardinality of the attribute. The same can be retrieved via GetAttribute
257
+ # API.
258
+ #
259
+ # Note, this field is mandatory if content is provided.
260
+ # @!attribute [rw] contents
261
+ # @return [::Google::Cloud::ApiHub::V1::SpecContents]
262
+ # Optional. Input only. The contents of the uploaded spec.
263
+ # @!attribute [r] details
264
+ # @return [::Google::Cloud::ApiHub::V1::SpecDetails]
265
+ # Output only. Details parsed from the spec.
266
+ # @!attribute [rw] source_uri
267
+ # @return [::String]
268
+ # Optional. The URI of the spec source in case file is uploaded
269
+ # from an external version control system.
270
+ # @!attribute [r] create_time
271
+ # @return [::Google::Protobuf::Timestamp]
272
+ # Output only. The time at which the spec was created.
273
+ # @!attribute [r] update_time
274
+ # @return [::Google::Protobuf::Timestamp]
275
+ # Output only. The time at which the spec was last updated.
276
+ # @!attribute [rw] lint_response
277
+ # @return [::Google::Cloud::ApiHub::V1::LintResponse]
278
+ # Optional. The lint response for the spec.
279
+ # @!attribute [rw] attributes
280
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::ApiHub::V1::AttributeValues}]
281
+ # Optional. The list of user defined attributes associated with the spec.
282
+ # The key is the attribute name. It will be of the format:
283
+ # `projects/{project}/locations/{location}/attributes/{attribute}`.
284
+ # The value is the attribute values associated with the resource.
285
+ # @!attribute [rw] documentation
286
+ # @return [::Google::Cloud::ApiHub::V1::Documentation]
287
+ # Optional. The documentation of the spec.
288
+ # For OpenAPI spec, this will be populated from `externalDocs` in OpenAPI
289
+ # spec.
290
+ # @!attribute [rw] parsing_mode
291
+ # @return [::Google::Cloud::ApiHub::V1::Spec::ParsingMode]
292
+ # Optional. Input only. Enum specifying the parsing mode for OpenAPI
293
+ # Specification (OAS) parsing.
294
+ class Spec
295
+ include ::Google::Protobuf::MessageExts
296
+ extend ::Google::Protobuf::MessageExts::ClassMethods
297
+
298
+ # @!attribute [rw] key
299
+ # @return [::String]
300
+ # @!attribute [rw] value
301
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
302
+ class AttributesEntry
303
+ include ::Google::Protobuf::MessageExts
304
+ extend ::Google::Protobuf::MessageExts::ClassMethods
305
+ end
306
+
307
+ # Specifies the parsing mode for API specifications during creation and
308
+ # update.
309
+ # - `RELAXED`: Parsing errors in the specification content do not fail the
310
+ # API call.
311
+ # - `STRICT`: Parsing errors in the specification content result in failure
312
+ # of the API call.
313
+ # If not specified, defaults to `RELAXED`.
314
+ module ParsingMode
315
+ # Defaults to `RELAXED`.
316
+ PARSING_MODE_UNSPECIFIED = 0
317
+
318
+ # Parsing of the Spec on create and update is relaxed, meaning that
319
+ # parsing errors the spec contents will not fail the API call.
320
+ RELAXED = 1
321
+
322
+ # Parsing of the Spec on create and update is strict, meaning that
323
+ # parsing errors in the spec contents will fail the API call.
324
+ STRICT = 2
325
+ end
326
+ end
327
+
328
+ # Details of the deployment where APIs are hosted.
329
+ # A deployment could represent an Apigee proxy, API gateway, other Google Cloud
330
+ # services or non-Google Cloud services as well. A deployment entity is a root
331
+ # level entity in the API hub and exists independent of any API.
332
+ # @!attribute [rw] name
333
+ # @return [::String]
334
+ # Identifier. The name of the deployment.
335
+ #
336
+ # Format:
337
+ # `projects/{project}/locations/{location}/deployments/{deployment}`
338
+ # @!attribute [rw] display_name
339
+ # @return [::String]
340
+ # Required. The display name of the deployment.
341
+ # @!attribute [rw] description
342
+ # @return [::String]
343
+ # Optional. The description of the deployment.
344
+ # @!attribute [rw] documentation
345
+ # @return [::Google::Cloud::ApiHub::V1::Documentation]
346
+ # Optional. The documentation of the deployment.
347
+ # @!attribute [rw] deployment_type
348
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
349
+ # Required. The type of deployment.
350
+ # This maps to the following system defined attribute:
351
+ # `projects/{project}/locations/{location}/attributes/system-deployment-type`
352
+ # attribute.
353
+ # The number of values for this attribute will be based on the
354
+ # cardinality of the attribute. The same can be retrieved via GetAttribute
355
+ # API. All values should be from the list of allowed values defined for the
356
+ # attribute.
357
+ # @!attribute [rw] resource_uri
358
+ # @return [::String]
359
+ # Required. A URI to the runtime resource. This URI can be used to manage the
360
+ # resource. For example, if the runtime resource is of type APIGEE_PROXY,
361
+ # then this field will contain the URI to the management UI of the proxy.
362
+ # @!attribute [rw] endpoints
363
+ # @return [::Array<::String>]
364
+ # Required. The endpoints at which this deployment resource is listening for
365
+ # API requests. This could be a list of complete URIs, hostnames or an IP
366
+ # addresses.
367
+ # @!attribute [r] api_versions
368
+ # @return [::Array<::String>]
369
+ # Output only. The API versions linked to this deployment.
370
+ # Note: A particular deployment could be linked to multiple different API
371
+ # versions (of same or different APIs).
372
+ # @!attribute [r] create_time
373
+ # @return [::Google::Protobuf::Timestamp]
374
+ # Output only. The time at which the deployment was created.
375
+ # @!attribute [r] update_time
376
+ # @return [::Google::Protobuf::Timestamp]
377
+ # Output only. The time at which the deployment was last updated.
378
+ # @!attribute [rw] slo
379
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
380
+ # Optional. The SLO for this deployment.
381
+ # This maps to the following system defined attribute:
382
+ # `projects/{project}/locations/{location}/attributes/system-slo`
383
+ # attribute.
384
+ # The number of values for this attribute will be based on the
385
+ # cardinality of the attribute. The same can be retrieved via GetAttribute
386
+ # API. All values should be from the list of allowed values defined for the
387
+ # attribute.
388
+ # @!attribute [rw] environment
389
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
390
+ # Optional. The environment mapping to this deployment.
391
+ # This maps to the following system defined attribute:
392
+ # `projects/{project}/locations/{location}/attributes/system-environment`
393
+ # attribute.
394
+ # The number of values for this attribute will be based on the
395
+ # cardinality of the attribute. The same can be retrieved via GetAttribute
396
+ # API. All values should be from the list of allowed values defined for the
397
+ # attribute.
398
+ # @!attribute [rw] attributes
399
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::ApiHub::V1::AttributeValues}]
400
+ # Optional. The list of user defined attributes associated with the
401
+ # deployment resource. The key is the attribute name. It will be of the
402
+ # format: `projects/{project}/locations/{location}/attributes/{attribute}`.
403
+ # The value is the attribute values associated with the resource.
404
+ class Deployment
405
+ include ::Google::Protobuf::MessageExts
406
+ extend ::Google::Protobuf::MessageExts::ClassMethods
407
+
408
+ # @!attribute [rw] key
409
+ # @return [::String]
410
+ # @!attribute [rw] value
411
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
412
+ class AttributesEntry
413
+ include ::Google::Protobuf::MessageExts
414
+ extend ::Google::Protobuf::MessageExts::ClassMethods
415
+ end
416
+ end
417
+
418
+ # Represents an operation contained in an API version in the API Hub.
419
+ # An operation is added/updated/deleted in an API version when a new spec is
420
+ # added or an existing spec is updated/deleted in a version.
421
+ # Currently, an operation will be created only corresponding to OpenAPI spec as
422
+ # parsing is supported for OpenAPI spec.
423
+ # @!attribute [rw] name
424
+ # @return [::String]
425
+ # Identifier. The name of the operation.
426
+ #
427
+ # Format:
428
+ # `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
429
+ # @!attribute [r] spec
430
+ # @return [::String]
431
+ # Output only. The name of the spec from where the operation was parsed.
432
+ # Format is
433
+ # `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`
434
+ # @!attribute [r] details
435
+ # @return [::Google::Cloud::ApiHub::V1::OperationDetails]
436
+ # Output only. Operation details.
437
+ # @!attribute [r] create_time
438
+ # @return [::Google::Protobuf::Timestamp]
439
+ # Output only. The time at which the operation was created.
440
+ # @!attribute [r] update_time
441
+ # @return [::Google::Protobuf::Timestamp]
442
+ # Output only. The time at which the operation was last updated.
443
+ # @!attribute [rw] attributes
444
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::ApiHub::V1::AttributeValues}]
445
+ # Optional. The list of user defined attributes associated with the API
446
+ # operation resource. The key is the attribute name. It will be of the
447
+ # format: `projects/{project}/locations/{location}/attributes/{attribute}`.
448
+ # The value is the attribute values associated with the resource.
449
+ class ApiOperation
450
+ include ::Google::Protobuf::MessageExts
451
+ extend ::Google::Protobuf::MessageExts::ClassMethods
452
+
453
+ # @!attribute [rw] key
454
+ # @return [::String]
455
+ # @!attribute [rw] value
456
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
457
+ class AttributesEntry
458
+ include ::Google::Protobuf::MessageExts
459
+ extend ::Google::Protobuf::MessageExts::ClassMethods
460
+ end
461
+ end
462
+
463
+ # Represents a definition for example schema, request, response definitions
464
+ # contained in an API version.
465
+ # A definition is added/updated/deleted in an API version when a new spec is
466
+ # added or an existing spec is updated/deleted in a version. Currently,
467
+ # definition will be created only corresponding to OpenAPI spec as parsing is
468
+ # supported for OpenAPI spec. Also, within OpenAPI spec, only `schema` object
469
+ # is supported.
470
+ # @!attribute [r] schema
471
+ # @return [::Google::Cloud::ApiHub::V1::Schema]
472
+ # Output only. The value of a schema definition.
473
+ # @!attribute [rw] name
474
+ # @return [::String]
475
+ # Identifier. The name of the definition.
476
+ #
477
+ # Format:
478
+ # `projects/{project}/locations/{location}/apis/{api}/versions/{version}/definitions/{definition}`
479
+ # @!attribute [r] spec
480
+ # @return [::String]
481
+ # Output only. The name of the spec from where the definition was parsed.
482
+ # Format is
483
+ # `projects/{project}/locations/{location}/apis/{api}/versions/{version}/specs/{spec}`
484
+ # @!attribute [r] type
485
+ # @return [::Google::Cloud::ApiHub::V1::Definition::Type]
486
+ # Output only. The type of the definition.
487
+ # @!attribute [r] create_time
488
+ # @return [::Google::Protobuf::Timestamp]
489
+ # Output only. The time at which the definition was created.
490
+ # @!attribute [r] update_time
491
+ # @return [::Google::Protobuf::Timestamp]
492
+ # Output only. The time at which the definition was last updated.
493
+ # @!attribute [rw] attributes
494
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::ApiHub::V1::AttributeValues}]
495
+ # Optional. The list of user defined attributes associated with the
496
+ # definition resource. The key is the attribute name. It will be of the
497
+ # format: `projects/{project}/locations/{location}/attributes/{attribute}`.
498
+ # The value is the attribute values associated with the resource.
499
+ class Definition
500
+ include ::Google::Protobuf::MessageExts
501
+ extend ::Google::Protobuf::MessageExts::ClassMethods
502
+
503
+ # @!attribute [rw] key
504
+ # @return [::String]
505
+ # @!attribute [rw] value
506
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
507
+ class AttributesEntry
508
+ include ::Google::Protobuf::MessageExts
509
+ extend ::Google::Protobuf::MessageExts::ClassMethods
510
+ end
511
+
512
+ # Enumeration of definition types.
513
+ module Type
514
+ # Definition type unspecified.
515
+ TYPE_UNSPECIFIED = 0
516
+
517
+ # Definition type schema.
518
+ SCHEMA = 1
519
+ end
520
+ end
521
+
522
+ # An attribute in the API Hub.
523
+ # An attribute is a name value pair which can be attached to different
524
+ # resources in the API hub based on the scope of the attribute. Attributes can
525
+ # either be pre-defined by the API Hub or created by users.
526
+ # @!attribute [rw] name
527
+ # @return [::String]
528
+ # Identifier. The name of the attribute in the API Hub.
529
+ #
530
+ # Format:
531
+ # `projects/{project}/locations/{location}/attributes/{attribute}`
532
+ # @!attribute [rw] display_name
533
+ # @return [::String]
534
+ # Required. The display name of the attribute.
535
+ # @!attribute [rw] description
536
+ # @return [::String]
537
+ # Optional. The description of the attribute.
538
+ # @!attribute [r] definition_type
539
+ # @return [::Google::Cloud::ApiHub::V1::Attribute::DefinitionType]
540
+ # Output only. The definition type of the attribute.
541
+ # @!attribute [rw] scope
542
+ # @return [::Google::Cloud::ApiHub::V1::Attribute::Scope]
543
+ # Required. The scope of the attribute. It represents the resource in the API
544
+ # Hub to which the attribute can be linked.
545
+ # @!attribute [rw] data_type
546
+ # @return [::Google::Cloud::ApiHub::V1::Attribute::DataType]
547
+ # Required. The type of the data of the attribute.
548
+ # @!attribute [rw] allowed_values
549
+ # @return [::Array<::Google::Cloud::ApiHub::V1::Attribute::AllowedValue>]
550
+ # Optional. The list of allowed values when the attribute value is of type
551
+ # enum. This is required when the data_type of the attribute is ENUM. The
552
+ # maximum number of allowed values of an attribute will be 1000.
553
+ # @!attribute [rw] cardinality
554
+ # @return [::Integer]
555
+ # Optional. The maximum number of values that the attribute can have when
556
+ # associated with an API Hub resource. Cardinality 1 would represent a
557
+ # single-valued attribute. It must not be less than 1 or greater than 20. If
558
+ # not specified, the cardinality would be set to 1 by default and represent a
559
+ # single-valued attribute.
560
+ # @!attribute [r] mandatory
561
+ # @return [::Boolean]
562
+ # Output only. When mandatory is true, the attribute is mandatory for the
563
+ # resource specified in the scope. Only System defined attributes can be
564
+ # mandatory.
565
+ # @!attribute [r] create_time
566
+ # @return [::Google::Protobuf::Timestamp]
567
+ # Output only. The time at which the attribute was created.
568
+ # @!attribute [r] update_time
569
+ # @return [::Google::Protobuf::Timestamp]
570
+ # Output only. The time at which the attribute was last updated.
571
+ class Attribute
572
+ include ::Google::Protobuf::MessageExts
573
+ extend ::Google::Protobuf::MessageExts::ClassMethods
574
+
575
+ # The value that can be assigned to the attribute when the data type is
576
+ # enum.
577
+ # @!attribute [rw] id
578
+ # @return [::String]
579
+ # Required. The ID of the allowed value.
580
+ # * If provided, the same will be used. The service will throw an error if
581
+ # the specified id is already used by another allowed value in the same
582
+ # attribute resource.
583
+ # * If not provided, a system generated id derived from the display name
584
+ # will be used. In this case, the service will handle conflict resolution
585
+ # by adding a system generated suffix in case of duplicates.
586
+ #
587
+ # This value should be 4-63 characters, and valid characters
588
+ # are /[a-z][0-9]-/.
589
+ # @!attribute [rw] display_name
590
+ # @return [::String]
591
+ # Required. The display name of the allowed value.
592
+ # @!attribute [rw] description
593
+ # @return [::String]
594
+ # Optional. The detailed description of the allowed value.
595
+ # @!attribute [rw] immutable
596
+ # @return [::Boolean]
597
+ # Optional. When set to true, the allowed value cannot be updated or
598
+ # deleted by the user. It can only be true for System defined attributes.
599
+ class AllowedValue
600
+ include ::Google::Protobuf::MessageExts
601
+ extend ::Google::Protobuf::MessageExts::ClassMethods
602
+ end
603
+
604
+ # Enumeration of attribute definition types.
605
+ module DefinitionType
606
+ # Attribute definition type unspecified.
607
+ DEFINITION_TYPE_UNSPECIFIED = 0
608
+
609
+ # The attribute is predefined by the API Hub. Note that only the list of
610
+ # allowed values can be updated in this case via UpdateAttribute method.
611
+ SYSTEM_DEFINED = 1
612
+
613
+ # The attribute is defined by the user.
614
+ USER_DEFINED = 2
615
+ end
616
+
617
+ # Enumeration for the scope of the attribute representing the resource in the
618
+ # API Hub to which the attribute can be linked.
619
+ module Scope
620
+ # Scope Unspecified.
621
+ SCOPE_UNSPECIFIED = 0
622
+
623
+ # Attribute can be linked to an API.
624
+ API = 1
625
+
626
+ # Attribute can be linked to an API version.
627
+ VERSION = 2
628
+
629
+ # Attribute can be linked to a Spec.
630
+ SPEC = 3
631
+
632
+ # Attribute can be linked to an API Operation.
633
+ API_OPERATION = 4
634
+
635
+ # Attribute can be linked to a Deployment.
636
+ DEPLOYMENT = 5
637
+
638
+ # Attribute can be linked to a Dependency.
639
+ DEPENDENCY = 6
640
+
641
+ # Attribute can be linked to a definition.
642
+ DEFINITION = 7
643
+
644
+ # Attribute can be linked to a ExternalAPI.
645
+ EXTERNAL_API = 8
646
+
647
+ # Attribute can be linked to a Plugin.
648
+ PLUGIN = 9
649
+ end
650
+
651
+ # Enumeration of attribute's data type.
652
+ module DataType
653
+ # Attribute data type unspecified.
654
+ DATA_TYPE_UNSPECIFIED = 0
655
+
656
+ # Attribute's value is of type enum.
657
+ ENUM = 1
658
+
659
+ # Attribute's value is of type json.
660
+ JSON = 2
661
+
662
+ # Attribute's value is of type string.
663
+ STRING = 3
664
+ end
665
+ end
666
+
667
+ # The spec contents.
668
+ # @!attribute [rw] contents
669
+ # @return [::String]
670
+ # Required. The contents of the spec.
671
+ # @!attribute [rw] mime_type
672
+ # @return [::String]
673
+ # Required. The mime type of the content for example application/json,
674
+ # application/yaml, application/wsdl etc.
675
+ class SpecContents
676
+ include ::Google::Protobuf::MessageExts
677
+ extend ::Google::Protobuf::MessageExts::ClassMethods
678
+ end
679
+
680
+ # SpecDetails contains the details parsed from supported
681
+ # spec types.
682
+ # @!attribute [r] open_api_spec_details
683
+ # @return [::Google::Cloud::ApiHub::V1::OpenApiSpecDetails]
684
+ # Output only. Additional details apart from `OperationDetails` parsed from
685
+ # an OpenAPI spec. The OperationDetails parsed from the spec can be
686
+ # obtained by using
687
+ # {::Google::Cloud::ApiHub::V1::ApiHub::Client#list_api_operations ListAPIOperations}
688
+ # method.
689
+ # @!attribute [r] description
690
+ # @return [::String]
691
+ # Output only. The description of the spec.
692
+ class SpecDetails
693
+ include ::Google::Protobuf::MessageExts
694
+ extend ::Google::Protobuf::MessageExts::ClassMethods
695
+ end
696
+
697
+ # OpenApiSpecDetails contains the details parsed from an OpenAPI spec in
698
+ # addition to the fields mentioned in
699
+ # {::Google::Cloud::ApiHub::V1::SpecDetails SpecDetails}.
700
+ # @!attribute [r] format
701
+ # @return [::Google::Cloud::ApiHub::V1::OpenApiSpecDetails::Format]
702
+ # Output only. The format of the spec.
703
+ # @!attribute [r] version
704
+ # @return [::String]
705
+ # Output only. The version in the spec.
706
+ # This maps to `info.version` in OpenAPI spec.
707
+ # @!attribute [r] owner
708
+ # @return [::Google::Cloud::ApiHub::V1::Owner]
709
+ # Output only. Owner details for the spec.
710
+ # This maps to `info.contact` in OpenAPI spec.
711
+ class OpenApiSpecDetails
712
+ include ::Google::Protobuf::MessageExts
713
+ extend ::Google::Protobuf::MessageExts::ClassMethods
714
+
715
+ # Enumeration of spec formats.
716
+ module Format
717
+ # SpecFile type unspecified.
718
+ FORMAT_UNSPECIFIED = 0
719
+
720
+ # OpenAPI Spec v2.0.
721
+ OPEN_API_SPEC_2_0 = 1
722
+
723
+ # OpenAPI Spec v3.0.
724
+ OPEN_API_SPEC_3_0 = 2
725
+
726
+ # OpenAPI Spec v3.1.
727
+ OPEN_API_SPEC_3_1 = 3
728
+ end
729
+ end
730
+
731
+ # The operation details parsed from the spec.
732
+ # @!attribute [rw] http_operation
733
+ # @return [::Google::Cloud::ApiHub::V1::HttpOperation]
734
+ # The HTTP Operation.
735
+ # @!attribute [r] description
736
+ # @return [::String]
737
+ # Output only. Description of the operation behavior.
738
+ # For OpenAPI spec, this will map to `operation.description` in the
739
+ # spec, in case description is empty, `operation.summary` will be used.
740
+ # @!attribute [r] documentation
741
+ # @return [::Google::Cloud::ApiHub::V1::Documentation]
742
+ # Output only. Additional external documentation for this operation.
743
+ # For OpenAPI spec, this will map to `operation.documentation` in the spec.
744
+ # @!attribute [r] deprecated
745
+ # @return [::Boolean]
746
+ # Output only. For OpenAPI spec, this will be set if `operation.deprecated`is
747
+ # marked as `true` in the spec.
748
+ class OperationDetails
749
+ include ::Google::Protobuf::MessageExts
750
+ extend ::Google::Protobuf::MessageExts::ClassMethods
751
+ end
752
+
753
+ # The HTTP Operation.
754
+ # @!attribute [r] path
755
+ # @return [::Google::Cloud::ApiHub::V1::Path]
756
+ # Output only. The path details for the Operation.
757
+ # @!attribute [r] method
758
+ # @return [::Google::Cloud::ApiHub::V1::HttpOperation::Method]
759
+ # Output only. Operation method
760
+ class HttpOperation
761
+ include ::Google::Protobuf::MessageExts
762
+ extend ::Google::Protobuf::MessageExts::ClassMethods
763
+
764
+ # Enumeration of Method types.
765
+ module Method
766
+ # Method unspecified.
767
+ METHOD_UNSPECIFIED = 0
768
+
769
+ # Get Operation type.
770
+ GET = 1
771
+
772
+ # Put Operation type.
773
+ PUT = 2
774
+
775
+ # Post Operation type.
776
+ POST = 3
777
+
778
+ # Delete Operation type.
779
+ DELETE = 4
780
+
781
+ # Options Operation type.
782
+ OPTIONS = 5
783
+
784
+ # Head Operation type.
785
+ HEAD = 6
786
+
787
+ # Patch Operation type.
788
+ PATCH = 7
789
+
790
+ # Trace Operation type.
791
+ TRACE = 8
792
+ end
793
+ end
794
+
795
+ # The path details derived from the spec.
796
+ # @!attribute [r] path
797
+ # @return [::String]
798
+ # Output only. Complete path relative to server endpoint.
799
+ # @!attribute [r] description
800
+ # @return [::String]
801
+ # Output only. A short description for the path applicable to all operations.
802
+ class Path
803
+ include ::Google::Protobuf::MessageExts
804
+ extend ::Google::Protobuf::MessageExts::ClassMethods
805
+ end
806
+
807
+ # The schema details derived from the spec. Currently, this entity is supported
808
+ # for OpenAPI spec only.
809
+ # For OpenAPI spec, this maps to the schema defined in
810
+ # the `definitions` section for OpenAPI 2.0 version and in
811
+ # `components.schemas` section for OpenAPI 3.0 and 3.1 version.
812
+ # @!attribute [r] display_name
813
+ # @return [::String]
814
+ # Output only. The display name of the schema.
815
+ # This will map to the name of the schema in the spec.
816
+ # @!attribute [r] raw_value
817
+ # @return [::String]
818
+ # Output only. The raw value of the schema definition corresponding to the
819
+ # schema name in the spec.
820
+ class Schema
821
+ include ::Google::Protobuf::MessageExts
822
+ extend ::Google::Protobuf::MessageExts::ClassMethods
823
+ end
824
+
825
+ # Owner details.
826
+ # @!attribute [rw] display_name
827
+ # @return [::String]
828
+ # Optional. The name of the owner.
829
+ # @!attribute [rw] email
830
+ # @return [::String]
831
+ # Required. The email of the owner.
832
+ class Owner
833
+ include ::Google::Protobuf::MessageExts
834
+ extend ::Google::Protobuf::MessageExts::ClassMethods
835
+ end
836
+
837
+ # Documentation details.
838
+ # @!attribute [rw] external_uri
839
+ # @return [::String]
840
+ # Optional. The uri of the externally hosted documentation.
841
+ class Documentation
842
+ include ::Google::Protobuf::MessageExts
843
+ extend ::Google::Protobuf::MessageExts::ClassMethods
844
+ end
845
+
846
+ # The attribute values associated with resource.
847
+ # @!attribute [rw] enum_values
848
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues::EnumAttributeValues]
849
+ # The attribute values associated with a resource in case attribute data
850
+ # type is enum.
851
+ # @!attribute [rw] string_values
852
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues::StringAttributeValues]
853
+ # The attribute values associated with a resource in case attribute data
854
+ # type is string.
855
+ # @!attribute [rw] json_values
856
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues::StringAttributeValues]
857
+ # The attribute values associated with a resource in case attribute data
858
+ # type is JSON.
859
+ # @!attribute [r] attribute
860
+ # @return [::String]
861
+ # Output only. The name of the attribute.
862
+ # Format: projects/\\{project}/locations/\\{location}/attributes/\\{attribute}
863
+ class AttributeValues
864
+ include ::Google::Protobuf::MessageExts
865
+ extend ::Google::Protobuf::MessageExts::ClassMethods
866
+
867
+ # The attribute values of data type enum.
868
+ # @!attribute [rw] values
869
+ # @return [::Array<::Google::Cloud::ApiHub::V1::Attribute::AllowedValue>]
870
+ # Required. The attribute values in case attribute data type is enum.
871
+ class EnumAttributeValues
872
+ include ::Google::Protobuf::MessageExts
873
+ extend ::Google::Protobuf::MessageExts::ClassMethods
874
+ end
875
+
876
+ # The attribute values of data type string or JSON.
877
+ # @!attribute [rw] values
878
+ # @return [::Array<::String>]
879
+ # Required. The attribute values in case attribute data type is string or
880
+ # JSON.
881
+ class StringAttributeValues
882
+ include ::Google::Protobuf::MessageExts
883
+ extend ::Google::Protobuf::MessageExts::ClassMethods
884
+ end
885
+ end
886
+
887
+ # A dependency resource defined in the API hub describes a dependency directed
888
+ # from a consumer to a supplier entity. A dependency can be defined between two
889
+ # [Operations][google.cloud.apihub.v1.Operation] or between
890
+ # an [Operation][google.cloud.apihub.v1.Operation] and [External
891
+ # API][google.cloud.apihub.v1.ExternalApi].
892
+ # @!attribute [rw] name
893
+ # @return [::String]
894
+ # Identifier. The name of the dependency in the API Hub.
895
+ #
896
+ # Format: `projects/{project}/locations/{location}/dependencies/{dependency}`
897
+ # @!attribute [rw] consumer
898
+ # @return [::Google::Cloud::ApiHub::V1::DependencyEntityReference]
899
+ # Required. Immutable. The entity acting as the consumer in the dependency.
900
+ # @!attribute [rw] supplier
901
+ # @return [::Google::Cloud::ApiHub::V1::DependencyEntityReference]
902
+ # Required. Immutable. The entity acting as the supplier in the dependency.
903
+ # @!attribute [r] state
904
+ # @return [::Google::Cloud::ApiHub::V1::Dependency::State]
905
+ # Output only. State of the dependency.
906
+ # @!attribute [rw] description
907
+ # @return [::String]
908
+ # Optional. Human readable description corresponding of the dependency.
909
+ # @!attribute [r] discovery_mode
910
+ # @return [::Google::Cloud::ApiHub::V1::Dependency::DiscoveryMode]
911
+ # Output only. Discovery mode of the dependency.
912
+ # @!attribute [r] error_detail
913
+ # @return [::Google::Cloud::ApiHub::V1::DependencyErrorDetail]
914
+ # Output only. Error details of a dependency if the system has detected it
915
+ # internally.
916
+ # @!attribute [r] create_time
917
+ # @return [::Google::Protobuf::Timestamp]
918
+ # Output only. The time at which the dependency was created.
919
+ # @!attribute [r] update_time
920
+ # @return [::Google::Protobuf::Timestamp]
921
+ # Output only. The time at which the dependency was last updated.
922
+ # @!attribute [rw] attributes
923
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::ApiHub::V1::AttributeValues}]
924
+ # Optional. The list of user defined attributes associated with the
925
+ # dependency resource. The key is the attribute name. It will be of the
926
+ # format: `projects/{project}/locations/{location}/attributes/{attribute}`.
927
+ # The value is the attribute values associated with the resource.
928
+ class Dependency
929
+ include ::Google::Protobuf::MessageExts
930
+ extend ::Google::Protobuf::MessageExts::ClassMethods
931
+
932
+ # @!attribute [rw] key
933
+ # @return [::String]
934
+ # @!attribute [rw] value
935
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
936
+ class AttributesEntry
937
+ include ::Google::Protobuf::MessageExts
938
+ extend ::Google::Protobuf::MessageExts::ClassMethods
939
+ end
940
+
941
+ # Possible states for a dependency.
942
+ module State
943
+ # Default value. This value is unused.
944
+ STATE_UNSPECIFIED = 0
945
+
946
+ # Dependency will be in a proposed state when it is newly identified by the
947
+ # API hub on its own.
948
+ PROPOSED = 1
949
+
950
+ # Dependency will be in a validated state when it is validated by the
951
+ # admin or manually created in the API hub.
952
+ VALIDATED = 2
953
+ end
954
+
955
+ # Possible modes of discovering the dependency.
956
+ module DiscoveryMode
957
+ # Default value. This value is unused.
958
+ DISCOVERY_MODE_UNSPECIFIED = 0
959
+
960
+ # Manual mode of discovery when the dependency is defined by the user.
961
+ MANUAL = 1
962
+ end
963
+ end
964
+
965
+ # Reference to an entity participating in a dependency.
966
+ # @!attribute [rw] operation_resource_name
967
+ # @return [::String]
968
+ # The resource name of an operation in the API Hub.
969
+ #
970
+ # Format:
971
+ # `projects/{project}/locations/{location}/apis/{api}/versions/{version}/operations/{operation}`
972
+ # @!attribute [rw] external_api_resource_name
973
+ # @return [::String]
974
+ # The resource name of an external API in the API Hub.
975
+ #
976
+ # Format:
977
+ # `projects/{project}/locations/{location}/externalApis/{external_api}`
978
+ # @!attribute [r] display_name
979
+ # @return [::String]
980
+ # Output only. Display name of the entity.
981
+ class DependencyEntityReference
982
+ include ::Google::Protobuf::MessageExts
983
+ extend ::Google::Protobuf::MessageExts::ClassMethods
984
+ end
985
+
986
+ # Details describing error condition of a dependency.
987
+ # @!attribute [rw] error
988
+ # @return [::Google::Cloud::ApiHub::V1::DependencyErrorDetail::Error]
989
+ # Optional. Error in the dependency.
990
+ # @!attribute [rw] error_time
991
+ # @return [::Google::Protobuf::Timestamp]
992
+ # Optional. Timestamp at which the error was found.
993
+ class DependencyErrorDetail
994
+ include ::Google::Protobuf::MessageExts
995
+ extend ::Google::Protobuf::MessageExts::ClassMethods
996
+
997
+ # Possible values representing an error in the dependency.
998
+ module Error
999
+ # Default value used for no error in the dependency.
1000
+ ERROR_UNSPECIFIED = 0
1001
+
1002
+ # Supplier entity has been deleted.
1003
+ SUPPLIER_NOT_FOUND = 1
1004
+
1005
+ # Supplier entity has been recreated.
1006
+ SUPPLIER_RECREATED = 2
1007
+ end
1008
+ end
1009
+
1010
+ # LintResponse contains the response from the linter.
1011
+ # @!attribute [rw] issues
1012
+ # @return [::Array<::Google::Cloud::ApiHub::V1::Issue>]
1013
+ # Optional. Array of issues found in the analyzed document.
1014
+ # @!attribute [rw] summary
1015
+ # @return [::Array<::Google::Cloud::ApiHub::V1::LintResponse::SummaryEntry>]
1016
+ # Optional. Summary of all issue types and counts for each severity level.
1017
+ # @!attribute [rw] state
1018
+ # @return [::Google::Cloud::ApiHub::V1::LintState]
1019
+ # Required. Lint state represents success or failure for linting.
1020
+ # @!attribute [rw] source
1021
+ # @return [::String]
1022
+ # Required. Name of the linting application.
1023
+ # @!attribute [rw] linter
1024
+ # @return [::Google::Cloud::ApiHub::V1::Linter]
1025
+ # Required. Name of the linter used.
1026
+ # @!attribute [rw] create_time
1027
+ # @return [::Google::Protobuf::Timestamp]
1028
+ # Required. Timestamp when the linting response was generated.
1029
+ class LintResponse
1030
+ include ::Google::Protobuf::MessageExts
1031
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1032
+
1033
+ # Count of issues with a given severity.
1034
+ # @!attribute [rw] severity
1035
+ # @return [::Google::Cloud::ApiHub::V1::Severity]
1036
+ # Required. Severity of the issue.
1037
+ # @!attribute [rw] count
1038
+ # @return [::Integer]
1039
+ # Required. Count of issues with the given severity.
1040
+ class SummaryEntry
1041
+ include ::Google::Protobuf::MessageExts
1042
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1043
+ end
1044
+ end
1045
+
1046
+ # Issue contains the details of a single issue found by the linter.
1047
+ # @!attribute [rw] code
1048
+ # @return [::String]
1049
+ # Required. Rule code unique to each rule defined in linter.
1050
+ # @!attribute [rw] path
1051
+ # @return [::Array<::String>]
1052
+ # Required. An array of strings indicating the location in the analyzed
1053
+ # document where the rule was triggered.
1054
+ # @!attribute [rw] message
1055
+ # @return [::String]
1056
+ # Required. Human-readable message describing the issue found by the linter.
1057
+ # @!attribute [rw] severity
1058
+ # @return [::Google::Cloud::ApiHub::V1::Severity]
1059
+ # Required. Severity level of the rule violation.
1060
+ # @!attribute [rw] range
1061
+ # @return [::Google::Cloud::ApiHub::V1::Range]
1062
+ # Required. Object describing where in the file the issue was found.
1063
+ class Issue
1064
+ include ::Google::Protobuf::MessageExts
1065
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1066
+ end
1067
+
1068
+ # Object describing where in the file the issue was found.
1069
+ # @!attribute [rw] start
1070
+ # @return [::Google::Cloud::ApiHub::V1::Point]
1071
+ # Required. Start of the issue.
1072
+ # @!attribute [rw] end
1073
+ # @return [::Google::Cloud::ApiHub::V1::Point]
1074
+ # Required. End of the issue.
1075
+ class Range
1076
+ include ::Google::Protobuf::MessageExts
1077
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1078
+ end
1079
+
1080
+ # Point within the file (line and character).
1081
+ # @!attribute [rw] line
1082
+ # @return [::Integer]
1083
+ # Required. Line number (zero-indexed).
1084
+ # @!attribute [rw] character
1085
+ # @return [::Integer]
1086
+ # Required. Character position within the line (zero-indexed).
1087
+ class Point
1088
+ include ::Google::Protobuf::MessageExts
1089
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1090
+ end
1091
+
1092
+ # Represents the metadata of the long-running operation.
1093
+ # @!attribute [r] create_time
1094
+ # @return [::Google::Protobuf::Timestamp]
1095
+ # Output only. The time the operation was created.
1096
+ # @!attribute [r] end_time
1097
+ # @return [::Google::Protobuf::Timestamp]
1098
+ # Output only. The time the operation finished running.
1099
+ # @!attribute [r] target
1100
+ # @return [::String]
1101
+ # Output only. Server-defined resource path for the target of the operation.
1102
+ # @!attribute [r] verb
1103
+ # @return [::String]
1104
+ # Output only. Name of the verb executed by the operation.
1105
+ # @!attribute [r] status_message
1106
+ # @return [::String]
1107
+ # Output only. Human-readable status of the operation, if any.
1108
+ # @!attribute [r] requested_cancellation
1109
+ # @return [::Boolean]
1110
+ # Output only. Identifies whether the user has requested cancellation
1111
+ # of the operation. Operations that have been cancelled successfully
1112
+ # have [Operation.error][] value with a
1113
+ # {::Google::Rpc::Status#code google.rpc.Status.code} of 1, corresponding to
1114
+ # `Code.CANCELLED`.
1115
+ # @!attribute [r] api_version
1116
+ # @return [::String]
1117
+ # Output only. API version used to start the operation.
1118
+ class OperationMetadata
1119
+ include ::Google::Protobuf::MessageExts
1120
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1121
+ end
1122
+
1123
+ # An ApiHubInstance represents the instance resources of the API Hub.
1124
+ # Currently, only one ApiHub instance is allowed for each project.
1125
+ # @!attribute [rw] name
1126
+ # @return [::String]
1127
+ # Identifier. Format:
1128
+ # `projects/{project}/locations/{location}/apiHubInstances/{apiHubInstance}`.
1129
+ # @!attribute [r] create_time
1130
+ # @return [::Google::Protobuf::Timestamp]
1131
+ # Output only. Creation timestamp.
1132
+ # @!attribute [r] update_time
1133
+ # @return [::Google::Protobuf::Timestamp]
1134
+ # Output only. Last update timestamp.
1135
+ # @!attribute [r] state
1136
+ # @return [::Google::Cloud::ApiHub::V1::ApiHubInstance::State]
1137
+ # Output only. The current state of the ApiHub instance.
1138
+ # @!attribute [r] state_message
1139
+ # @return [::String]
1140
+ # Output only. Extra information about ApiHub instance state. Currently the
1141
+ # message would be populated when state is `FAILED`.
1142
+ # @!attribute [rw] config
1143
+ # @return [::Google::Cloud::ApiHub::V1::ApiHubInstance::Config]
1144
+ # Required. Config of the ApiHub instance.
1145
+ # @!attribute [rw] labels
1146
+ # @return [::Google::Protobuf::Map{::String => ::String}]
1147
+ # Optional. Instance labels to represent user-provided metadata.
1148
+ # Refer to cloud documentation on labels for more details.
1149
+ # https://cloud.google.com/compute/docs/labeling-resources
1150
+ # @!attribute [rw] description
1151
+ # @return [::String]
1152
+ # Optional. Description of the ApiHub instance.
1153
+ class ApiHubInstance
1154
+ include ::Google::Protobuf::MessageExts
1155
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1156
+
1157
+ # Available configurations to provision an ApiHub Instance.
1158
+ # @!attribute [rw] cmek_key_name
1159
+ # @return [::String]
1160
+ # Required. The Customer Managed Encryption Key (CMEK) used for data
1161
+ # encryption. The CMEK name should follow the format of
1162
+ # `projects/([^/]+)/locations/([^/]+)/keyRings/([^/]+)/cryptoKeys/([^/]+)`,
1163
+ # where the location must match the instance location.
1164
+ class Config
1165
+ include ::Google::Protobuf::MessageExts
1166
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1167
+ end
1168
+
1169
+ # @!attribute [rw] key
1170
+ # @return [::String]
1171
+ # @!attribute [rw] value
1172
+ # @return [::String]
1173
+ class LabelsEntry
1174
+ include ::Google::Protobuf::MessageExts
1175
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1176
+ end
1177
+
1178
+ # State of the ApiHub Instance.
1179
+ module State
1180
+ # The default value. This value is used if the state is omitted.
1181
+ STATE_UNSPECIFIED = 0
1182
+
1183
+ # The ApiHub instance has not been initialized or has been deleted.
1184
+ INACTIVE = 1
1185
+
1186
+ # The ApiHub instance is being created.
1187
+ CREATING = 2
1188
+
1189
+ # The ApiHub instance has been created and is ready for use.
1190
+ ACTIVE = 3
1191
+
1192
+ # The ApiHub instance is being updated.
1193
+ UPDATING = 4
1194
+
1195
+ # The ApiHub instance is being deleted.
1196
+ DELETING = 5
1197
+
1198
+ # The ApiHub instance encountered an error during a state change.
1199
+ FAILED = 6
1200
+ end
1201
+ end
1202
+
1203
+ # An external API represents an API being provided by external sources. This
1204
+ # can be used to model third-party APIs and can be used to define dependencies.
1205
+ # @!attribute [rw] name
1206
+ # @return [::String]
1207
+ # Identifier. Format:
1208
+ # `projects/{project}/locations/{location}/externalApi/{externalApi}`.
1209
+ # @!attribute [rw] display_name
1210
+ # @return [::String]
1211
+ # Required. Display name of the external API. Max length is 63 characters
1212
+ # (Unicode Code Points).
1213
+ # @!attribute [rw] description
1214
+ # @return [::String]
1215
+ # Optional. Description of the external API. Max length is 2000 characters
1216
+ # (Unicode Code Points).
1217
+ # @!attribute [rw] endpoints
1218
+ # @return [::Array<::String>]
1219
+ # Optional. List of endpoints on which this API is accessible.
1220
+ # @!attribute [rw] paths
1221
+ # @return [::Array<::String>]
1222
+ # Optional. List of paths served by this API.
1223
+ # @!attribute [rw] documentation
1224
+ # @return [::Google::Cloud::ApiHub::V1::Documentation]
1225
+ # Optional. Documentation of the external API.
1226
+ # @!attribute [rw] attributes
1227
+ # @return [::Google::Protobuf::Map{::String => ::Google::Cloud::ApiHub::V1::AttributeValues}]
1228
+ # Optional. The list of user defined attributes associated with the Version
1229
+ # resource. The key is the attribute name. It will be of the format:
1230
+ # `projects/{project}/locations/{location}/attributes/{attribute}`.
1231
+ # The value is the attribute values associated with the resource.
1232
+ # @!attribute [r] create_time
1233
+ # @return [::Google::Protobuf::Timestamp]
1234
+ # Output only. Creation timestamp.
1235
+ # @!attribute [r] update_time
1236
+ # @return [::Google::Protobuf::Timestamp]
1237
+ # Output only. Last update timestamp.
1238
+ class ExternalApi
1239
+ include ::Google::Protobuf::MessageExts
1240
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1241
+
1242
+ # @!attribute [rw] key
1243
+ # @return [::String]
1244
+ # @!attribute [rw] value
1245
+ # @return [::Google::Cloud::ApiHub::V1::AttributeValues]
1246
+ class AttributesEntry
1247
+ include ::Google::Protobuf::MessageExts
1248
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1249
+ end
1250
+ end
1251
+
1252
+ # Lint state represents success or failure for linting.
1253
+ module LintState
1254
+ # Lint state unspecified.
1255
+ LINT_STATE_UNSPECIFIED = 0
1256
+
1257
+ # Linting was completed successfully.
1258
+ LINT_STATE_SUCCESS = 1
1259
+
1260
+ # Linting encountered errors.
1261
+ LINT_STATE_ERROR = 2
1262
+ end
1263
+
1264
+ # Enumeration of linter types.
1265
+ module Linter
1266
+ # Linter type unspecified.
1267
+ LINTER_UNSPECIFIED = 0
1268
+
1269
+ # Linter type spectral.
1270
+ SPECTRAL = 1
1271
+
1272
+ # Linter type other.
1273
+ OTHER = 2
1274
+ end
1275
+
1276
+ # Severity of the issue.
1277
+ module Severity
1278
+ # Severity unspecified.
1279
+ SEVERITY_UNSPECIFIED = 0
1280
+
1281
+ # Severity error.
1282
+ SEVERITY_ERROR = 1
1283
+
1284
+ # Severity warning.
1285
+ SEVERITY_WARNING = 2
1286
+
1287
+ # Severity info.
1288
+ SEVERITY_INFO = 3
1289
+
1290
+ # Severity hint.
1291
+ SEVERITY_HINT = 4
1292
+ end
1293
+ end
1294
+ end
1295
+ end
1296
+ end