pulumi-gcp 8.33.0a1749001887__py3-none-any.whl → 8.34.0a1749484438__py3-none-any.whl

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 (46) hide show
  1. pulumi_gcp/__init__.py +8 -0
  2. pulumi_gcp/bigquery/__init__.py +1 -0
  3. pulumi_gcp/bigquery/get_datasets.py +131 -0
  4. pulumi_gcp/bigquery/outputs.py +52 -0
  5. pulumi_gcp/colab/_inputs.py +14 -1
  6. pulumi_gcp/colab/outputs.py +8 -1
  7. pulumi_gcp/colab/runtime_template.py +1 -1
  8. pulumi_gcp/compute/_inputs.py +278 -3
  9. pulumi_gcp/compute/backend_service.py +18 -2
  10. pulumi_gcp/compute/get_region_instance_template.py +12 -1
  11. pulumi_gcp/compute/get_router_nat.py +23 -1
  12. pulumi_gcp/compute/interconnect_attachment.py +276 -0
  13. pulumi_gcp/compute/outputs.py +234 -2
  14. pulumi_gcp/compute/region_instance_template.py +28 -0
  15. pulumi_gcp/compute/router_nat.py +143 -0
  16. pulumi_gcp/compute/url_map.py +338 -0
  17. pulumi_gcp/container/_inputs.py +6 -6
  18. pulumi_gcp/container/outputs.py +4 -4
  19. pulumi_gcp/dataplex/__init__.py +1 -0
  20. pulumi_gcp/dataplex/_inputs.py +472 -0
  21. pulumi_gcp/dataplex/entry.py +1038 -0
  22. pulumi_gcp/dataplex/outputs.py +342 -0
  23. pulumi_gcp/datastream/_inputs.py +48 -6
  24. pulumi_gcp/datastream/outputs.py +46 -4
  25. pulumi_gcp/datastream/private_connection.py +205 -35
  26. pulumi_gcp/dns/_inputs.py +73 -0
  27. pulumi_gcp/dns/outputs.py +60 -0
  28. pulumi_gcp/dns/policy.py +54 -0
  29. pulumi_gcp/filestore/_inputs.py +44 -1
  30. pulumi_gcp/filestore/instance.py +7 -7
  31. pulumi_gcp/filestore/outputs.py +52 -2
  32. pulumi_gcp/memorystore/_inputs.py +6 -6
  33. pulumi_gcp/memorystore/outputs.py +8 -8
  34. pulumi_gcp/netapp/_inputs.py +113 -0
  35. pulumi_gcp/netapp/backup_vault.py +56 -0
  36. pulumi_gcp/netapp/outputs.py +92 -0
  37. pulumi_gcp/networkconnectivity/_inputs.py +9 -9
  38. pulumi_gcp/networkconnectivity/outputs.py +6 -6
  39. pulumi_gcp/pulumi-plugin.json +1 -1
  40. pulumi_gcp/redis/_inputs.py +3 -6
  41. pulumi_gcp/redis/outputs.py +2 -4
  42. pulumi_gcp/storage/bucket_object.py +4 -4
  43. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0a1749484438.dist-info}/METADATA +1 -1
  44. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0a1749484438.dist-info}/RECORD +46 -44
  45. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0a1749484438.dist-info}/WHEEL +0 -0
  46. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0a1749484438.dist-info}/top_level.txt +0 -0
