google-apis-networkconnectivity_v1 0.23.0 → 0.25.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -169,6 +169,128 @@ module Google
169
169
  end
170
170
  end
171
171
 
172
+ # Allow the producer to specify which consumers can connect to it.
173
+ class ConsumerPscConfig
174
+ include Google::Apis::Core::Hashable
175
+
176
+ # This is used in PSC consumer ForwardingRule to control whether the PSC
177
+ # endpoint can be accessed from another region.
178
+ # Corresponds to the JSON property `disableGlobalAccess`
179
+ # @return [Boolean]
180
+ attr_accessor :disable_global_access
181
+ alias_method :disable_global_access?, :disable_global_access
182
+
183
+ # The resource path of the consumer network where PSC connections are allowed to
184
+ # be created in. Note, this network does not need be in the ConsumerPscConfig.
185
+ # project in the case of SharedVPC. Example: projects/`projectNumOrId`/global/
186
+ # networks/`networkId`.
187
+ # Corresponds to the JSON property `network`
188
+ # @return [String]
189
+ attr_accessor :network
190
+
191
+ # The consumer project where PSC connections are allowed to be created in.
192
+ # Corresponds to the JSON property `project`
193
+ # @return [String]
194
+ attr_accessor :project
195
+
196
+ def initialize(**args)
197
+ update!(**args)
198
+ end
199
+
200
+ # Update properties of this object
201
+ def update!(**args)
202
+ @disable_global_access = args[:disable_global_access] if args.key?(:disable_global_access)
203
+ @network = args[:network] if args.key?(:network)
204
+ @project = args[:project] if args.key?(:project)
205
+ end
206
+ end
207
+
208
+ # PSC connection details on consumer side.
209
+ class ConsumerPscConnection
210
+ include Google::Apis::Core::Hashable
211
+
212
+ # The `Status` type defines a logical error model that is suitable for different
213
+ # programming environments, including REST APIs and RPC APIs. It is used by [
214
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
215
+ # data: error code, error message, and error details. You can find out more
216
+ # about this error model and how to work with it in the [API Design Guide](https:
217
+ # //cloud.google.com/apis/design/errors).
218
+ # Corresponds to the JSON property `error`
219
+ # @return [Google::Apis::NetworkconnectivityV1::GoogleRpcStatus]
220
+ attr_accessor :error
221
+
222
+ # The error type indicates whether the error is consumer facing, producer facing
223
+ # or system internal.
224
+ # Corresponds to the JSON property `errorType`
225
+ # @return [String]
226
+ attr_accessor :error_type
227
+
228
+ # The URI of the consumer forwarding rule created. Example: projects/`
229
+ # projectNumOrId`/regions/us-east1/networks/`resourceId`.
230
+ # Corresponds to the JSON property `forwardingRule`
231
+ # @return [String]
232
+ attr_accessor :forwarding_rule
233
+
234
+ # The last Compute Engine operation to setup PSC connection.
235
+ # Corresponds to the JSON property `gceOperation`
236
+ # @return [String]
237
+ attr_accessor :gce_operation
238
+
239
+ # The IP literal allocated on the consumer network for the PSC forwarding rule
240
+ # that is created to connect to the producer service attachment in this service
241
+ # connection map.
242
+ # Corresponds to the JSON property `ip`
243
+ # @return [String]
244
+ attr_accessor :ip
245
+
246
+ # The consumer network whose PSC forwarding rule is connected to the service
247
+ # attachments in this service connection map. Note that the network could be on
248
+ # a different project (shared VPC).
249
+ # Corresponds to the JSON property `network`
250
+ # @return [String]
251
+ attr_accessor :network
252
+
253
+ # The consumer project whose PSC forwarding rule is connected to the service
254
+ # attachments in this service connection map.
255
+ # Corresponds to the JSON property `project`
256
+ # @return [String]
257
+ attr_accessor :project
258
+
259
+ # The PSC connection id of the PSC forwarding rule connected to the service
260
+ # attachments in this service connection map.
261
+ # Corresponds to the JSON property `pscConnectionId`
262
+ # @return [String]
263
+ attr_accessor :psc_connection_id
264
+
265
+ # The URI of a service attachment which is the target of the PSC connection.
266
+ # Corresponds to the JSON property `serviceAttachmentUri`
267
+ # @return [String]
268
+ attr_accessor :service_attachment_uri
269
+
270
+ # The state of the PSC connection.
271
+ # Corresponds to the JSON property `state`
272
+ # @return [String]
273
+ attr_accessor :state
274
+
275
+ def initialize(**args)
276
+ update!(**args)
277
+ end
278
+
279
+ # Update properties of this object
280
+ def update!(**args)
281
+ @error = args[:error] if args.key?(:error)
282
+ @error_type = args[:error_type] if args.key?(:error_type)
283
+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
284
+ @gce_operation = args[:gce_operation] if args.key?(:gce_operation)
285
+ @ip = args[:ip] if args.key?(:ip)
286
+ @network = args[:network] if args.key?(:network)
287
+ @project = args[:project] if args.key?(:project)
288
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
289
+ @service_attachment_uri = args[:service_attachment_uri] if args.key?(:service_attachment_uri)
290
+ @state = args[:state] if args.key?(:state)
291
+ end
292
+ end
293
+
172
294
  # A generic empty message that you can re-use to avoid defining duplicated empty
