google-cloud-network_connectivity-v1 1.3.0 → 1.4.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 (25) hide show
  1. checksums.yaml +4 -4
  2. data/AUTHENTICATION.md +4 -4
  3. data/README.md +4 -4
  4. data/lib/google/cloud/network_connectivity/v1/cross_network_automation_service/client.rb +2413 -0
  5. data/lib/google/cloud/network_connectivity/v1/cross_network_automation_service/credentials.rb +51 -0
  6. data/lib/google/cloud/network_connectivity/v1/cross_network_automation_service/operations.rb +813 -0
  7. data/lib/google/cloud/network_connectivity/v1/cross_network_automation_service/paths.rb +195 -0
  8. data/lib/google/cloud/network_connectivity/v1/cross_network_automation_service.rb +50 -0
  9. data/lib/google/cloud/network_connectivity/v1/hub_service/client.rb +242 -0
  10. data/lib/google/cloud/network_connectivity/v1/policy_based_routing_service/client.rb +24 -17
  11. data/lib/google/cloud/network_connectivity/v1/version.rb +1 -1
  12. data/lib/google/cloud/network_connectivity/v1.rb +2 -1
  13. data/lib/google/cloud/networkconnectivity/v1/common_pb.rb +1 -1
  14. data/lib/google/cloud/networkconnectivity/v1/cross_network_automation_pb.rb +95 -0
  15. data/lib/google/cloud/networkconnectivity/v1/cross_network_automation_services_pb.rb +79 -0
  16. data/lib/google/cloud/networkconnectivity/v1/hub_pb.rb +5 -1
  17. data/lib/google/cloud/networkconnectivity/v1/hub_services_pb.rb +4 -0
  18. data/lib/google/cloud/networkconnectivity/v1/policy_based_routing_services_pb.rb +4 -4
  19. data/proto_docs/google/api/client.rb +14 -0
  20. data/proto_docs/google/cloud/networkconnectivity/v1/common.rb +4 -3
  21. data/proto_docs/google/cloud/networkconnectivity/v1/cross_network_automation.rb +1138 -0
  22. data/proto_docs/google/cloud/networkconnectivity/v1/hub.rb +142 -13
  23. data/proto_docs/google/cloud/networkconnectivity/v1/policy_based_routing.rb +74 -58
  24. data/proto_docs/google/rpc/error_details.rb +346 -0
  25. metadata +12 -3