@@ -60,6 +60,10 @@ __all__ = [
60
60
  'DatascanExecutionStatus',
61
61
  'DatascanIamBindingCondition',
62
62
  'DatascanIamMemberCondition',
63
+ 'EntryAspect',
64
+ 'EntryAspectAspect',
65
+ 'EntryEntrySource',
66
+ 'EntryEntrySourceAncestor',
63
67
  'EntryGroupIamBindingCondition',
64
68
  'EntryGroupIamMemberCondition',
65
69
  'EntryTypeIamBindingCondition',
@@ -2199,6 +2203,344 @@ class DatascanIamMemberCondition(dict):
2199
2203
  return pulumi.get(self, "description")
2200
2204
 
2201
2205
 
2206
+ @pulumi.output_type
2207
+ class EntryAspect(dict):
2208
+ @staticmethod
2209
+ def __key_warning(key: str):
2210
+ suggest = None
2211
+ if key == "aspectKey":
2212
+ suggest = "aspect_key"
2213
+
2214
+ if suggest:
2215
+ pulumi.log.warn(f"Key '{key}' not found in EntryAspect. Access the value via the '{suggest}' property getter instead.")
2216
+
2217
+ def __getitem__(self, key: str) -> Any:
2218
+ EntryAspect.__key_warning(key)
2219
+ return super().__getitem__(key)
2220
+
2221
+ def get(self, key: str, default = None) -> Any:
2222
+ EntryAspect.__key_warning(key)
2223
+ return super().get(key, default)
2224
+
2225
+ def __init__(__self__, *,
2226
+ aspect: 'outputs.EntryAspectAspect',
2227
+ aspect_key: builtins.str):
2228
+ """
2229
+ :param 'EntryAspectAspectArgs' aspect: A nested object resource.
2230
+ Structure is documented below.
2231
+ :param builtins.str aspect_key: Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following:
2232
+ If the aspect is attached directly to the entry: {project_number}.{locationId}.{aspectTypeId}
2233
+ If the aspect is attached to an entry's path: {project_number}.{locationId}.{aspectTypeId}@{path}
2234
+ """
2235
+ pulumi.set(__self__, "aspect", aspect)
2236
+ pulumi.set(__self__, "aspect_key", aspect_key)
2237
+
2238
+ @property
2239
+ @pulumi.getter
2240
+ def aspect(self) -> 'outputs.EntryAspectAspect':
2241
+ """
2242
+ A nested object resource.
2243
+ Structure is documented below.
2244
+ """
2245
+ return pulumi.get(self, "aspect")
2246
+
2247
+ @property
2248
+ @pulumi.getter(name="aspectKey")
2249
+ def aspect_key(self) -> builtins.str:
2250
+ """
2251
+ Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following:
2252
+ If the aspect is attached directly to the entry: {project_number}.{locationId}.{aspectTypeId}
2253
+ If the aspect is attached to an entry's path: {project_number}.{locationId}.{aspectTypeId}@{path}
2254
+ """
2255
+ return pulumi.get(self, "aspect_key")
2256
+
2257
+
2258
+ @pulumi.output_type
2259
+ class EntryAspectAspect(dict):
2260
+ @staticmethod
2261
+ def __key_warning(key: str):
2262
+ suggest = None
2263
+ if key == "aspectType":
2264
+ suggest = "aspect_type"
2265
+ elif key == "createTime":
2266
+ suggest = "create_time"
2267
+ elif key == "updateTime":
2268
+ suggest = "update_time"
2269
+
2270
+ if suggest:
2271
+ pulumi.log.warn(f"Key '{key}' not found in EntryAspectAspect. Access the value via the '{suggest}' property getter instead.")
2272
+
2273
+ def __getitem__(self, key: str) -> Any:
2274
+ EntryAspectAspect.__key_warning(key)
2275
+ return super().__getitem__(key)
2276
+
2277
+ def get(self, key: str, default = None) -> Any:
2278
+ EntryAspectAspect.__key_warning(key)
2279
+ return super().get(key, default)
2280
+
2281
+ def __init__(__self__, *,
2282
+ data: builtins.str,
2283
+ aspect_type: Optional[builtins.str] = None,
2284
+ create_time: Optional[builtins.str] = None,
2285
+ path: Optional[builtins.str] = None,
2286
+ update_time: Optional[builtins.str] = None):
2287
+ """
2288
+ :param builtins.str data: The content of the aspect in JSON form, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
2289
+ :param builtins.str aspect_type: (Output)
2290
+ The resource name of the type used to create this Aspect.
2291
+ :param builtins.str create_time: (Output)
2292
+ The time when the Aspect was created.
2293
+ :param builtins.str path: (Output)
2294
+ The path in the entry under which the aspect is attached.
2295
+ :param builtins.str update_time: (Output)
2296
+ The time when the Aspect was last modified.
2297
+ """
2298
+ pulumi.set(__self__, "data", data)
2299
+ if aspect_type is not None:
2300
+ pulumi.set(__self__, "aspect_type", aspect_type)
2301
+ if create_time is not None:
2302
+ pulumi.set(__self__, "create_time", create_time)
2303
+ if path is not None:
2304
+ pulumi.set(__self__, "path", path)
2305
+ if update_time is not None:
2306
+ pulumi.set(__self__, "update_time", update_time)
2307
+
2308
+ @property
2309
+ @pulumi.getter
2310
+ def data(self) -> builtins.str:
2311
+ """
2312
+ The content of the aspect in JSON form, according to its aspect type schema. The maximum size of the field is 120KB (encoded as UTF-8).
2313
+ """
2314
+ return pulumi.get(self, "data")
2315
+
2316
+ @property
2317
+ @pulumi.getter(name="aspectType")
2318
+ def aspect_type(self) -> Optional[builtins.str]:
2319
+ """
2320
+ (Output)
2321
+ The resource name of the type used to create this Aspect.
2322
+ """
2323
+ return pulumi.get(self, "aspect_type")
2324
+
2325
+ @property
2326
+ @pulumi.getter(name="createTime")
2327
+ def create_time(self) -> Optional[builtins.str]:
2328
+ """
2329
+ (Output)
2330
+ The time when the Aspect was created.
2331
+ """
2332
+ return pulumi.get(self, "create_time")
2333
+
2334
+ @property
2335
+ @pulumi.getter
2336
+ def path(self) -> Optional[builtins.str]:
2337
+ """
2338
+ (Output)
2339
+ The path in the entry under which the aspect is attached.
2340
+ """
2341
+ return pulumi.get(self, "path")
2342
+
2343
+ @property
2344
+ @pulumi.getter(name="updateTime")
2345
+ def update_time(self) -> Optional[builtins.str]:
2346
+ """
2347
+ (Output)
2348
+ The time when the Aspect was last modified.
2349
+ """
2350
+ return pulumi.get(self, "update_time")
2351
+
2352
+
2353
+ @pulumi.output_type
2354
+ class EntryEntrySource(dict):
2355
+ @staticmethod
2356
+ def __key_warning(key: str):
2357
+ suggest = None
2358
+ if key == "createTime":
2359
+ suggest = "create_time"
2360
+ elif key == "displayName":
2361
+ suggest = "display_name"
2362
+ elif key == "updateTime":
2363
+ suggest = "update_time"
2364
+
2365
+ if suggest:
2366
+ pulumi.log.warn(f"Key '{key}' not found in EntryEntrySource. Access the value via the '{suggest}' property getter instead.")
2367
+
2368
+ def __getitem__(self, key: str) -> Any:
2369
+ EntryEntrySource.__key_warning(key)
2370
+ return super().__getitem__(key)
2371
+
2372
+ def get(self, key: str, default = None) -> Any:
2373
+ EntryEntrySource.__key_warning(key)
2374
+ return super().get(key, default)
2375
+
2376
+ def __init__(__self__, *,
2377
+ ancestors: Optional[Sequence['outputs.EntryEntrySourceAncestor']] = None,
2378
+ create_time: Optional[builtins.str] = None,
2379
+ description: Optional[builtins.str] = None,
2380
+ display_name: Optional[builtins.str] = None,
2381
+ labels: Optional[Mapping[str, builtins.str]] = None,
2382
+ location: Optional[builtins.str] = None,
2383
+ platform: Optional[builtins.str] = None,
2384
+ resource: Optional[builtins.str] = None,
2385
+ system: Optional[builtins.str] = None,
2386
+ update_time: Optional[builtins.str] = None):
2387
+ """
2388
+ :param Sequence['EntryEntrySourceAncestorArgs'] ancestors: Structure is documented below.
2389
+ :param builtins.str create_time: The time when the resource was created in the source system.
2390
+ :param builtins.str description: A description of the data resource. Maximum length is 2,000 characters.
2391
+ :param builtins.str display_name: A user-friendly display name. Maximum length is 500 characters.
2392
+ :param Mapping[str, builtins.str] labels: User-defined labels. The maximum size of keys and values is 128 characters each.
2393
+ An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
2394
+ :param builtins.str location: (Output)
2395
+ Location of the resource in the source system. You can search the entry by this location.
2396
+ By default, this should match the location of the entry group containing this entry.
2397
+ A different value allows capturing the source location for data external to Google Cloud.
2398
+ :param builtins.str platform: The platform containing the source system. Maximum length is 64 characters.
2399
+ :param builtins.str resource: The name of the resource in the source system. Maximum length is 4,000 characters.
2400
+ :param builtins.str system: The name of the source system. Maximum length is 64 characters.
2401
+ :param builtins.str update_time: The time when the resource was last updated in the source system.
2402
+ If the entry exists in the system and its EntrySource has updateTime populated,
2403
+ further updates to the EntrySource of the entry must provide incremental updates to its updateTime.
2404
+ """
2405
+ if ancestors is not None:
2406
+ pulumi.set(__self__, "ancestors", ancestors)
2407
+ if create_time is not None:
2408
+ pulumi.set(__self__, "create_time", create_time)
2409
+ if description is not None:
2410
+ pulumi.set(__self__, "description", description)
2411
+ if display_name is not None:
2412
+ pulumi.set(__self__, "display_name", display_name)
2413
+ if labels is not None:
2414
+ pulumi.set(__self__, "labels", labels)
2415
+ if location is not None:
2416
+ pulumi.set(__self__, "location", location)
2417
+ if platform is not None:
2418
+ pulumi.set(__self__, "platform", platform)
2419
+ if resource is not None:
2420
+ pulumi.set(__self__, "resource", resource)
2421
+ if system is not None:
2422
+ pulumi.set(__self__, "system", system)
2423
+ if update_time is not None:
2424
+ pulumi.set(__self__, "update_time", update_time)
2425
+
2426
+ @property
2427
+ @pulumi.getter
2428
+ def ancestors(self) -> Optional[Sequence['outputs.EntryEntrySourceAncestor']]:
2429
+ """
2430
+ Structure is documented below.
2431
+ """
2432
+ return pulumi.get(self, "ancestors")
2433
+
2434
+ @property
2435
+ @pulumi.getter(name="createTime")
2436
+ def create_time(self) -> Optional[builtins.str]:
2437
+ """
2438
+ The time when the resource was created in the source system.
2439
+ """
2440
+ return pulumi.get(self, "create_time")
2441
+
2442
+ @property
2443
+ @pulumi.getter
2444
+ def description(self) -> Optional[builtins.str]:
2445
+ """
2446
+ A description of the data resource. Maximum length is 2,000 characters.
2447
+ """
2448
+ return pulumi.get(self, "description")
2449
+
2450
+ @property
2451
+ @pulumi.getter(name="displayName")
2452
+ def display_name(self) -> Optional[builtins.str]:
2453
+ """
2454
+ A user-friendly display name. Maximum length is 500 characters.
2455
+ """
2456
+ return pulumi.get(self, "display_name")
2457
+
2458
+ @property
2459
+ @pulumi.getter
2460
+ def labels(self) -> Optional[Mapping[str, builtins.str]]:
2461
+ """
2462
+ User-defined labels. The maximum size of keys and values is 128 characters each.
2463
+ An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
2464
+ """
2465
+ return pulumi.get(self, "labels")
2466
+
2467
+ @property
2468
+ @pulumi.getter
2469
+ def location(self) -> Optional[builtins.str]:
2470
+ """
2471
+ (Output)
2472
+ Location of the resource in the source system. You can search the entry by this location.
2473
+ By default, this should match the location of the entry group containing this entry.
2474
+ A different value allows capturing the source location for data external to Google Cloud.
2475
+ """
2476
+ return pulumi.get(self, "location")
2477
+
2478
+ @property
2479
+ @pulumi.getter
2480
+ def platform(self) -> Optional[builtins.str]:
2481
+ """
2482
+ The platform containing the source system. Maximum length is 64 characters.
2483
+ """
2484
+ return pulumi.get(self, "platform")
2485
+
2486
+ @property
2487
+ @pulumi.getter
2488
+ def resource(self) -> Optional[builtins.str]:
2489
+ """
2490
+ The name of the resource in the source system. Maximum length is 4,000 characters.
2491
+ """
2492
+ return pulumi.get(self, "resource")
2493
+
2494
+ @property
2495
+ @pulumi.getter
2496
+ def system(self) -> Optional[builtins.str]:
2497
+ """
2498
+ The name of the source system. Maximum length is 64 characters.
2499
+ """
2500
+ return pulumi.get(self, "system")
2501
+
2502
+ @property
2503
+ @pulumi.getter(name="updateTime")
2504
+ def update_time(self) -> Optional[builtins.str]:
2505
+ """
2506
+ The time when the resource was last updated in the source system.
2507
+ If the entry exists in the system and its EntrySource has updateTime populated,
2508
+ further updates to the EntrySource of the entry must provide incremental updates to its updateTime.
2509
+ """
2510
+ return pulumi.get(self, "update_time")
2511
+
2512
+
2513
+ @pulumi.output_type
2514
+ class EntryEntrySourceAncestor(dict):
2515
+ def __init__(__self__, *,
2516
+ name: Optional[builtins.str] = None,
2517
+ type: Optional[builtins.str] = None):
2518
+ """
2519
+ :param builtins.str name: The name of the ancestor resource.
2520
+ :param builtins.str type: The type of the ancestor resource.
2521
+ """
2522
+ if name is not None:
2523
+ pulumi.set(__self__, "name", name)
2524
+ if type is not None:
2525
+ pulumi.set(__self__, "type", type)
2526
+
2527
+ @property
2528
+ @pulumi.getter
2529
+ def name(self) -> Optional[builtins.str]:
2530
+ """
2531
+ The name of the ancestor resource.
2532
+ """
2533
+ return pulumi.get(self, "name")
2534
+
2535
+ @property
2536
+ @pulumi.getter
2537
+ def type(self) -> Optional[builtins.str]:
2538
+ """
2539
+ The type of the ancestor resource.
2540
+ """
2541
+ return pulumi.get(self, "type")
2542
+
2543
+
2202
2544
  @pulumi.output_type
2203
2545
  class EntryGroupIamBindingCondition(dict):
2204
2546
  def __init__(__self__, *,
@@ -42,6 +42,8 @@ __all__ = [
42
42
  'ConnectionProfileSqlServerProfileArgsDict',
43
43
  'PrivateConnectionErrorArgs',
44
44
  'PrivateConnectionErrorArgsDict',
45
+ 'PrivateConnectionPscInterfaceConfigArgs',
46
+ 'PrivateConnectionPscInterfaceConfigArgsDict',
45
47
  'PrivateConnectionVpcPeeringConfigArgs',
46
48
  'PrivateConnectionVpcPeeringConfigArgsDict',
47
49
  'StreamBackfillAllArgs',
@@ -1461,13 +1463,57 @@ class PrivateConnectionErrorArgs:
1461
1463
  pulumi.set(self, "message", value)
1462
1464
 
1463
1465
 
1466
+ if not MYPY:
1467
+ class PrivateConnectionPscInterfaceConfigArgsDict(TypedDict):
1468
+ network_attachment: pulumi.Input[builtins.str]
1469
+ """
1470
+ Fully qualified name of the network attachment that Datastream will connect to.
1471
+ Format: projects/{project}/regions/{region}/networkAttachments/{name}
1472
+ To get Datastream project for the accepted list:
1473
+ `gcloud datastream private-connections create [PC ID] --location=[LOCATION] --network-attachment=[NA URI] --validate-only --display-name=[ANY STRING]`
1474
+ Add Datastream project to the attachment accepted list:
1475
+ `gcloud compute network-attachments update [NA URI] --region=[NA region] --producer-accept-list=[TP from prev command]`
1476
+ """
1477
+ elif False:
1478
+ PrivateConnectionPscInterfaceConfigArgsDict: TypeAlias = Mapping[str, Any]
1479
+
1480
+ @pulumi.input_type
1481
+ class PrivateConnectionPscInterfaceConfigArgs:
1482
+ def __init__(__self__, *,
1483
+ network_attachment: pulumi.Input[builtins.str]):
1484
+ """
1485
+ :param pulumi.Input[builtins.str] network_attachment: Fully qualified name of the network attachment that Datastream will connect to.
1486
+ Format: projects/{project}/regions/{region}/networkAttachments/{name}
1487
+ To get Datastream project for the accepted list:
1488
+ `gcloud datastream private-connections create [PC ID] --location=[LOCATION] --network-attachment=[NA URI] --validate-only --display-name=[ANY STRING]`
1489
+ Add Datastream project to the attachment accepted list:
1490
+ `gcloud compute network-attachments update [NA URI] --region=[NA region] --producer-accept-list=[TP from prev command]`
1491
+ """
1492
+ pulumi.set(__self__, "network_attachment", network_attachment)
1493
+
1494
+ @property
1495
+ @pulumi.getter(name="networkAttachment")
1496
+ def network_attachment(self) -> pulumi.Input[builtins.str]:
1497
+ """
1498
+ Fully qualified name of the network attachment that Datastream will connect to.
1499
+ Format: projects/{project}/regions/{region}/networkAttachments/{name}
1500
+ To get Datastream project for the accepted list:
1501
+ `gcloud datastream private-connections create [PC ID] --location=[LOCATION] --network-attachment=[NA URI] --validate-only --display-name=[ANY STRING]`
1502
+ Add Datastream project to the attachment accepted list:
1503
+ `gcloud compute network-attachments update [NA URI] --region=[NA region] --producer-accept-list=[TP from prev command]`
1504
+ """
1505
+ return pulumi.get(self, "network_attachment")
1506
+
1507
+ @network_attachment.setter
1508
+ def network_attachment(self, value: pulumi.Input[builtins.str]):
1509
+ pulumi.set(self, "network_attachment", value)
1510
+
1511
+
1464
1512
  if not MYPY:
1465
1513
  class PrivateConnectionVpcPeeringConfigArgsDict(TypedDict):
1466
1514
  subnet: pulumi.Input[builtins.str]
1467
1515
  """
1468
1516
  A free subnet for peering. (CIDR of /29)
1469
-
1470
- - - -
1471
1517
  """
1472
1518
  vpc: pulumi.Input[builtins.str]
1473
1519
  """
@@ -1484,8 +1530,6 @@ class PrivateConnectionVpcPeeringConfigArgs:
1484
1530
  vpc: pulumi.Input[builtins.str]):
1485
1531
  """
1486
1532
  :param pulumi.Input[builtins.str] subnet: A free subnet for peering. (CIDR of /29)
1487
-
1488
- - - -
1489
1533
  :param pulumi.Input[builtins.str] vpc: Fully qualified name of the VPC that Datastream will peer to.
1490
1534
  Format: projects/{project}/global/{networks}/{name}
1491
1535
  """
@@ -1497,8 +1541,6 @@ class PrivateConnectionVpcPeeringConfigArgs:
1497
1541
  def subnet(self) -> pulumi.Input[builtins.str]:
1498
1542
  """
1499
1543
  A free subnet for peering. (CIDR of /29)
1500
-
1501
- - - -
1502
1544
  """
1503
1545
  return pulumi.get(self, "subnet")
1504
1546
 
@@ -30,6 +30,7 @@ __all__ = [
30
30
  'ConnectionProfileSalesforceProfileUserCredentials',
31
31
  'ConnectionProfileSqlServerProfile',
32
32
  'PrivateConnectionError',
33
+ 'PrivateConnectionPscInterfaceConfig',
33
34
  'PrivateConnectionVpcPeeringConfig',
34
35
  'StreamBackfillAll',
35
36
  'StreamBackfillAllMysqlExcludedObjects',
@@ -1072,6 +1073,51 @@ class PrivateConnectionError(dict):
1072
1073
  return pulumi.get(self, "message")
1073
1074
 
1074
1075
 
1076
+ @pulumi.output_type
1077
+ class PrivateConnectionPscInterfaceConfig(dict):
1078
+ @staticmethod
1079
+ def __key_warning(key: str):
1080
+ suggest = None
1081
+ if key == "networkAttachment":
1082
+ suggest = "network_attachment"
1083
+
1084
+ if suggest:
1085
+ pulumi.log.warn(f"Key '{key}' not found in PrivateConnectionPscInterfaceConfig. Access the value via the '{suggest}' property getter instead.")
1086
+
1087
+ def __getitem__(self, key: str) -> Any:
1088
+ PrivateConnectionPscInterfaceConfig.__key_warning(key)
1089
+ return super().__getitem__(key)
1090
+
1091
+ def get(self, key: str, default = None) -> Any:
1092
+ PrivateConnectionPscInterfaceConfig.__key_warning(key)
1093
+ return super().get(key, default)
1094
+
1095
+ def __init__(__self__, *,
1096
+ network_attachment: builtins.str):
1097
+ """
1098
+ :param builtins.str network_attachment: Fully qualified name of the network attachment that Datastream will connect to.
1099
+ Format: projects/{project}/regions/{region}/networkAttachments/{name}
1100
+ To get Datastream project for the accepted list:
1101
+ `gcloud datastream private-connections create [PC ID] --location=[LOCATION] --network-attachment=[NA URI] --validate-only --display-name=[ANY STRING]`
1102
+ Add Datastream project to the attachment accepted list:
1103
+ `gcloud compute network-attachments update [NA URI] --region=[NA region] --producer-accept-list=[TP from prev command]`
1104
+ """
1105
+ pulumi.set(__self__, "network_attachment", network_attachment)
1106
+
1107
+ @property
1108
+ @pulumi.getter(name="networkAttachment")
1109
+ def network_attachment(self) -> builtins.str:
1110
+ """
1111
+ Fully qualified name of the network attachment that Datastream will connect to.
1112
+ Format: projects/{project}/regions/{region}/networkAttachments/{name}
1113
+ To get Datastream project for the accepted list:
1114
+ `gcloud datastream private-connections create [PC ID] --location=[LOCATION] --network-attachment=[NA URI] --validate-only --display-name=[ANY STRING]`
1115
+ Add Datastream project to the attachment accepted list:
1116
+ `gcloud compute network-attachments update [NA URI] --region=[NA region] --producer-accept-list=[TP from prev command]`
1117
+ """
1118
+ return pulumi.get(self, "network_attachment")
1119
+
1120
+
1075
1121
  @pulumi.output_type
1076
1122
  class PrivateConnectionVpcPeeringConfig(dict):
1077
1123
  def __init__(__self__, *,
@@ -1079,8 +1125,6 @@ class PrivateConnectionVpcPeeringConfig(dict):
1079
1125
  vpc: builtins.str):
1080
1126
  """
1081
1127
  :param builtins.str subnet: A free subnet for peering. (CIDR of /29)
1082
-
1083
- - - -
1084
1128
  :param builtins.str vpc: Fully qualified name of the VPC that Datastream will peer to.
1085
1129
  Format: projects/{project}/global/{networks}/{name}
1086
1130
  """
@@ -1092,8 +1136,6 @@ class PrivateConnectionVpcPeeringConfig(dict):
1092
1136
  def subnet(self) -> builtins.str:
1093
1137
  """
1094
1138
  A free subnet for peering. (CIDR of /29)
1095
-
1096
- - - -
1097
1139
  """
1098
1140
  return pulumi.get(self, "subnet")
1099
1141