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

Sign up to get free protection for your applications and to get access to all the features.
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