@@ -0,0 +1,1138 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 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 NetworkConnectivity
23
+ module V1
24
+ # The ServiceConnectionMap resource.
25
+ # @!attribute [rw] name
26
+ # @return [::String]
27
+ # Immutable. The name of a ServiceConnectionMap.
28
+ # Format:
29
+ # projects/\\{project}/locations/\\{location}/serviceConnectionMaps/\\{service_connection_map}
30
+ # See: https://google.aip.dev/122#fields-representing-resource-names
31
+ # @!attribute [r] create_time
32
+ # @return [::Google::Protobuf::Timestamp]
33
+ # Output only. Time when the ServiceConnectionMap was created.
34
+ # @!attribute [r] update_time
35
+ # @return [::Google::Protobuf::Timestamp]
36
+ # Output only. Time when the ServiceConnectionMap was updated.
37
+ # @!attribute [rw] labels
38
+ # @return [::Google::Protobuf::Map{::String => ::String}]
39
+ # User-defined labels.
40
+ # @!attribute [rw] description
41
+ # @return [::String]
42
+ # A description of this resource.
43
+ # @!attribute [rw] service_class
44
+ # @return [::String]
45
+ # The service class identifier this ServiceConnectionMap is for.
46
+ # The user of ServiceConnectionMap create API needs to have
47
+ # networkconnecitivty.serviceclasses.use iam permission for the service
48
+ # class.
49
+ # @!attribute [r] service_class_uri
50
+ # @return [::String]
51
+ # Output only. The service class uri this ServiceConnectionMap is for.
52
+ # @!attribute [r] infrastructure
53
+ # @return [::Google::Cloud::NetworkConnectivity::V1::Infrastructure]
54
+ # Output only. The infrastructure used for connections between
55
+ # consumers/producers.
56
+ # @!attribute [rw] producer_psc_configs
57
+ # @return [::Array<::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ProducerPscConfig>]
58
+ # The PSC configurations on producer side.
59
+ # @!attribute [rw] consumer_psc_configs
60
+ # @return [::Array<::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig>]
61
+ # The PSC configurations on consumer side.
62
+ # @!attribute [r] consumer_psc_connections
63
+ # @return [::Array<::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection>]
64
+ # Output only. PSC connection details on consumer side.
65
+ # @!attribute [rw] token
66
+ # @return [::String]
67
+ # The token provided by the consumer. This token authenticates that the
68
+ # consumer can create a connection within the specified project and network.
69
+ # @!attribute [rw] etag
70
+ # @return [::String]
71
+ # Optional. The etag is computed by the server, and may be sent on update and
72
+ # delete requests to ensure the client has an up-to-date value before
73
+ # proceeding.
74
+ class ServiceConnectionMap
75
+ include ::Google::Protobuf::MessageExts
76
+ extend ::Google::Protobuf::MessageExts::ClassMethods
77
+
78
+ # The PSC configurations on producer side.
79
+ # @!attribute [rw] service_attachment_uri
80
+ # @return [::String]
81
+ # The resource path of a service attachment.
82
+ # Example:
83
+ # projects/\\{projectNumOrId}/regions/\\{region}/serviceAttachments/\\{resourceId}.
84
+ class ProducerPscConfig
85
+ include ::Google::Protobuf::MessageExts
86
+ extend ::Google::Protobuf::MessageExts::ClassMethods
87
+ end
88
+
89
+ # Allow the producer to specify which consumers can connect to it.
90
+ # @!attribute [rw] project
91
+ # @return [::String]
92
+ # The consumer project where PSC connections are allowed to be created in.
93
+ # @!attribute [rw] network
94
+ # @return [::String]
95
+ # The resource path of the consumer network where PSC connections are
96
+ # allowed to be created in. Note, this network does not need be in the
97
+ # ConsumerPscConfig.project in the case of SharedVPC.
98
+ # Example:
99
+ # projects/\\{projectNumOrId}/global/networks/\\{networkId}.
100
+ # @!attribute [rw] disable_global_access
101
+ # @return [::Boolean]
102
+ # This is used in PSC consumer ForwardingRule to control whether the PSC
103
+ # endpoint can be accessed from another region.
104
+ # @!attribute [r] state
105
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConfig::State]
106
+ # Output only. Overall state of PSC Connections management for this
107
+ # consumer psc config.
108
+ # @!attribute [rw] producer_instance_id
109
+ # @deprecated This field is deprecated and may be removed in the next major version update.
110
+ # @return [::String]
111
+ # Immutable. Deprecated. Use producer_instance_metadata instead.
112
+ # An immutable identifier for the producer instance.
113
+ # @!attribute [r] service_attachment_ip_address_map
114
+ # @return [::Google::Protobuf::Map{::String => ::String}]
115
+ # Output only. A map to store mapping between customer vip and target
116
+ # service attachment. Only service attachment with producer specified ip
117
+ # addresses are stored here.
118
+ # @!attribute [rw] consumer_instance_project
119
+ # @return [::String]
120
+ # Required. The project ID or project number of the consumer project. This
121
+ # project is the one that the consumer uses to interact with the producer
122
+ # instance. From the perspective of a consumer who's created a producer
123
+ # instance, this is the project of the producer instance. Format:
124
+ # 'projects/<project_id_or_number>' Eg. 'projects/consumer-project' or
125
+ # 'projects/1234'
126
+ # @!attribute [rw] producer_instance_metadata
127
+ # @return [::Google::Protobuf::Map{::String => ::String}]
128
+ # Immutable. An immutable map for the producer instance metadata.
129
+ # @!attribute [rw] ip_version
130
+ # @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
131
+ # The requested IP version for the PSC connection.
132
+ class ConsumerPscConfig
133
+ include ::Google::Protobuf::MessageExts
134
+ extend ::Google::Protobuf::MessageExts::ClassMethods
135
+
136
+ # @!attribute [rw] key
137
+ # @return [::String]
138
+ # @!attribute [rw] value
139
+ # @return [::String]
140
+ class ServiceAttachmentIpAddressMapEntry
141
+ include ::Google::Protobuf::MessageExts
142
+ extend ::Google::Protobuf::MessageExts::ClassMethods
143
+ end
144
+
145
+ # @!attribute [rw] key
146
+ # @return [::String]
147
+ # @!attribute [rw] value
148
+ # @return [::String]
149
+ class ProducerInstanceMetadataEntry
150
+ include ::Google::Protobuf::MessageExts
151
+ extend ::Google::Protobuf::MessageExts::ClassMethods
152
+ end
153
+
154
+ # PSC Consumer Config State.
155
+ module State
156
+ # Default state, when Connection Map is created initially.
157
+ STATE_UNSPECIFIED = 0
158
+
159
+ # Set when policy and map configuration is valid,
160
+ # and their matching can lead to allowing creation of PSC Connections
161
+ # subject to other constraints like connections limit.
162
+ VALID = 1
163
+
164
+ # No Service Connection Policy found for this network and Service
165
+ # Class
166
+ CONNECTION_POLICY_MISSING = 2
167
+
168
+ # Service Connection Policy limit reached for this network and Service
169
+ # Class
170
+ POLICY_LIMIT_REACHED = 3
171
+
172
+ # The consumer instance project is not in
173
+ # AllowedGoogleProducersResourceHierarchyLevels of the matching
174
+ # ServiceConnectionPolicy.
175
+ CONSUMER_INSTANCE_PROJECT_NOT_ALLOWLISTED = 4
176
+ end
177
+ end
178
+
179
+ # PSC connection details on consumer side.
180
+ # @!attribute [rw] service_attachment_uri
181
+ # @return [::String]
182
+ # The URI of a service attachment which is the target of the PSC
183
+ # connection.
184
+ # @!attribute [rw] state
185
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap::ConsumerPscConnection::State]
186
+ # The state of the PSC connection.
187
+ # @!attribute [rw] project
188
+ # @return [::String]
189
+ # The consumer project whose PSC forwarding rule is connected to the
190
+ # service attachments in this service connection map.
191
+ # @!attribute [rw] network
192
+ # @return [::String]
193
+ # The consumer network whose PSC forwarding rule is connected to the
194
+ # service attachments in this service connection map.
195
+ # Note that the network could be on a different project (shared VPC).
196
+ # @!attribute [rw] psc_connection_id
197
+ # @return [::String]
198
+ # The PSC connection id of the PSC forwarding rule connected
199
+ # to the service attachments in this service connection map.
200
+ # @!attribute [rw] ip
201
+ # @return [::String]
202
+ # The IP literal allocated on the consumer network for the PSC forwarding
203
+ # rule that is created to connect to the producer service attachment in
204
+ # this service connection map.
205
+ # @!attribute [rw] error_type
206
+ # @deprecated This field is deprecated and may be removed in the next major version update.
207
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
208
+ # The error type indicates whether the error is consumer facing, producer
209
+ # facing or system internal.
210
+ # @!attribute [rw] error
211
+ # @deprecated This field is deprecated and may be removed in the next major version update.
212
+ # @return [::Google::Rpc::Status]
213
+ # The most recent error during operating this connection.
214
+ # @!attribute [rw] gce_operation
215
+ # @return [::String]
216
+ # The last Compute Engine operation to setup PSC connection.
217
+ # @!attribute [rw] forwarding_rule
218
+ # @return [::String]
219
+ # The URI of the consumer forwarding rule created.
220
+ # Example:
221
+ # projects/\\{projectNumOrId}/regions/us-east1/networks/\\{resourceId}.
222
+ # @!attribute [r] error_info
223
+ # @return [::Google::Rpc::ErrorInfo]
224
+ # Output only. The error info for the latest error during operating this
225
+ # connection.
226
+ # @!attribute [r] selected_subnetwork
227
+ # @return [::String]
228
+ # Output only. The URI of the selected subnetwork selected to allocate IP
229
+ # address for this connection.
230
+ # @!attribute [rw] producer_instance_id
231
+ # @deprecated This field is deprecated and may be removed in the next major version update.
232
+ # @return [::String]
233
+ # Immutable. Deprecated. Use producer_instance_metadata instead.
234
+ # An immutable identifier for the producer instance.
235
+ # @!attribute [rw] producer_instance_metadata
236
+ # @return [::Google::Protobuf::Map{::String => ::String}]
237
+ # Immutable. An immutable map for the producer instance metadata.
238
+ # @!attribute [rw] ip_version
239
+ # @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
240
+ # The requested IP version for the PSC connection.
241
+ class ConsumerPscConnection
242
+ include ::Google::Protobuf::MessageExts
243
+ extend ::Google::Protobuf::MessageExts::ClassMethods
244
+
245
+ # @!attribute [rw] key
246
+ # @return [::String]
247
+ # @!attribute [rw] value
248
+ # @return [::String]
249
+ class ProducerInstanceMetadataEntry
250
+ include ::Google::Protobuf::MessageExts
251
+ extend ::Google::Protobuf::MessageExts::ClassMethods
252
+ end
253
+
254
+ # The state of the PSC connection.
255
+ # We reserve the right to add more states without notice in the future.
256
+ # Users should not use exhaustive switch statements on this enum.
257
+ # See https://google.aip.dev/216.
258
+ module State
259
+ # An invalid state as the default case.
260
+ STATE_UNSPECIFIED = 0
261
+
262
+ # The connection has been created successfully. However, for the
263
+ # up-to-date connection status, please use the service attachment's
264
+ # "ConnectedEndpoint.status" as the source of truth.
265
+ ACTIVE = 1
266
+
267
+ # The connection is not functional since some resources on the connection
268
+ # fail to be created.
269
+ FAILED = 2
270
+
271
+ # The connection is being created.
272
+ CREATING = 3
273
+
274
+ # The connection is being deleted.
275
+ DELETING = 4
276
+
277
+ # The connection is being repaired to complete creation.
278
+ CREATE_REPAIRING = 5
279
+
280
+ # The connection is being repaired to complete deletion.
281
+ DELETE_REPAIRING = 6
282
+ end
283
+ end
284
+
285
+ # @!attribute [rw] key
286
+ # @return [::String]
287
+ # @!attribute [rw] value
288
+ # @return [::String]
289
+ class LabelsEntry
290
+ include ::Google::Protobuf::MessageExts
291
+ extend ::Google::Protobuf::MessageExts::ClassMethods
292
+ end
293
+ end
294
+
295
+ # Request for ListServiceConnectionMaps.
296
+ # @!attribute [rw] parent
297
+ # @return [::String]
298
+ # Required. The parent resource's name. ex. projects/123/locations/us-east1
299
+ # @!attribute [rw] page_size
300
+ # @return [::Integer]
301
+ # The maximum number of results per page that should be returned.
302
+ # @!attribute [rw] page_token
303
+ # @return [::String]
304
+ # The page token.
305
+ # @!attribute [rw] filter
306
+ # @return [::String]
307
+ # A filter expression that filters the results listed in the response.
308
+ # @!attribute [rw] order_by
309
+ # @return [::String]
310
+ # Sort the results by a certain order.
311
+ class ListServiceConnectionMapsRequest
312
+ include ::Google::Protobuf::MessageExts
313
+ extend ::Google::Protobuf::MessageExts::ClassMethods
314
+ end
315
+
316
+ # Response for ListServiceConnectionMaps.
317
+ # @!attribute [rw] service_connection_maps
318
+ # @return [::Array<::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap>]
319
+ # ServiceConnectionMaps to be returned.
320
+ # @!attribute [rw] next_page_token
321
+ # @return [::String]
322
+ # The next pagination token in the List response. It should be used as
323
+ # page_token for the following request. An empty value means no more result.
324
+ # @!attribute [rw] unreachable
325
+ # @return [::Array<::String>]
326
+ # Locations that could not be reached.
327
+ class ListServiceConnectionMapsResponse
328
+ include ::Google::Protobuf::MessageExts
329
+ extend ::Google::Protobuf::MessageExts::ClassMethods
330
+ end
331
+
332
+ # Request for GetServiceConnectionMap.
333
+ # @!attribute [rw] name
334
+ # @return [::String]
335
+ # Required. Name of the ServiceConnectionMap to get.
336
+ class GetServiceConnectionMapRequest
337
+ include ::Google::Protobuf::MessageExts
338
+ extend ::Google::Protobuf::MessageExts::ClassMethods
339
+ end
340
+
341
+ # Request for CreateServiceConnectionMap.
342
+ # @!attribute [rw] parent
343
+ # @return [::String]
344
+ # Required. The parent resource's name of the ServiceConnectionMap. ex.
345
+ # projects/123/locations/us-east1
346
+ # @!attribute [rw] service_connection_map_id
347
+ # @return [::String]
348
+ # Optional. Resource ID
349
+ # (i.e. 'foo' in '[...]/projects/p/locations/l/serviceConnectionMaps/foo')
350
+ # See https://google.aip.dev/122#resource-id-segments
351
+ # Unique per location.
352
+ # If one is not provided, one will be generated.
353
+ # @!attribute [rw] service_connection_map
354
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap]
355
+ # Required. Initial values for a new ServiceConnectionMaps
356
+ # @!attribute [rw] request_id
357
+ # @return [::String]
358
+ # Optional. An optional request ID to identify requests. Specify a unique
359
+ # request ID so that if you must retry your request, the server will know to
360
+ # ignore the request if it has already been completed. The server will
361
+ # guarantee that for at least 60 minutes since the first request.
362
+ #
363
+ # For example, consider a situation where you make an initial request and
364
+ # the request times out. If you make the request again with the same request
365
+ # ID, the server can check if original operation with the same request ID
366
+ # was received, and if so, will ignore the second request. This prevents
367
+ # clients from accidentally creating duplicate commitments.
368
+ #
369
+ # The request ID must be a valid UUID with the exception that zero UUID is
370
+ # not supported (00000000-0000-0000-0000-000000000000).
371
+ class CreateServiceConnectionMapRequest
372
+ include ::Google::Protobuf::MessageExts
373
+ extend ::Google::Protobuf::MessageExts::ClassMethods
374
+ end
375
+
376
+ # Request for UpdateServiceConnectionMap.
377
+ # @!attribute [rw] update_mask
378
+ # @return [::Google::Protobuf::FieldMask]
379
+ # Optional. Field mask is used to specify the fields to be overwritten in the
380
+ # ServiceConnectionMap resource by the update.
381
+ # The fields specified in the update_mask are relative to the resource, not
382
+ # the full request. A field will be overwritten if it is in the mask. If the
383
+ # user does not provide a mask then all fields will be overwritten.
384
+ # @!attribute [rw] service_connection_map
385
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionMap]
386
+ # Required. New values to be patched into the resource.
387
+ # @!attribute [rw] request_id
388
+ # @return [::String]
389
+ # Optional. An optional request ID to identify requests. Specify a unique
390
+ # request ID so that if you must retry your request, the server will know to
391
+ # ignore the request if it has already been completed. The server will
392
+ # guarantee that for at least 60 minutes since the first request.
393
+ #
394
+ # For example, consider a situation where you make an initial request and
395
+ # the request times out. If you make the request again with the same request
396
+ # ID, the server can check if original operation with the same request ID
397
+ # was received, and if so, will ignore the second request. This prevents
398
+ # clients from accidentally creating duplicate commitments.
399
+ #
400
+ # The request ID must be a valid UUID with the exception that zero UUID is
401
+ # not supported (00000000-0000-0000-0000-000000000000).
402
+ class UpdateServiceConnectionMapRequest
403
+ include ::Google::Protobuf::MessageExts
404
+ extend ::Google::Protobuf::MessageExts::ClassMethods
405
+ end
406
+
407
+ # Request for DeleteServiceConnectionMap.
408
+ # @!attribute [rw] name
409
+ # @return [::String]
410
+ # Required. The name of the ServiceConnectionMap to delete.
411
+ # @!attribute [rw] request_id
412
+ # @return [::String]
413
+ # Optional. An optional request ID to identify requests. Specify a unique
414
+ # request ID so that if you must retry your request, the server will know to
415
+ # ignore the request if it has already been completed. The server will
416
+ # guarantee that for at least 60 minutes after the first request.
417
+ #
418
+ # For example, consider a situation where you make an initial request and
419
+ # the request times out. If you make the request again with the same request
420
+ # ID, the server can check if original operation with the same request ID
421
+ # was received, and if so, will ignore the second request. This prevents
422
+ # clients from accidentally creating duplicate commitments.
423
+ #
424
+ # The request ID must be a valid UUID with the exception that zero UUID is
425
+ # not supported (00000000-0000-0000-0000-000000000000).
426
+ # @!attribute [rw] etag
427
+ # @return [::String]
428
+ # Optional. The etag is computed by the server, and may be sent on update and
429
+ # delete requests to ensure the client has an up-to-date value before
430
+ # proceeding.
431
+ class DeleteServiceConnectionMapRequest
432
+ include ::Google::Protobuf::MessageExts
433
+ extend ::Google::Protobuf::MessageExts::ClassMethods
434
+ end
435
+
436
+ # The ServiceConnectionPolicy resource.
437
+ # @!attribute [rw] name
438
+ # @return [::String]
439
+ # Immutable. The name of a ServiceConnectionPolicy.
440
+ # Format:
441
+ # projects/\\{project}/locations/\\{location}/serviceConnectionPolicies/\\{service_connection_policy}
442
+ # See: https://google.aip.dev/122#fields-representing-resource-names
443
+ # @!attribute [r] create_time
444
+ # @return [::Google::Protobuf::Timestamp]
445
+ # Output only. Time when the ServiceConnectionPolicy was created.
446
+ # @!attribute [r] update_time
447
+ # @return [::Google::Protobuf::Timestamp]
448
+ # Output only. Time when the ServiceConnectionPolicy was updated.
449
+ # @!attribute [rw] labels
450
+ # @return [::Google::Protobuf::Map{::String => ::String}]
451
+ # User-defined labels.
452
+ # @!attribute [rw] description
453
+ # @return [::String]
454
+ # A description of this resource.
455
+ # @!attribute [rw] network
456
+ # @return [::String]
457
+ # The resource path of the consumer network.
458
+ # Example:
459
+ # - projects/\\{projectNumOrId}/global/networks/\\{resourceId}.
460
+ # @!attribute [rw] service_class
461
+ # @return [::String]
462
+ # The service class identifier for which this ServiceConnectionPolicy is for.
463
+ # The service class identifier is a unique, symbolic representation of a
464
+ # ServiceClass. It is provided by the Service Producer. Google services have
465
+ # a prefix of gcp or google-cloud. For example, gcp-memorystore-redis or
466
+ # google-cloud-sql. 3rd party services do not. For example,
467
+ # test-service-a3dfcx.
468
+ # @!attribute [r] infrastructure
469
+ # @return [::Google::Cloud::NetworkConnectivity::V1::Infrastructure]
470
+ # Output only. The type of underlying resources used to create the
471
+ # connection.
472
+ # @!attribute [rw] psc_config
473
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionPolicy::PscConfig]
474
+ # Configuration used for Private Service Connect connections. Used when
475
+ # Infrastructure is PSC.
476
+ # @!attribute [r] psc_connections
477
+ # @return [::Array<::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionPolicy::PscConnection>]
478
+ # Output only. [Output only] Information about each Private Service Connect
479
+ # connection.
480
+ # @!attribute [rw] etag
481
+ # @return [::String]
482
+ # Optional. The etag is computed by the server, and may be sent on update and
483
+ # delete requests to ensure the client has an up-to-date value before
484
+ # proceeding.
485
+ class ServiceConnectionPolicy
486
+ include ::Google::Protobuf::MessageExts
487
+ extend ::Google::Protobuf::MessageExts::ClassMethods
488
+
489
+ # Configuration used for Private Service Connect connections. Used when
490
+ # Infrastructure is PSC.
491
+ # @!attribute [rw] subnetworks
492
+ # @return [::Array<::String>]
493
+ # The resource paths of subnetworks to use for IP address management.
494
+ # Example:
495
+ # projects/\\{projectNumOrId}/regions/\\{region}/subnetworks/\\{resourceId}.
496
+ # @!attribute [rw] limit
497
+ # @return [::Integer]
498
+ # Optional. Max number of PSC connections for this policy.
499
+ # @!attribute [rw] producer_instance_location
500
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionPolicy::PscConfig::ProducerInstanceLocation]
501
+ # Required. ProducerInstanceLocation is used to specify which authorization
502
+ # mechanism to use to determine which projects the Producer instance can be
503
+ # within.
504
+ # @!attribute [rw] allowed_google_producers_resource_hierarchy_level
505
+ # @return [::Array<::String>]
506
+ # Optional. List of Projects, Folders, or Organizations from where the
507
+ # Producer instance can be within. For example, a network administrator can
508
+ # provide both 'organizations/foo' and 'projects/bar' as
509
+ # allowed_google_producers_resource_hierarchy_levels. This allowlists this
510
+ # network to connect with any Producer instance within the 'foo'
511
+ # organization or the 'bar' project. By default,
512
+ # allowed_google_producers_resource_hierarchy_level is empty. The format
513
+ # for each allowed_google_producers_resource_hierarchy_level is <resource
514
+ # type>/<id> where <resource type> is one of 'projects', 'folders', or
515
+ # 'organizations' and <id> is either the ID or the number of the resource
516
+ # type. Format for each allowed_google_producers_resource_hierarchy_level
517
+ # value: 'projects/<project_id_or_number>' or 'folders/<folder_id>' or
518
+ # 'organizations/<organization_id>'
519
+ # Eg. [projects/my-project-id, projects/567, folders/891,
520
+ # organizations/123]
521
+ class PscConfig
522
+ include ::Google::Protobuf::MessageExts
523
+ extend ::Google::Protobuf::MessageExts::ClassMethods
524
+
525
+ # ProducerInstanceLocation is used to specify which authorization mechanism
526
+ # to use to determine which projects the Producer instance can be within.
527
+ module ProducerInstanceLocation
528
+ # Producer instance location is not specified. When this option is
529
+ # chosen, then the PSC connections created by this
530
+ # ServiceConnectionPolicy must be within the same project as the Producer
531
+ # instance. This is the default ProducerInstanceLocation value.
532
+ # To allow for PSC connections from this network to other networks, use
533
+ # the CUSTOM_RESOURCE_HIERARCHY_LEVELS option.
534
+ PRODUCER_INSTANCE_LOCATION_UNSPECIFIED = 0
535
+
536
+ # Producer instance must be within one of the values provided in
537
+ # allowed_google_producers_resource_hierarchy_level.
538
+ CUSTOM_RESOURCE_HIERARCHY_LEVELS = 1
539
+ end
540
+ end
541
+
542
+ # Information about a specific Private Service Connect connection.
543
+ # @!attribute [rw] state
544
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionPolicy::State]
545
+ # State of the PSC Connection
546
+ # @!attribute [rw] consumer_forwarding_rule
547
+ # @return [::String]
548
+ # The resource reference of the PSC Forwarding Rule within the consumer
549
+ # VPC.
550
+ # @!attribute [rw] consumer_address
551
+ # @return [::String]
552
+ # The resource reference of the consumer address.
553
+ # @!attribute [rw] error_type
554
+ # @deprecated This field is deprecated and may be removed in the next major version update.
555
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ConnectionErrorType]
556
+ # The error type indicates whether the error is consumer facing, producer
557
+ # facing or system internal.
558
+ # @!attribute [rw] error
559
+ # @deprecated This field is deprecated and may be removed in the next major version update.
560
+ # @return [::Google::Rpc::Status]
561
+ # The most recent error during operating this connection.
562
+ # Deprecated, please use error_info instead.
563
+ # @!attribute [rw] gce_operation
564
+ # @return [::String]
565
+ # The last Compute Engine operation to setup PSC connection.
566
+ # @!attribute [rw] consumer_target_project
567
+ # @return [::String]
568
+ # The project where the PSC connection is created.
569
+ # @!attribute [rw] psc_connection_id
570
+ # @return [::String]
571
+ # The PSC connection id of the PSC forwarding rule.
572
+ # @!attribute [r] error_info
573
+ # @return [::Google::Rpc::ErrorInfo]
574
+ # Output only. The error info for the latest error during operating this
575
+ # connection.
576
+ # @!attribute [r] selected_subnetwork
577
+ # @return [::String]
578
+ # Output only. The URI of the subnetwork selected to allocate IP address
579
+ # for this connection.
580
+ # @!attribute [rw] producer_instance_id
581
+ # @deprecated This field is deprecated and may be removed in the next major version update.
582
+ # @return [::String]
583
+ # Immutable. Deprecated. Use producer_instance_metadata instead.
584
+ # An immutable identifier for the producer instance.
585
+ # @!attribute [rw] producer_instance_metadata
586
+ # @return [::Google::Protobuf::Map{::String => ::String}]
587
+ # Immutable. An immutable map for the producer instance metadata.
588
+ # @!attribute [r] service_class
589
+ # @return [::String]
590
+ # Output only. [Output only] The service class associated with this PSC
591
+ # Connection. The value is derived from the SCPolicy and matches the
592
+ # service class name provided by the customer.
593
+ # @!attribute [rw] ip_version
594
+ # @return [::Google::Cloud::NetworkConnectivity::V1::IPVersion]
595
+ # The requested IP version for the PSC connection.
596
+ class PscConnection
597
+ include ::Google::Protobuf::MessageExts
598
+ extend ::Google::Protobuf::MessageExts::ClassMethods
599
+
600
+ # @!attribute [rw] key
601
+ # @return [::String]
602
+ # @!attribute [rw] value
603
+ # @return [::String]
604
+ class ProducerInstanceMetadataEntry
605
+ include ::Google::Protobuf::MessageExts
606
+ extend ::Google::Protobuf::MessageExts::ClassMethods
607
+ end
608
+ end
609
+
610
+ # @!attribute [rw] key
611
+ # @return [::String]
612
+ # @!attribute [rw] value
613
+ # @return [::String]
614
+ class LabelsEntry
615
+ include ::Google::Protobuf::MessageExts
616
+ extend ::Google::Protobuf::MessageExts::ClassMethods
617
+ end
618
+
619
+ # The state of the PSC connection.
620
+ # We reserve the right to add more states without notice in the future.
621
+ # Users should not use exhaustive switch statements on this enum.
622
+ # See https://google.aip.dev/216.
623
+ module State
624
+ # An invalid state as the default case.
625
+ STATE_UNSPECIFIED = 0
626
+
627
+ # The connection has been created successfully. However, for the
628
+ # up-to-date connection status, please use the created forwarding rule's
629
+ # "PscConnectionStatus" as the source of truth.
630
+ ACTIVE = 1
631
+
632
+ # The connection is not functional since some resources on the connection
633
+ # fail to be created.
634
+ FAILED = 2
635
+
636
+ # The connection is being created.
637
+ CREATING = 3
638
+
639
+ # The connection is being deleted.
640
+ DELETING = 4
641
+
642
+ # The connection is being repaired to complete creation.
643
+ CREATE_REPAIRING = 5
644
+
645
+ # The connection is being repaired to complete deletion.
646
+ DELETE_REPAIRING = 6
647
+ end
648
+ end
649
+
650
+ # Request for ListServiceConnectionPolicies.
651
+ # @!attribute [rw] parent
652
+ # @return [::String]
653
+ # Required. The parent resource's name. ex. projects/123/locations/us-east1
654
+ # @!attribute [rw] page_size
655
+ # @return [::Integer]
656
+ # The maximum number of results per page that should be returned.
657
+ # @!attribute [rw] page_token
658
+ # @return [::String]
659
+ # The page token.
660
+ # @!attribute [rw] filter
661
+ # @return [::String]
662
+ # A filter expression that filters the results listed in the response.
663
+ # @!attribute [rw] order_by
664
+ # @return [::String]
665
+ # Sort the results by a certain order.
666
+ class ListServiceConnectionPoliciesRequest
667
+ include ::Google::Protobuf::MessageExts
668
+ extend ::Google::Protobuf::MessageExts::ClassMethods
669
+ end
670
+
671
+ # Response for ListServiceConnectionPolicies.
672
+ # @!attribute [rw] service_connection_policies
673
+ # @return [::Array<::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionPolicy>]
674
+ # ServiceConnectionPolicies to be returned.
675
+ # @!attribute [rw] next_page_token
676
+ # @return [::String]
677
+ # The next pagination token in the List response. It should be used as
678
+ # page_token for the following request. An empty value means no more result.
679
+ # @!attribute [rw] unreachable
680
+ # @return [::Array<::String>]
681
+ # Locations that could not be reached.
682
+ class ListServiceConnectionPoliciesResponse
683
+ include ::Google::Protobuf::MessageExts
684
+ extend ::Google::Protobuf::MessageExts::ClassMethods
685
+ end
686
+
687
+ # Request for GetServiceConnectionPolicy.
688
+ # @!attribute [rw] name
689
+ # @return [::String]
690
+ # Required. Name of the ServiceConnectionPolicy to get.
691
+ class GetServiceConnectionPolicyRequest
692
+ include ::Google::Protobuf::MessageExts
693
+ extend ::Google::Protobuf::MessageExts::ClassMethods
694
+ end
695
+
696
+ # Request for CreateServiceConnectionPolicy.
697
+ # @!attribute [rw] parent
698
+ # @return [::String]
699
+ # Required. The parent resource's name of the ServiceConnectionPolicy. ex.
700
+ # projects/123/locations/us-east1
701
+ # @!attribute [rw] service_connection_policy_id
702
+ # @return [::String]
703
+ # Optional. Resource ID
704
+ # (i.e. 'foo' in
705
+ # '[...]/projects/p/locations/l/serviceConnectionPolicies/foo') See
706
+ # https://google.aip.dev/122#resource-id-segments Unique per location.
707
+ # @!attribute [rw] service_connection_policy
708
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionPolicy]
709
+ # Required. Initial values for a new ServiceConnectionPolicies
710
+ # @!attribute [rw] request_id
711
+ # @return [::String]
712
+ # Optional. An optional request ID to identify requests. Specify a unique
713
+ # request ID so that if you must retry your request, the server will know to
714
+ # ignore the request if it has already been completed. The server will
715
+ # guarantee that for at least 60 minutes since the first request.
716
+ #
717
+ # For example, consider a situation where you make an initial request and
718
+ # the request times out. If you make the request again with the same request
719
+ # ID, the server can check if original operation with the same request ID
720
+ # was received, and if so, will ignore the second request. This prevents
721
+ # clients from accidentally creating duplicate commitments.
722
+ #
723
+ # The request ID must be a valid UUID with the exception that zero UUID is
724
+ # not supported (00000000-0000-0000-0000-000000000000).
725
+ class CreateServiceConnectionPolicyRequest
726
+ include ::Google::Protobuf::MessageExts
727
+ extend ::Google::Protobuf::MessageExts::ClassMethods
728
+ end
729
+
730
+ # Request for UpdateServiceConnectionPolicy.
731
+ # @!attribute [rw] update_mask
732
+ # @return [::Google::Protobuf::FieldMask]
733
+ # Optional. Field mask is used to specify the fields to be overwritten in the
734
+ # ServiceConnectionPolicy resource by the update.
735
+ # The fields specified in the update_mask are relative to the resource, not
736
+ # the full request. A field will be overwritten if it is in the mask. If the
737
+ # user does not provide a mask then all fields will be overwritten.
738
+ # @!attribute [rw] service_connection_policy
739
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionPolicy]
740
+ # Required. New values to be patched into the resource.
741
+ # @!attribute [rw] request_id
742
+ # @return [::String]
743
+ # Optional. An optional request ID to identify requests. Specify a unique
744
+ # request ID so that if you must retry your request, the server will know to
745
+ # ignore the request if it has already been completed. The server will
746
+ # guarantee that for at least 60 minutes since the first request.
747
+ #
748
+ # For example, consider a situation where you make an initial request and
749
+ # the request times out. If you make the request again with the same request
750
+ # ID, the server can check if original operation with the same request ID
751
+ # was received, and if so, will ignore the second request. This prevents
752
+ # clients from accidentally creating duplicate commitments.
753
+ #
754
+ # The request ID must be a valid UUID with the exception that zero UUID is
755
+ # not supported (00000000-0000-0000-0000-000000000000).
756
+ class UpdateServiceConnectionPolicyRequest
757
+ include ::Google::Protobuf::MessageExts
758
+ extend ::Google::Protobuf::MessageExts::ClassMethods
759
+ end
760
+
761
+ # Request for DeleteServiceConnectionPolicy.
762
+ # @!attribute [rw] name
763
+ # @return [::String]
764
+ # Required. The name of the ServiceConnectionPolicy to delete.
765
+ # @!attribute [rw] request_id
766
+ # @return [::String]
767
+ # Optional. An optional request ID to identify requests. Specify a unique
768
+ # request ID so that if you must retry your request, the server will know to
769
+ # ignore the request if it has already been completed. The server will
770
+ # guarantee that for at least 60 minutes after the first request.
771
+ #
772
+ # For example, consider a situation where you make an initial request and
773
+ # the request times out. If you make the request again with the same request
774
+ # ID, the server can check if original operation with the same request ID
775
+ # was received, and if so, will ignore the second request. This prevents
776
+ # clients from accidentally creating duplicate commitments.
777
+ #
778
+ # The request ID must be a valid UUID with the exception that zero UUID is
779
+ # not supported (00000000-0000-0000-0000-000000000000).
780
+ # @!attribute [rw] etag
781
+ # @return [::String]
782
+ # Optional. The etag is computed by the server, and may be sent on update and
783
+ # delete requests to ensure the client has an up-to-date value before
784
+ # proceeding.
785
+ class DeleteServiceConnectionPolicyRequest
786
+ include ::Google::Protobuf::MessageExts
787
+ extend ::Google::Protobuf::MessageExts::ClassMethods
788
+ end
789
+
790
+ # The ServiceClass resource.
791
+ # @!attribute [rw] name
792
+ # @return [::String]
793
+ # Immutable. The name of a ServiceClass resource.
794
+ # Format:
795
+ # projects/\\{project}/locations/\\{location}/serviceClasses/\\{service_class}
796
+ # See: https://google.aip.dev/122#fields-representing-resource-names
797
+ # @!attribute [r] service_class
798
+ # @return [::String]
799
+ # Output only. The generated service class name. Use this name to refer to
800
+ # the Service class in Service Connection Maps and Service Connection
801
+ # Policies.
802
+ # @!attribute [r] create_time
803
+ # @return [::Google::Protobuf::Timestamp]
804
+ # Output only. Time when the ServiceClass was created.
805
+ # @!attribute [r] update_time
806
+ # @return [::Google::Protobuf::Timestamp]
807
+ # Output only. Time when the ServiceClass was updated.
808
+ # @!attribute [rw] labels
809
+ # @return [::Google::Protobuf::Map{::String => ::String}]
810
+ # User-defined labels.
811
+ # @!attribute [rw] description
812
+ # @return [::String]
813
+ # A description of this resource.
814
+ # @!attribute [rw] etag
815
+ # @return [::String]
816
+ # Optional. The etag is computed by the server, and may be sent on update and
817
+ # delete requests to ensure the client has an up-to-date value before
818
+ # proceeding.
819
+ class ServiceClass
820
+ include ::Google::Protobuf::MessageExts
821
+ extend ::Google::Protobuf::MessageExts::ClassMethods
822
+
823
+ # @!attribute [rw] key
824
+ # @return [::String]
825
+ # @!attribute [rw] value
826
+ # @return [::String]
827
+ class LabelsEntry
828
+ include ::Google::Protobuf::MessageExts
829
+ extend ::Google::Protobuf::MessageExts::ClassMethods
830
+ end
831
+ end
832
+
833
+ # Request for ListServiceClasses.
834
+ # @!attribute [rw] parent
835
+ # @return [::String]
836
+ # Required. The parent resource's name. ex. projects/123/locations/us-east1
837
+ # @!attribute [rw] page_size
838
+ # @return [::Integer]
839
+ # The maximum number of results per page that should be returned.
840
+ # @!attribute [rw] page_token
841
+ # @return [::String]
842
+ # The page token.
843
+ # @!attribute [rw] filter
844
+ # @return [::String]
845
+ # A filter expression that filters the results listed in the response.
846
+ # @!attribute [rw] order_by
847
+ # @return [::String]
848
+ # Sort the results by a certain order.
849
+ class ListServiceClassesRequest
850
+ include ::Google::Protobuf::MessageExts
851
+ extend ::Google::Protobuf::MessageExts::ClassMethods
852
+ end
853
+
854
+ # Response for ListServiceClasses.
855
+ # @!attribute [rw] service_classes
856
+ # @return [::Array<::Google::Cloud::NetworkConnectivity::V1::ServiceClass>]
857
+ # ServiceClasses to be returned.
858
+ # @!attribute [rw] next_page_token
859
+ # @return [::String]
860
+ # The next pagination token in the List response. It should be used as
861
+ # page_token for the following request. An empty value means no more result.
862
+ # @!attribute [rw] unreachable
863
+ # @return [::Array<::String>]
864
+ # Locations that could not be reached.
865
+ class ListServiceClassesResponse
866
+ include ::Google::Protobuf::MessageExts
867
+ extend ::Google::Protobuf::MessageExts::ClassMethods
868
+ end
869
+
870
+ # Request for GetServiceClass.
871
+ # @!attribute [rw] name
872
+ # @return [::String]
873
+ # Required. Name of the ServiceClass to get.
874
+ class GetServiceClassRequest
875
+ include ::Google::Protobuf::MessageExts
876
+ extend ::Google::Protobuf::MessageExts::ClassMethods
877
+ end
878
+
879
+ # Request for UpdateServiceClass.
880
+ # @!attribute [rw] update_mask
881
+ # @return [::Google::Protobuf::FieldMask]
882
+ # Optional. Field mask is used to specify the fields to be overwritten in the
883
+ # ServiceClass resource by the update.
884
+ # The fields specified in the update_mask are relative to the resource, not
885
+ # the full request. A field will be overwritten if it is in the mask. If the
886
+ # user does not provide a mask then all fields will be overwritten.
887
+ # @!attribute [rw] service_class
888
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ServiceClass]
889
+ # Required. New values to be patched into the resource.
890
+ # @!attribute [rw] request_id
891
+ # @return [::String]
892
+ # Optional. An optional request ID to identify requests. Specify a unique
893
+ # request ID so that if you must retry your request, the server will know to
894
+ # ignore the request if it has already been completed. The server will
895
+ # guarantee that for at least 60 minutes since the first request.
896
+ #
897
+ # For example, consider a situation where you make an initial request and
898
+ # the request times out. If you make the request again with the same request
899
+ # ID, the server can check if original operation with the same request ID
900
+ # was received, and if so, will ignore the second request. This prevents
901
+ # clients from accidentally creating duplicate commitments.
902
+ #
903
+ # The request ID must be a valid UUID with the exception that zero UUID is
904
+ # not supported (00000000-0000-0000-0000-000000000000).
905
+ class UpdateServiceClassRequest
906
+ include ::Google::Protobuf::MessageExts
907
+ extend ::Google::Protobuf::MessageExts::ClassMethods
908
+ end
909
+
910
+ # Request for DeleteServiceClass.
911
+ # @!attribute [rw] name
912
+ # @return [::String]
913
+ # Required. The name of the ServiceClass to delete.
914
+ # @!attribute [rw] request_id
915
+ # @return [::String]
916
+ # Optional. An optional request ID to identify requests. Specify a unique
917
+ # request ID so that if you must retry your request, the server will know to
918
+ # ignore the request if it has already been completed. The server will
919
+ # guarantee that for at least 60 minutes after the first request.
920
+ #
921
+ # For example, consider a situation where you make an initial request and
922
+ # the request times out. If you make the request again with the same request
923
+ # ID, the server can check if original operation with the same request ID
924
+ # was received, and if so, will ignore the second request. This prevents
925
+ # clients from accidentally creating duplicate commitments.
926
+ #
927
+ # The request ID must be a valid UUID with the exception that zero UUID is
928
+ # not supported (00000000-0000-0000-0000-000000000000).
929
+ # @!attribute [rw] etag
930
+ # @return [::String]
931
+ # Optional. The etag is computed by the server, and may be sent on update and
932
+ # delete requests to ensure the client has an up-to-date value before
933
+ # proceeding.
934
+ class DeleteServiceClassRequest
935
+ include ::Google::Protobuf::MessageExts
936
+ extend ::Google::Protobuf::MessageExts::ClassMethods
937
+ end
938
+
939
+ # The ServiceConnectionToken resource.
940
+ # @!attribute [rw] name
941
+ # @return [::String]
942
+ # Immutable. The name of a ServiceConnectionToken.
943
+ # Format:
944
+ # projects/\\{project}/locations/\\{location}/ServiceConnectionTokens/\\{service_connection_token}
945
+ # See: https://google.aip.dev/122#fields-representing-resource-names
946
+ # @!attribute [r] create_time
947
+ # @return [::Google::Protobuf::Timestamp]
948
+ # Output only. Time when the ServiceConnectionToken was created.
949
+ # @!attribute [r] update_time
950
+ # @return [::Google::Protobuf::Timestamp]
951
+ # Output only. Time when the ServiceConnectionToken was updated.
952
+ # @!attribute [rw] labels
953
+ # @return [::Google::Protobuf::Map{::String => ::String}]
954
+ # User-defined labels.
955
+ # @!attribute [rw] description
956
+ # @return [::String]
957
+ # A description of this resource.
958
+ # @!attribute [rw] network
959
+ # @return [::String]
960
+ # The resource path of the network associated with this token.
961
+ # Example:
962
+ # projects/\\{projectNumOrId}/global/networks/\\{resourceId}.
963
+ # @!attribute [r] token
964
+ # @return [::String]
965
+ # Output only. The token generated by Automation.
966
+ # @!attribute [r] expire_time
967
+ # @return [::Google::Protobuf::Timestamp]
968
+ # Output only. The time to which this token is valid.
969
+ # @!attribute [rw] etag
970
+ # @return [::String]
971
+ # Optional. The etag is computed by the server, and may be sent on update and
972
+ # delete requests to ensure the client has an up-to-date value before
973
+ # proceeding.
974
+ class ServiceConnectionToken
975
+ include ::Google::Protobuf::MessageExts
976
+ extend ::Google::Protobuf::MessageExts::ClassMethods
977
+
978
+ # @!attribute [rw] key
979
+ # @return [::String]
980
+ # @!attribute [rw] value
981
+ # @return [::String]
982
+ class LabelsEntry
983
+ include ::Google::Protobuf::MessageExts
984
+ extend ::Google::Protobuf::MessageExts::ClassMethods
985
+ end
986
+ end
987
+
988
+ # Request for ListServiceConnectionTokens.
989
+ # @!attribute [rw] parent
990
+ # @return [::String]
991
+ # Required. The parent resource's name. ex. projects/123/locations/us-east1
992
+ # @!attribute [rw] page_size
993
+ # @return [::Integer]
994
+ # The maximum number of results per page that should be returned.
995
+ # @!attribute [rw] page_token
996
+ # @return [::String]
997
+ # The page token.
998
+ # @!attribute [rw] filter
999
+ # @return [::String]
1000
+ # A filter expression that filters the results listed in the response.
1001
+ # @!attribute [rw] order_by
1002
+ # @return [::String]
1003
+ # Sort the results by a certain order.
1004
+ class ListServiceConnectionTokensRequest
1005
+ include ::Google::Protobuf::MessageExts
1006
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1007
+ end
1008
+
1009
+ # Response for ListServiceConnectionTokens.
1010
+ # @!attribute [rw] service_connection_tokens
1011
+ # @return [::Array<::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionToken>]
1012
+ # ServiceConnectionTokens to be returned.
1013
+ # @!attribute [rw] next_page_token
1014
+ # @return [::String]
1015
+ # The next pagination token in the List response. It should be used as
1016
+ # page_token for the following request. An empty value means no more result.
1017
+ # @!attribute [rw] unreachable
1018
+ # @return [::Array<::String>]
1019
+ # Locations that could not be reached.
1020
+ class ListServiceConnectionTokensResponse
1021
+ include ::Google::Protobuf::MessageExts
1022
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1023
+ end
1024
+
1025
+ # Request for GetServiceConnectionToken.
1026
+ # @!attribute [rw] name
1027
+ # @return [::String]
1028
+ # Required. Name of the ServiceConnectionToken to get.
1029
+ class GetServiceConnectionTokenRequest
1030
+ include ::Google::Protobuf::MessageExts
1031
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1032
+ end
1033
+
1034
+ # Request for CreateServiceConnectionToken.
1035
+ # @!attribute [rw] parent
1036
+ # @return [::String]
1037
+ # Required. The parent resource's name of the ServiceConnectionToken. ex.
1038
+ # projects/123/locations/us-east1
1039
+ # @!attribute [rw] service_connection_token_id
1040
+ # @return [::String]
1041
+ # Optional. Resource ID
1042
+ # (i.e. 'foo' in '[...]/projects/p/locations/l/ServiceConnectionTokens/foo')
1043
+ # See https://google.aip.dev/122#resource-id-segments
1044
+ # Unique per location.
1045
+ # If one is not provided, one will be generated.
1046
+ # @!attribute [rw] service_connection_token
1047
+ # @return [::Google::Cloud::NetworkConnectivity::V1::ServiceConnectionToken]
1048
+ # Required. Initial values for a new ServiceConnectionTokens
1049
+ # @!attribute [rw] request_id
1050
+ # @return [::String]
1051
+ # Optional. An optional request ID to identify requests. Specify a unique
1052
+ # request ID so that if you must retry your request, the server will know to
1053
+ # ignore the request if it has already been completed. The server will
1054
+ # guarantee that for at least 60 minutes since the first request.
1055
+ #
1056
+ # For example, consider a situation where you make an initial request and
1057
+ # the request times out. If you make the request again with the same request
1058
+ # ID, the server can check if original operation with the same request ID
1059
+ # was received, and if so, will ignore the second request. This prevents
1060
+ # clients from accidentally creating duplicate commitments.
1061
+ #
1062
+ # The request ID must be a valid UUID with the exception that zero UUID is
1063
+ # not supported (00000000-0000-0000-0000-000000000000).
1064
+ class CreateServiceConnectionTokenRequest
1065
+ include ::Google::Protobuf::MessageExts
1066
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1067
+ end
1068
+
1069
+ # Request for DeleteServiceConnectionToken.
1070
+ # @!attribute [rw] name
1071
+ # @return [::String]
1072
+ # Required. The name of the ServiceConnectionToken to delete.
1073
+ # @!attribute [rw] request_id
1074
+ # @return [::String]
1075
+ # Optional. An optional request ID to identify requests. Specify a unique
1076
+ # request ID so that if you must retry your request, the server will know to
1077
+ # ignore the request if it has already been completed. The server will
1078
+ # guarantee that for at least 60 minutes after the first request.
1079
+ #
1080
+ # For example, consider a situation where you make an initial request and
1081
+ # the request times out. If you make the request again with the same request
1082
+ # ID, the server can check if original operation with the same request ID
1083
+ # was received, and if so, will ignore the second request. This prevents
1084
+ # clients from accidentally creating duplicate commitments.
1085
+ #
1086
+ # The request ID must be a valid UUID with the exception that zero UUID is
1087
+ # not supported (00000000-0000-0000-0000-000000000000).
1088
+ # @!attribute [rw] etag
1089
+ # @return [::String]
1090
+ # Optional. The etag is computed by the server, and may be sent on update and
1091
+ # delete requests to ensure the client has an up-to-date value before
1092
+ # proceeding.
1093
+ class DeleteServiceConnectionTokenRequest
1094
+ include ::Google::Protobuf::MessageExts
1095
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1096
+ end
1097
+
1098
+ # The infrastructure used for connections between consumers/producers.
1099
+ module Infrastructure
1100
+ # An invalid infrastructure as the default case.
1101
+ INFRASTRUCTURE_UNSPECIFIED = 0
1102
+
1103
+ # Private Service Connect is used for connections.
1104
+ PSC = 1
1105
+ end
1106
+
1107
+ # The error type indicates whether a connection error is consumer facing,
1108
+ # producer facing or system internal.
1109
+ module ConnectionErrorType
1110
+ # An invalid error type as the default case.
1111
+ CONNECTION_ERROR_TYPE_UNSPECIFIED = 0
1112
+
1113
+ # The error is due to Service Automation system internal.
1114
+ ERROR_INTERNAL = 1
1115
+
1116
+ # The error is due to the setup on consumer side.
1117
+ ERROR_CONSUMER_SIDE = 2
1118
+
1119
+ # The error is due to the setup on producer side.
1120
+ ERROR_PRODUCER_SIDE = 3
1121
+ end
1122
+
1123
+ # The requested IP version for the PSC connection.
1124
+ module IPVersion
1125
+ # Default value. We will use IPv4 or IPv6 depending on the IP version of
1126
+ # first available subnetwork.
1127
+ IP_VERSION_UNSPECIFIED = 0
1128
+
1129
+ # Will use IPv4 only.
1130
+ IPV4 = 1
1131
+
1132
+ # Will use IPv6 only.
1133
+ IPV6 = 2
1134
+ end
1135
+ end
1136
+ end
1137
+ end
1138
+ end