173
295
  # messages in your APIs. A typical example is to use it as the request or the
174
296
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
@@ -687,8 +809,9 @@ module Google
687
809
  # @return [Array<Google::Apis::NetworkconnectivityV1::Hub>]
688
810
  attr_accessor :hubs
689
811
 
690
- # The next pagination token in the List response. It should be used as
691
- # page_token for the following request. An empty value means no more result.
812
+ # The token for the next page of the response. To see more results, use this
813
+ # value as the page_token for your next request. If this value is empty, there
814
+ # are no more results.
692
815
  # Corresponds to the JSON property `nextPageToken`
693
816
  # @return [String]
694
817
  attr_accessor :next_page_token
@@ -767,8 +890,8 @@ module Google
767
890
  end
768
891
  end
769
892
 
770
- # The response for HubService.ListSpokes.
771
- class ListSpokesResponse
893
+ # Response for ListServiceClasses.
894
+ class ListServiceClassesResponse
772
895
  include Google::Apis::Core::Hashable
773
896
 
774
897
  # The next pagination token in the List response. It should be used as
@@ -777,6 +900,135 @@ module Google
777
900
  # @return [String]
778
901
  attr_accessor :next_page_token
779
902
 
903
+ # ServiceClasses to be returned.
904
+ # Corresponds to the JSON property `serviceClasses`
905
+ # @return [Array<Google::Apis::NetworkconnectivityV1::ServiceClass>]
906
+ attr_accessor :service_classes
907
+
908
+ # Locations that could not be reached.
909
+ # Corresponds to the JSON property `unreachable`
910
+ # @return [Array<String>]
911
+ attr_accessor :unreachable
912
+
913
+ def initialize(**args)
914
+ update!(**args)
915
+ end
916
+
917
+ # Update properties of this object
918
+ def update!(**args)
919
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
920
+ @service_classes = args[:service_classes] if args.key?(:service_classes)
921
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
922
+ end
923
+ end
924
+
925
+ # Response for ListServiceConnectionMaps.
926
+ class ListServiceConnectionMapsResponse
927
+ include Google::Apis::Core::Hashable
928
+
929
+ # The next pagination token in the List response. It should be used as
930
+ # page_token for the following request. An empty value means no more result.
931
+ # Corresponds to the JSON property `nextPageToken`
932
+ # @return [String]
933
+ attr_accessor :next_page_token
934
+
935
+ # ServiceConnectionMaps to be returned.
936
+ # Corresponds to the JSON property `serviceConnectionMaps`
937
+ # @return [Array<Google::Apis::NetworkconnectivityV1::ServiceConnectionMap>]
938
+ attr_accessor :service_connection_maps
939
+
940
+ # Locations that could not be reached.
941
+ # Corresponds to the JSON property `unreachable`
942
+ # @return [Array<String>]
943
+ attr_accessor :unreachable
944
+
945
+ def initialize(**args)
946
+ update!(**args)
947
+ end
948
+
949
+ # Update properties of this object
950
+ def update!(**args)
951
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
952
+ @service_connection_maps = args[:service_connection_maps] if args.key?(:service_connection_maps)
953
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
954
+ end
955
+ end
956
+
957
+ # Response for ListServiceConnectionPolicies.
958
+ class ListServiceConnectionPoliciesResponse
959
+ include Google::Apis::Core::Hashable
960
+
961
+ # The next pagination token in the List response. It should be used as
962
+ # page_token for the following request. An empty value means no more result.
963
+ # Corresponds to the JSON property `nextPageToken`
964
+ # @return [String]
965
+ attr_accessor :next_page_token
966
+
967
+ # ServiceConnectionPolicies to be returned.
968
+ # Corresponds to the JSON property `serviceConnectionPolicies`
969
+ # @return [Array<Google::Apis::NetworkconnectivityV1::ServiceConnectionPolicy>]
970
+ attr_accessor :service_connection_policies
971
+
972
+ # Locations that could not be reached.
973
+ # Corresponds to the JSON property `unreachable`
974
+ # @return [Array<String>]
975
+ attr_accessor :unreachable
976
+
977
+ def initialize(**args)
978
+ update!(**args)
979
+ end
980
+
981
+ # Update properties of this object
982
+ def update!(**args)
983
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
984
+ @service_connection_policies = args[:service_connection_policies] if args.key?(:service_connection_policies)
985
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
986
+ end
987
+ end
988
+
989
+ # Response for ListServiceConnectionTokens.
990
+ class ListServiceConnectionTokensResponse
991
+ include Google::Apis::Core::Hashable
992
+
993
+ # The next pagination token in the List response. It should be used as
994
+ # page_token for the following request. An empty value means no more result.
995
+ # Corresponds to the JSON property `nextPageToken`
996
+ # @return [String]
997
+ attr_accessor :next_page_token
998
+
999
+ # ServiceConnectionTokens to be returned.
1000
+ # Corresponds to the JSON property `serviceConnectionTokens`
1001
+ # @return [Array<Google::Apis::NetworkconnectivityV1::ServiceConnectionToken>]
1002
+ attr_accessor :service_connection_tokens
1003
+
1004
+ # Locations that could not be reached.
1005
+ # Corresponds to the JSON property `unreachable`
1006
+ # @return [Array<String>]
1007
+ attr_accessor :unreachable
1008
+
1009
+ def initialize(**args)
1010
+ update!(**args)
1011
+ end
1012
+
1013
+ # Update properties of this object
1014
+ def update!(**args)
1015
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1016
+ @service_connection_tokens = args[:service_connection_tokens] if args.key?(:service_connection_tokens)
1017
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1018
+ end
1019
+ end
1020
+
1021
+ # The response for HubService.ListSpokes.
1022
+ class ListSpokesResponse
1023
+ include Google::Apis::Core::Hashable
1024
+
1025
+ # The token for the next page of the response. To see more results, use this
1026
+ # value as the page_token for your next request. If this value is empty, there
1027
+ # are no more results.
1028
+ # Corresponds to the JSON property `nextPageToken`
1029
+ # @return [String]
1030
+ attr_accessor :next_page_token
1031
+
780
1032
  # The requested spokes.
781
1033
  # Corresponds to the JSON property `spokes`
782
1034
  # @return [Array<Google::Apis::NetworkconnectivityV1::Spoke>]
@@ -799,7 +1051,7 @@ module Google
799
1051
  end
800
1052
  end
801
1053
 
802
- # A resource that represents Google Cloud Platform location.
1054
+ # A resource that represents a Google Cloud location.
803
1055
  class Location
804
1056
  include Google::Apis::Core::Hashable
805
1057
 
@@ -1019,6 +1271,120 @@ module Google
1019
1271
  end
1020
1272
  end
1021
1273
 
1274
+ # The PSC configurations on producer side.
1275
+ class ProducerPscConfig
1276
+ include Google::Apis::Core::Hashable
1277
+
1278
+ # The resource path of a service attachment. Example: projects/`projectNumOrId`/
1279
+ # regions/`region`/serviceAttachments/`resourceId`.
1280
+ # Corresponds to the JSON property `serviceAttachmentUri`
1281
+ # @return [String]
1282
+ attr_accessor :service_attachment_uri
1283
+
1284
+ def initialize(**args)
1285
+ update!(**args)
1286
+ end
1287
+
1288
+ # Update properties of this object
1289
+ def update!(**args)
1290
+ @service_attachment_uri = args[:service_attachment_uri] if args.key?(:service_attachment_uri)
1291
+ end
1292
+ end
1293
+
1294
+ # Configuration used for Private Service Connect connections. Used when
1295
+ # Infrastructure is PSC.
1296
+ class PscConfig
1297
+ include Google::Apis::Core::Hashable
1298
+
1299
+ # Max number of PSC connections for this policy.
1300
+ # Corresponds to the JSON property `limit`
1301
+ # @return [Fixnum]
1302
+ attr_accessor :limit
1303
+
1304
+ # The resource paths of subnetworks to use for IP address management. Example:
1305
+ # projects/`projectNumOrId`/regions/`region`/subnetworks/`resourceId`.
1306
+ # Corresponds to the JSON property `subnetworks`
1307
+ # @return [Array<String>]
1308
+ attr_accessor :subnetworks
1309
+
1310
+ def initialize(**args)
1311
+ update!(**args)
1312
+ end
1313
+
1314
+ # Update properties of this object
1315
+ def update!(**args)
1316
+ @limit = args[:limit] if args.key?(:limit)
1317
+ @subnetworks = args[:subnetworks] if args.key?(:subnetworks)
1318
+ end
1319
+ end
1320
+
1321
+ # Information about a specific Private Service Connect connection.
1322
+ class PscConnection
1323
+ include Google::Apis::Core::Hashable
1324
+
1325
+ # The resource reference of the consumer address.
1326
+ # Corresponds to the JSON property `consumerAddress`
1327
+ # @return [String]
1328
+ attr_accessor :consumer_address
1329
+
1330
+ # The resource reference of the PSC Forwarding Rule within the consumer VPC.
1331
+ # Corresponds to the JSON property `consumerForwardingRule`
1332
+ # @return [String]
1333
+ attr_accessor :consumer_forwarding_rule
1334
+
1335
+ # The project where the PSC connection is created.
1336
+ # Corresponds to the JSON property `consumerTargetProject`
1337
+ # @return [String]
1338
+ attr_accessor :consumer_target_project
1339
+
1340
+ # The `Status` type defines a logical error model that is suitable for different
1341
+ # programming environments, including REST APIs and RPC APIs. It is used by [
1342
+ # gRPC](https://github.com/grpc). Each `Status` message contains three pieces of
1343
+ # data: error code, error message, and error details. You can find out more
1344
+ # about this error model and how to work with it in the [API Design Guide](https:
1345
+ # //cloud.google.com/apis/design/errors).
1346
+ # Corresponds to the JSON property `error`
1347
+ # @return [Google::Apis::NetworkconnectivityV1::GoogleRpcStatus]
1348
+ attr_accessor :error
1349
+
1350
+ # The error type indicates whether the error is consumer facing, producer facing
1351
+ # or system internal.
1352
+ # Corresponds to the JSON property `errorType`
1353
+ # @return [String]
1354
+ attr_accessor :error_type
1355
+
1356
+ # The last Compute Engine operation to setup PSC connection.
1357
+ # Corresponds to the JSON property `gceOperation`
1358
+ # @return [String]
1359
+ attr_accessor :gce_operation
1360
+
1361
+ # The PSC connection id of the PSC forwarding rule.
1362
+ # Corresponds to the JSON property `pscConnectionId`
1363
+ # @return [String]
1364
+ attr_accessor :psc_connection_id
1365
+
1366
+ # State of the PSC Connection
1367
+ # Corresponds to the JSON property `state`
1368
+ # @return [String]
1369
+ attr_accessor :state
1370
+
1371
+ def initialize(**args)
1372
+ update!(**args)
1373
+ end
1374
+
1375
+ # Update properties of this object
1376
+ def update!(**args)
1377
+ @consumer_address = args[:consumer_address] if args.key?(:consumer_address)
1378
+ @consumer_forwarding_rule = args[:consumer_forwarding_rule] if args.key?(:consumer_forwarding_rule)
1379
+ @consumer_target_project = args[:consumer_target_project] if args.key?(:consumer_target_project)
1380
+ @error = args[:error] if args.key?(:error)
1381
+ @error_type = args[:error_type] if args.key?(:error_type)
1382
+ @gce_operation = args[:gce_operation] if args.key?(:gce_operation)
1383
+ @psc_connection_id = args[:psc_connection_id] if args.key?(:psc_connection_id)
1384
+ @state = args[:state] if args.key?(:state)
1385
+ end
1386
+ end
1387
+
1022
1388
  # A router appliance instance is a Compute Engine virtual machine (VM) instance
1023
1389
  # that acts as a BGP speaker. A router appliance instance is specified by the
1024
1390
  # URI of the VM and the internal IP address of one of the VM's network
@@ -1078,6 +1444,301 @@ module Google
1078
1444
  end
1079
1445
  end
1080
1446
 
1447
+ # The ServiceClass resource. Next id: 8
1448
+ class ServiceClass
1449
+ include Google::Apis::Core::Hashable
1450
+
1451
+ # Output only. Time when the ServiceClass was created.
1452
+ # Corresponds to the JSON property `createTime`
1453
+ # @return [String]
1454
+ attr_accessor :create_time
1455
+
1456
+ # A description of this resource.
1457
+ # Corresponds to the JSON property `description`
1458
+ # @return [String]
1459
+ attr_accessor :description
1460
+
1461
+ # User-defined labels.
1462
+ # Corresponds to the JSON property `labels`
1463
+ # @return [Hash<String,String>]
1464
+ attr_accessor :labels
1465
+
1466
+ # Immutable. The name of a ServiceClass resource. Format: projects/`project`/
1467
+ # locations/`location`/serviceClasses/`service_class` See: https://google.aip.
1468
+ # dev/122#fields-representing-resource-names
1469
+ # Corresponds to the JSON property `name`
1470
+ # @return [String]
1471
+ attr_accessor :name
1472
+
1473
+ # Output only. The generated service class name. Use this name to refer to the
1474
+ # Service class in Service Connection Maps and Service Connection Policies.
1475
+ # Corresponds to the JSON property `serviceClass`
1476
+ # @return [String]
1477
+ attr_accessor :service_class
1478
+
1479
+ # Output only. URIs of all Service Connection Maps using this service class.
1480
+ # Corresponds to the JSON property `serviceConnectionMaps`
1481
+ # @return [Array<String>]
1482
+ attr_accessor :service_connection_maps
1483
+
1484
+ # Output only. Time when the ServiceClass was updated.
1485
+ # Corresponds to the JSON property `updateTime`
1486
+ # @return [String]
1487
+ attr_accessor :update_time
1488
+
1489
+ def initialize(**args)
1490
+ update!(**args)
1491
+ end
1492
+
1493
+ # Update properties of this object
1494
+ def update!(**args)
1495
+ @create_time = args[:create_time] if args.key?(:create_time)
1496
+ @description = args[:description] if args.key?(:description)
1497
+ @labels = args[:labels] if args.key?(:labels)
1498
+ @name = args[:name] if args.key?(:name)
1499
+ @service_class = args[:service_class] if args.key?(:service_class)
1500
+ @service_connection_maps = args[:service_connection_maps] if args.key?(:service_connection_maps)
1501
+ @update_time = args[:update_time] if args.key?(:update_time)
1502
+ end
1503
+ end
1504
+
1505
+ # The ServiceConnectionMap resource. Next id: 14
1506
+ class ServiceConnectionMap
1507
+ include Google::Apis::Core::Hashable
1508
+
1509
+ # The PSC configurations on consumer side.
1510
+ # Corresponds to the JSON property `consumerPscConfigs`
1511
+ # @return [Array<Google::Apis::NetworkconnectivityV1::ConsumerPscConfig>]
1512
+ attr_accessor :consumer_psc_configs
1513
+
1514
+ # Output only. PSC connection details on consumer side.
1515
+ # Corresponds to the JSON property `consumerPscConnections`
1516
+ # @return [Array<Google::Apis::NetworkconnectivityV1::ConsumerPscConnection>]
1517
+ attr_accessor :consumer_psc_connections
1518
+
1519
+ # Output only. Time when the ServiceConnectionMap was created.
1520
+ # Corresponds to the JSON property `createTime`
1521
+ # @return [String]
1522
+ attr_accessor :create_time
1523
+
1524
+ # A description of this resource.
1525
+ # Corresponds to the JSON property `description`
1526
+ # @return [String]
1527
+ attr_accessor :description
1528
+
1529
+ # Output only. The infrastructure used for connections between consumers/
1530
+ # producers.
1531
+ # Corresponds to the JSON property `infrastructure`
1532
+ # @return [String]
1533
+ attr_accessor :infrastructure
1534
+
1535
+ # User-defined labels.
1536
+ # Corresponds to the JSON property `labels`
1537
+ # @return [Hash<String,String>]
1538
+ attr_accessor :labels
1539
+
1540
+ # Immutable. The name of a ServiceConnectionMap. Format: projects/`project`/
1541
+ # locations/`location`/serviceConnectionMaps/`service_connection_map` See: https:
1542
+ # //google.aip.dev/122#fields-representing-resource-names
1543
+ # Corresponds to the JSON property `name`
1544
+ # @return [String]
1545
+ attr_accessor :name
1546
+
1547
+ # The PSC configurations on producer side.
1548
+ # Corresponds to the JSON property `producerPscConfigs`
1549
+ # @return [Array<Google::Apis::NetworkconnectivityV1::ProducerPscConfig>]
1550
+ attr_accessor :producer_psc_configs
1551
+
1552
+ # The service class identifier this ServiceConnectionMap is for. The user of
1553
+ # ServiceConnectionMap create API needs to have networkconnecitivty.
1554
+ # serviceclasses.use iam permission for the service class.
1555
+ # Corresponds to the JSON property `serviceClass`
1556
+ # @return [String]
1557
+ attr_accessor :service_class
1558
+
1559
+ # Output only. The service class uri this ServiceConnectionMap is for.
1560
+ # Corresponds to the JSON property `serviceClassUri`
1561
+ # @return [String]
1562
+ attr_accessor :service_class_uri
1563
+
1564
+ # The token provided by the consumer. This token authenticates that the consumer
1565
+ # can create a connecton within the specified project and network.
1566
+ # Corresponds to the JSON property `token`
1567
+ # @return [String]
1568
+ attr_accessor :token
1569
+
1570
+ # Output only. Time when the ServiceConnectionMap was updated.
1571
+ # Corresponds to the JSON property `updateTime`
1572
+ # @return [String]
1573
+ attr_accessor :update_time
1574
+
1575
+ def initialize(**args)
1576
+ update!(**args)
1577
+ end
1578
+
1579
+ # Update properties of this object
1580
+ def update!(**args)
1581
+ @consumer_psc_configs = args[:consumer_psc_configs] if args.key?(:consumer_psc_configs)
1582
+ @consumer_psc_connections = args[:consumer_psc_connections] if args.key?(:consumer_psc_connections)
1583
+ @create_time = args[:create_time] if args.key?(:create_time)
1584
+ @description = args[:description] if args.key?(:description)
1585
+ @infrastructure = args[:infrastructure] if args.key?(:infrastructure)
1586
+ @labels = args[:labels] if args.key?(:labels)
1587
+ @name = args[:name] if args.key?(:name)
1588
+ @producer_psc_configs = args[:producer_psc_configs] if args.key?(:producer_psc_configs)
1589
+ @service_class = args[:service_class] if args.key?(:service_class)
1590
+ @service_class_uri = args[:service_class_uri] if args.key?(:service_class_uri)
1591
+ @token = args[:token] if args.key?(:token)
1592
+ @update_time = args[:update_time] if args.key?(:update_time)
1593
+ end
1594
+ end
1595
+
1596
+ # The ServiceConnectionPolicy resource. Next id: 11
1597
+ class ServiceConnectionPolicy
1598
+ include Google::Apis::Core::Hashable
1599
+
1600
+ # Output only. Time when the ServiceConnectionMap was created.
1601
+ # Corresponds to the JSON property `createTime`
1602
+ # @return [String]
1603
+ attr_accessor :create_time
1604
+
1605
+ # A description of this resource.
1606
+ # Corresponds to the JSON property `description`
1607
+ # @return [String]
1608
+ attr_accessor :description
1609
+
1610
+ # Output only. The type of underlying resources used to create the connection.
1611
+ # Corresponds to the JSON property `infrastructure`
1612
+ # @return [String]
1613
+ attr_accessor :infrastructure
1614
+
1615
+ # User-defined labels.
1616
+ # Corresponds to the JSON property `labels`
1617
+ # @return [Hash<String,String>]
1618
+ attr_accessor :labels
1619
+
1620
+ # Immutable. The name of a ServiceConnectionPolicy. Format: projects/`project`/
1621
+ # locations/`location`/serviceConnectionPolicies/`service_connection_policy` See:
1622
+ # https://google.aip.dev/122#fields-representing-resource-names
1623
+ # Corresponds to the JSON property `name`
1624
+ # @return [String]
1625
+ attr_accessor :name
1626
+
1627
+ # The resource path of the consumer network. Example: - projects/`projectNumOrId`
1628
+ # /global/networks/`resourceId`.
1629
+ # Corresponds to the JSON property `network`
1630
+ # @return [String]
1631
+ attr_accessor :network
1632
+
1633
+ # Configuration used for Private Service Connect connections. Used when
1634
+ # Infrastructure is PSC.
1635
+ # Corresponds to the JSON property `pscConfig`
1636
+ # @return [Google::Apis::NetworkconnectivityV1::PscConfig]
1637
+ attr_accessor :psc_config
1638
+
1639
+ # Output only. [Output only] Information about each Private Service Connect
1640
+ # connection.
1641
+ # Corresponds to the JSON property `pscConnections`
1642
+ # @return [Array<Google::Apis::NetworkconnectivityV1::PscConnection>]
1643
+ attr_accessor :psc_connections
1644
+
1645
+ # The service class identifier for which this ServiceConnectionPolicy is for.
1646
+ # The service class identifier is a unique, symbolic representation of a
1647
+ # ServiceClass. It is provided by the Service Producer. Google services have a
1648
+ # prefix of gcp. For example, gcp-cloud-sql. 3rd party services do not. For
1649
+ # example, test-service-a3dfcx.
1650
+ # Corresponds to the JSON property `serviceClass`
1651
+ # @return [String]
1652
+ attr_accessor :service_class
1653
+
1654
+ # Output only. Time when the ServiceConnectionMap was updated.
1655
+ # Corresponds to the JSON property `updateTime`
1656
+ # @return [String]
1657
+ attr_accessor :update_time
1658
+
1659
+ def initialize(**args)
1660
+ update!(**args)
1661
+ end
1662
+
1663
+ # Update properties of this object
1664
+ def update!(**args)
1665
+ @create_time = args[:create_time] if args.key?(:create_time)
1666
+ @description = args[:description] if args.key?(:description)
1667
+ @infrastructure = args[:infrastructure] if args.key?(:infrastructure)
1668
+ @labels = args[:labels] if args.key?(:labels)
1669
+ @name = args[:name] if args.key?(:name)
1670
+ @network = args[:network] if args.key?(:network)
1671
+ @psc_config = args[:psc_config] if args.key?(:psc_config)
1672
+ @psc_connections = args[:psc_connections] if args.key?(:psc_connections)
1673
+ @service_class = args[:service_class] if args.key?(:service_class)
1674
+ @update_time = args[:update_time] if args.key?(:update_time)
1675
+ end
1676
+ end
1677
+
1678
+ # The ServiceConnectionToken resource. Next id: 9
1679
+ class ServiceConnectionToken
1680
+ include Google::Apis::Core::Hashable
1681
+
1682
+ # Output only. Time when the ServiceConnectionToken was created.
1683
+ # Corresponds to the JSON property `createTime`
1684
+ # @return [String]
1685
+ attr_accessor :create_time
1686
+
1687
+ # A description of this resource.
1688
+ # Corresponds to the JSON property `description`
1689
+ # @return [String]
1690
+ attr_accessor :description
1691
+
1692
+ # Output only. The time to which this token is valid.
1693
+ # Corresponds to the JSON property `expireTime`
1694
+ # @return [String]
1695
+ attr_accessor :expire_time
1696
+
1697
+ # User-defined labels.
1698
+ # Corresponds to the JSON property `labels`
1699
+ # @return [Hash<String,String>]
1700
+ attr_accessor :labels
1701
+
1702
+ # Immutable. The name of a ServiceConnectionToken. Format: projects/`project`/
1703
+ # locations/`location`/ServiceConnectionTokens/`service_connection_token` See:
1704
+ # https://google.aip.dev/122#fields-representing-resource-names
1705
+ # Corresponds to the JSON property `name`
1706
+ # @return [String]
1707
+ attr_accessor :name
1708
+
1709
+ # The resource path of the network associated with this token. Example: projects/
1710
+ # `projectNumOrId`/global/networks/`resourceId`.
1711
+ # Corresponds to the JSON property `network`
1712
+ # @return [String]
1713
+ attr_accessor :network
1714
+
1715
+ # Output only. The token generated by Automation.
1716
+ # Corresponds to the JSON property `token`
1717
+ # @return [String]
1718
+ attr_accessor :token
1719
+
1720
+ # Output only. Time when the ServiceConnectionToken was updated.
1721
+ # Corresponds to the JSON property `updateTime`
1722
+ # @return [String]
1723
+ attr_accessor :update_time
1724
+
1725
+ def initialize(**args)
1726
+ update!(**args)
1727
+ end
1728
+
1729
+ # Update properties of this object
1730
+ def update!(**args)
1731
+ @create_time = args[:create_time] if args.key?(:create_time)
1732
+ @description = args[:description] if args.key?(:description)
1733
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
1734
+ @labels = args[:labels] if args.key?(:labels)
1735
+ @name = args[:name] if args.key?(:name)
1736
+ @network = args[:network] if args.key?(:network)
1737
+ @token = args[:token] if args.key?(:token)
1738
+ @update_time = args[:update_time] if args.key?(:update_time)
1739
+ end
1740
+ end
1741
+
1081
1742
  # Request message for `SetIamPolicy` method.
1082
1743
  class SetIamPolicyRequest
1083
1744
  include Google::Apis::Core::Hashable