pulumi-gcp 8.33.0a1749001887__py3-none-any.whl → 8.34.0__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 (97) hide show
  1. pulumi_gcp/__init__.py +40 -0
  2. pulumi_gcp/alloydb/cluster.py +16 -64
  3. pulumi_gcp/apigee/_inputs.py +89 -0
  4. pulumi_gcp/apigee/environment.py +68 -2
  5. pulumi_gcp/apigee/outputs.py +88 -0
  6. pulumi_gcp/apihub/__init__.py +1 -0
  7. pulumi_gcp/apihub/_inputs.py +184 -0
  8. pulumi_gcp/apihub/curation.py +812 -0
  9. pulumi_gcp/apihub/outputs.py +165 -0
  10. pulumi_gcp/beyondcorp/get_security_gateway.py +12 -1
  11. pulumi_gcp/beyondcorp/security_gateway.py +28 -0
  12. pulumi_gcp/bigquery/__init__.py +1 -0
  13. pulumi_gcp/bigquery/get_datasets.py +131 -0
  14. pulumi_gcp/bigquery/outputs.py +52 -0
  15. pulumi_gcp/cloudrunv2/_inputs.py +463 -0
  16. pulumi_gcp/cloudrunv2/outputs.py +581 -1
  17. pulumi_gcp/cloudrunv2/worker_pool.py +0 -8
  18. pulumi_gcp/colab/_inputs.py +14 -1
  19. pulumi_gcp/colab/outputs.py +8 -1
  20. pulumi_gcp/colab/runtime_template.py +5 -27
  21. pulumi_gcp/compute/__init__.py +3 -0
  22. pulumi_gcp/compute/_inputs.py +1829 -3
  23. pulumi_gcp/compute/backend_service.py +18 -2
  24. pulumi_gcp/compute/get_region_instance_template.py +12 -1
  25. pulumi_gcp/compute/get_router_nat.py +23 -1
  26. pulumi_gcp/compute/interconnect.py +32 -0
  27. pulumi_gcp/compute/interconnect_attachment.py +304 -0
  28. pulumi_gcp/compute/interconnect_attachment_group.py +636 -0
  29. pulumi_gcp/compute/interconnect_group.py +586 -0
  30. pulumi_gcp/compute/outputs.py +1321 -2
  31. pulumi_gcp/compute/region_instance_template.py +28 -0
  32. pulumi_gcp/compute/router_nat.py +143 -0
  33. pulumi_gcp/compute/snapshot_settings.py +285 -0
  34. pulumi_gcp/compute/url_map.py +338 -0
  35. pulumi_gcp/container/_inputs.py +57 -24
  36. pulumi_gcp/container/cluster.py +47 -0
  37. pulumi_gcp/container/get_cluster.py +12 -1
  38. pulumi_gcp/container/outputs.py +75 -20
  39. pulumi_gcp/dataplex/__init__.py +1 -0
  40. pulumi_gcp/dataplex/_inputs.py +492 -0
  41. pulumi_gcp/dataplex/datascan.py +2 -0
  42. pulumi_gcp/dataplex/entry.py +1038 -0
  43. pulumi_gcp/dataplex/outputs.py +357 -1
  44. pulumi_gcp/datastream/_inputs.py +48 -6
  45. pulumi_gcp/datastream/outputs.py +46 -4
  46. pulumi_gcp/datastream/private_connection.py +205 -35
  47. pulumi_gcp/dns/_inputs.py +73 -0
  48. pulumi_gcp/dns/outputs.py +60 -0
  49. pulumi_gcp/dns/policy.py +54 -0
  50. pulumi_gcp/eventarc/_inputs.py +12 -5
  51. pulumi_gcp/eventarc/outputs.py +8 -3
  52. pulumi_gcp/eventarc/pipeline.py +0 -12
  53. pulumi_gcp/filestore/_inputs.py +44 -1
  54. pulumi_gcp/filestore/instance.py +7 -7
  55. pulumi_gcp/filestore/outputs.py +52 -2
  56. pulumi_gcp/gemini/data_sharing_with_google_setting.py +58 -9
  57. pulumi_gcp/gemini/data_sharing_with_google_setting_binding.py +11 -16
  58. pulumi_gcp/gemini/gemini_gcp_enablement_setting.py +51 -2
  59. pulumi_gcp/gemini/gemini_gcp_enablement_setting_binding.py +11 -16
  60. pulumi_gcp/gkehub/_inputs.py +84 -7
  61. pulumi_gcp/gkehub/feature.py +38 -0
  62. pulumi_gcp/gkehub/outputs.py +102 -7
  63. pulumi_gcp/gkehub/scope_rbac_role_binding.py +54 -2
  64. pulumi_gcp/gkeonprem/_inputs.py +54 -0
  65. pulumi_gcp/gkeonprem/outputs.py +49 -0
  66. pulumi_gcp/gkeonprem/vmware_admin_cluster.py +71 -0
  67. pulumi_gcp/iam/workload_identity_pool_namespace.py +4 -4
  68. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  69. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  70. pulumi_gcp/managedkafka/connect_cluster.py +4 -4
  71. pulumi_gcp/managedkafka/connector.py +4 -4
  72. pulumi_gcp/memorystore/_inputs.py +6 -6
  73. pulumi_gcp/memorystore/outputs.py +8 -8
  74. pulumi_gcp/netapp/_inputs.py +113 -0
  75. pulumi_gcp/netapp/backup_vault.py +56 -0
  76. pulumi_gcp/netapp/outputs.py +92 -0
  77. pulumi_gcp/networkconnectivity/_inputs.py +9 -9
  78. pulumi_gcp/networkconnectivity/outputs.py +6 -6
  79. pulumi_gcp/networkconnectivity/spoke.py +14 -14
  80. pulumi_gcp/networksecurity/backend_authentication_config.py +64 -0
  81. pulumi_gcp/orgpolicy/policy.py +2 -2
  82. pulumi_gcp/pubsub/_inputs.py +392 -0
  83. pulumi_gcp/pubsub/get_subscription.py +12 -1
  84. pulumi_gcp/pubsub/get_topic.py +12 -1
  85. pulumi_gcp/pubsub/outputs.py +548 -0
  86. pulumi_gcp/pubsub/subscription.py +67 -6
  87. pulumi_gcp/pubsub/topic.py +61 -0
  88. pulumi_gcp/pulumi-plugin.json +1 -1
  89. pulumi_gcp/redis/_inputs.py +3 -6
  90. pulumi_gcp/redis/outputs.py +2 -4
  91. pulumi_gcp/storage/bucket_object.py +4 -4
  92. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  93. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  94. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/METADATA +1 -1
  95. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/RECORD +97 -91
  96. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.dist-info}/WHEEL +0 -0
  97. {pulumi_gcp-8.33.0a1749001887.dist-info → pulumi_gcp-8.34.0.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',
@@ -1085,7 +1089,9 @@ class DatascanDataQualitySpec(dict):
1085
1089
  @staticmethod
1086
1090
  def __key_warning(key: str):
1087
1091
  suggest = None
1088
- if key == "postScanActions":
1092
+ if key == "catalogPublishingEnabled":
1093
+ suggest = "catalog_publishing_enabled"
1094
+ elif key == "postScanActions":
1089
1095
  suggest = "post_scan_actions"
1090
1096
  elif key == "rowFilter":
1091
1097
  suggest = "row_filter"
@@ -1104,11 +1110,13 @@ class DatascanDataQualitySpec(dict):
1104
1110
  return super().get(key, default)
1105
1111
 
1106
1112
  def __init__(__self__, *,
1113
+ catalog_publishing_enabled: Optional[builtins.bool] = None,
1107
1114
  post_scan_actions: Optional['outputs.DatascanDataQualitySpecPostScanActions'] = None,
1108
1115
  row_filter: Optional[builtins.str] = None,
1109
1116
  rules: Optional[Sequence['outputs.DatascanDataQualitySpecRule']] = None,
1110
1117
  sampling_percent: Optional[builtins.float] = None):
1111
1118
  """
1119
+ :param builtins.bool catalog_publishing_enabled: If set, the latest DataScan job result will be published to Dataplex Catalog.
1112
1120
  :param 'DatascanDataQualitySpecPostScanActionsArgs' post_scan_actions: Actions to take upon job completion.
1113
1121
  Structure is documented below.
1114
1122
  :param builtins.str row_filter: A filter applied to all rows in a single DataScan job. The filter needs to be a valid SQL expression for a WHERE clause in BigQuery standard SQL syntax. Example: col1 >= 0 AND col2 < 10
@@ -1118,6 +1126,8 @@ class DatascanDataQualitySpec(dict):
1118
1126
  Value can range between 0.0 and 100.0 with up to 3 significant decimal digits.
1119
1127
  Sampling is not applied if `sampling_percent` is not specified, 0 or 100.
1120
1128
  """
1129
+ if catalog_publishing_enabled is not None:
1130
+ pulumi.set(__self__, "catalog_publishing_enabled", catalog_publishing_enabled)
1121
1131
  if post_scan_actions is not None:
1122
1132
  pulumi.set(__self__, "post_scan_actions", post_scan_actions)
1123
1133
  if row_filter is not None:
@@ -1127,6 +1137,14 @@ class DatascanDataQualitySpec(dict):
1127
1137
  if sampling_percent is not None:
1128
1138
  pulumi.set(__self__, "sampling_percent", sampling_percent)
1129
1139
 
1140
+ @property
1141
+ @pulumi.getter(name="catalogPublishingEnabled")
1142
+ def catalog_publishing_enabled(self) -> Optional[builtins.bool]:
1143
+ """
1144
+ If set, the latest DataScan job result will be published to Dataplex Catalog.
1145
+ """
1146
+ return pulumi.get(self, "catalog_publishing_enabled")
1147
+
1130
1148
  @property
1131
1149
  @pulumi.getter(name="postScanActions")
1132
1150
  def post_scan_actions(self) -> Optional['outputs.DatascanDataQualitySpecPostScanActions']:
@@ -2199,6 +2217,344 @@ class DatascanIamMemberCondition(dict):
2199
2217
  return pulumi.get(self, "description")
2200
2218
 
2201
2219
 
2220
+ @pulumi.output_type
2221
+ class EntryAspect(dict):
2222
+ @staticmethod
2223
+ def __key_warning(key: str):
2224
+ suggest = None
2225
+ if key == "aspectKey":
2226
+ suggest = "aspect_key"
2227
+
2228
+ if suggest:
2229
+ pulumi.log.warn(f"Key '{key}' not found in EntryAspect. Access the value via the '{suggest}' property getter instead.")
2230
+
2231
+ def __getitem__(self, key: str) -> Any:
2232
+ EntryAspect.__key_warning(key)
2233
+ return super().__getitem__(key)
2234
+
2235
+ def get(self, key: str, default = None) -> Any:
2236
+ EntryAspect.__key_warning(key)
2237
+ return super().get(key, default)
2238
+
2239
+ def __init__(__self__, *,
2240
+ aspect: 'outputs.EntryAspectAspect',
2241
+ aspect_key: builtins.str):
2242
+ """
2243
+ :param 'EntryAspectAspectArgs' aspect: A nested object resource.
2244
+ Structure is documented below.
2245
+ :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:
2246
+ If the aspect is attached directly to the entry: {project_number}.{locationId}.{aspectTypeId}
2247
+ If the aspect is attached to an entry's path: {project_number}.{locationId}.{aspectTypeId}@{path}
2248
+ """
2249
+ pulumi.set(__self__, "aspect", aspect)
2250
+ pulumi.set(__self__, "aspect_key", aspect_key)
2251
+
2252
+ @property
2253
+ @pulumi.getter
2254
+ def aspect(self) -> 'outputs.EntryAspectAspect':
2255
+ """
2256
+ A nested object resource.
2257
+ Structure is documented below.
2258
+ """
2259
+ return pulumi.get(self, "aspect")
2260
+
2261
+ @property
2262
+ @pulumi.getter(name="aspectKey")
2263
+ def aspect_key(self) -> builtins.str:
2264
+ """
2265
+ Depending on how the aspect is attached to the entry, the format of the aspect key can be one of the following:
2266
+ If the aspect is attached directly to the entry: {project_number}.{locationId}.{aspectTypeId}
2267
+ If the aspect is attached to an entry's path: {project_number}.{locationId}.{aspectTypeId}@{path}
2268
+ """
2269
+ return pulumi.get(self, "aspect_key")
2270
+
2271
+
2272
+ @pulumi.output_type
2273
+ class EntryAspectAspect(dict):
2274
+ @staticmethod
2275
+ def __key_warning(key: str):
2276
+ suggest = None
2277
+ if key == "aspectType":
2278
+ suggest = "aspect_type"
2279
+ elif key == "createTime":
2280
+ suggest = "create_time"
2281
+ elif key == "updateTime":
2282
+ suggest = "update_time"
2283
+
2284
+ if suggest:
2285
+ pulumi.log.warn(f"Key '{key}' not found in EntryAspectAspect. Access the value via the '{suggest}' property getter instead.")
2286
+
2287
+ def __getitem__(self, key: str) -> Any:
2288
+ EntryAspectAspect.__key_warning(key)
2289
+ return super().__getitem__(key)
2290
+
2291
+ def get(self, key: str, default = None) -> Any:
2292
+ EntryAspectAspect.__key_warning(key)
2293
+ return super().get(key, default)
2294
+
2295
+ def __init__(__self__, *,
2296
+ data: builtins.str,
2297
+ aspect_type: Optional[builtins.str] = None,
2298
+ create_time: Optional[builtins.str] = None,
2299
+ path: Optional[builtins.str] = None,
2300
+ update_time: Optional[builtins.str] = None):
2301
+ """
2302
+ :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).
2303
+ :param builtins.str aspect_type: (Output)
2304
+ The resource name of the type used to create this Aspect.
2305
+ :param builtins.str create_time: (Output)
2306
+ The time when the Aspect was created.
2307
+ :param builtins.str path: (Output)
2308
+ The path in the entry under which the aspect is attached.
2309
+ :param builtins.str update_time: (Output)
2310
+ The time when the Aspect was last modified.
2311
+ """
2312
+ pulumi.set(__self__, "data", data)
2313
+ if aspect_type is not None:
2314
+ pulumi.set(__self__, "aspect_type", aspect_type)
2315
+ if create_time is not None:
2316
+ pulumi.set(__self__, "create_time", create_time)
2317
+ if path is not None:
2318
+ pulumi.set(__self__, "path", path)
2319
+ if update_time is not None:
2320
+ pulumi.set(__self__, "update_time", update_time)
2321
+
2322
+ @property
2323
+ @pulumi.getter
2324
+ def data(self) -> builtins.str:
2325
+ """
2326
+ 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).
2327
+ """
2328
+ return pulumi.get(self, "data")
2329
+
2330
+ @property
2331
+ @pulumi.getter(name="aspectType")
2332
+ def aspect_type(self) -> Optional[builtins.str]:
2333
+ """
2334
+ (Output)
2335
+ The resource name of the type used to create this Aspect.
2336
+ """
2337
+ return pulumi.get(self, "aspect_type")
2338
+
2339
+ @property
2340
+ @pulumi.getter(name="createTime")
2341
+ def create_time(self) -> Optional[builtins.str]:
2342
+ """
2343
+ (Output)
2344
+ The time when the Aspect was created.
2345
+ """
2346
+ return pulumi.get(self, "create_time")
2347
+
2348
+ @property
2349
+ @pulumi.getter
2350
+ def path(self) -> Optional[builtins.str]:
2351
+ """
2352
+ (Output)
2353
+ The path in the entry under which the aspect is attached.
2354
+ """
2355
+ return pulumi.get(self, "path")
2356
+
2357
+ @property
2358
+ @pulumi.getter(name="updateTime")
2359
+ def update_time(self) -> Optional[builtins.str]:
2360
+ """
2361
+ (Output)
2362
+ The time when the Aspect was last modified.
2363
+ """
2364
+ return pulumi.get(self, "update_time")
2365
+
2366
+
2367
+ @pulumi.output_type
2368
+ class EntryEntrySource(dict):
2369
+ @staticmethod
2370
+ def __key_warning(key: str):
2371
+ suggest = None
2372
+ if key == "createTime":
2373
+ suggest = "create_time"
2374
+ elif key == "displayName":
2375
+ suggest = "display_name"
2376
+ elif key == "updateTime":
2377
+ suggest = "update_time"
2378
+
2379
+ if suggest:
2380
+ pulumi.log.warn(f"Key '{key}' not found in EntryEntrySource. Access the value via the '{suggest}' property getter instead.")
2381
+
2382
+ def __getitem__(self, key: str) -> Any:
2383
+ EntryEntrySource.__key_warning(key)
2384
+ return super().__getitem__(key)
2385
+
2386
+ def get(self, key: str, default = None) -> Any:
2387
+ EntryEntrySource.__key_warning(key)
2388
+ return super().get(key, default)
2389
+
2390
+ def __init__(__self__, *,
2391
+ ancestors: Optional[Sequence['outputs.EntryEntrySourceAncestor']] = None,
2392
+ create_time: Optional[builtins.str] = None,
2393
+ description: Optional[builtins.str] = None,
2394
+ display_name: Optional[builtins.str] = None,
2395
+ labels: Optional[Mapping[str, builtins.str]] = None,
2396
+ location: Optional[builtins.str] = None,
2397
+ platform: Optional[builtins.str] = None,
2398
+ resource: Optional[builtins.str] = None,
2399
+ system: Optional[builtins.str] = None,
2400
+ update_time: Optional[builtins.str] = None):
2401
+ """
2402
+ :param Sequence['EntryEntrySourceAncestorArgs'] ancestors: Structure is documented below.
2403
+ :param builtins.str create_time: The time when the resource was created in the source system.
2404
+ :param builtins.str description: A description of the data resource. Maximum length is 2,000 characters.
2405
+ :param builtins.str display_name: A user-friendly display name. Maximum length is 500 characters.
2406
+ :param Mapping[str, builtins.str] labels: User-defined labels. The maximum size of keys and values is 128 characters each.
2407
+ An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
2408
+ :param builtins.str location: (Output)
2409
+ Location of the resource in the source system. You can search the entry by this location.
2410
+ By default, this should match the location of the entry group containing this entry.
2411
+ A different value allows capturing the source location for data external to Google Cloud.
2412
+ :param builtins.str platform: The platform containing the source system. Maximum length is 64 characters.
2413
+ :param builtins.str resource: The name of the resource in the source system. Maximum length is 4,000 characters.
2414
+ :param builtins.str system: The name of the source system. Maximum length is 64 characters.
2415
+ :param builtins.str update_time: The time when the resource was last updated in the source system.
2416
+ If the entry exists in the system and its EntrySource has updateTime populated,
2417
+ further updates to the EntrySource of the entry must provide incremental updates to its updateTime.
2418
+ """
2419
+ if ancestors is not None:
2420
+ pulumi.set(__self__, "ancestors", ancestors)
2421
+ if create_time is not None:
2422
+ pulumi.set(__self__, "create_time", create_time)
2423
+ if description is not None:
2424
+ pulumi.set(__self__, "description", description)
2425
+ if display_name is not None:
2426
+ pulumi.set(__self__, "display_name", display_name)
2427
+ if labels is not None:
2428
+ pulumi.set(__self__, "labels", labels)
2429
+ if location is not None:
2430
+ pulumi.set(__self__, "location", location)
2431
+ if platform is not None:
2432
+ pulumi.set(__self__, "platform", platform)
2433
+ if resource is not None:
2434
+ pulumi.set(__self__, "resource", resource)
2435
+ if system is not None:
2436
+ pulumi.set(__self__, "system", system)
2437
+ if update_time is not None:
2438
+ pulumi.set(__self__, "update_time", update_time)
2439
+
2440
+ @property
2441
+ @pulumi.getter
2442
+ def ancestors(self) -> Optional[Sequence['outputs.EntryEntrySourceAncestor']]:
2443
+ """
2444
+ Structure is documented below.
2445
+ """
2446
+ return pulumi.get(self, "ancestors")
2447
+
2448
+ @property
2449
+ @pulumi.getter(name="createTime")
2450
+ def create_time(self) -> Optional[builtins.str]:
2451
+ """
2452
+ The time when the resource was created in the source system.
2453
+ """
2454
+ return pulumi.get(self, "create_time")
2455
+
2456
+ @property
2457
+ @pulumi.getter
2458
+ def description(self) -> Optional[builtins.str]:
2459
+ """
2460
+ A description of the data resource. Maximum length is 2,000 characters.
2461
+ """
2462
+ return pulumi.get(self, "description")
2463
+
2464
+ @property
2465
+ @pulumi.getter(name="displayName")
2466
+ def display_name(self) -> Optional[builtins.str]:
2467
+ """
2468
+ A user-friendly display name. Maximum length is 500 characters.
2469
+ """
2470
+ return pulumi.get(self, "display_name")
2471
+
2472
+ @property
2473
+ @pulumi.getter
2474
+ def labels(self) -> Optional[Mapping[str, builtins.str]]:
2475
+ """
2476
+ User-defined labels. The maximum size of keys and values is 128 characters each.
2477
+ An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.
2478
+ """
2479
+ return pulumi.get(self, "labels")
2480
+
2481
+ @property
2482
+ @pulumi.getter
2483
+ def location(self) -> Optional[builtins.str]:
2484
+ """
2485
+ (Output)
2486
+ Location of the resource in the source system. You can search the entry by this location.
2487
+ By default, this should match the location of the entry group containing this entry.
2488
+ A different value allows capturing the source location for data external to Google Cloud.
2489
+ """
2490
+ return pulumi.get(self, "location")
2491
+
2492
+ @property
2493
+ @pulumi.getter
2494
+ def platform(self) -> Optional[builtins.str]:
2495
+ """
2496
+ The platform containing the source system. Maximum length is 64 characters.
2497
+ """
2498
+ return pulumi.get(self, "platform")
2499
+
2500
+ @property
2501
+ @pulumi.getter
2502
+ def resource(self) -> Optional[builtins.str]:
2503
+ """
2504
+ The name of the resource in the source system. Maximum length is 4,000 characters.
2505
+ """
2506
+ return pulumi.get(self, "resource")
2507
+
2508
+ @property
2509
+ @pulumi.getter
2510
+ def system(self) -> Optional[builtins.str]:
2511
+ """
2512
+ The name of the source system. Maximum length is 64 characters.
2513
+ """
2514
+ return pulumi.get(self, "system")
2515
+
2516
+ @property
2517
+ @pulumi.getter(name="updateTime")
2518
+ def update_time(self) -> Optional[builtins.str]:
2519
+ """
2520
+ The time when the resource was last updated in the source system.
2521
+ If the entry exists in the system and its EntrySource has updateTime populated,
2522
+ further updates to the EntrySource of the entry must provide incremental updates to its updateTime.
2523
+ """
2524
+ return pulumi.get(self, "update_time")
2525
+
2526
+
2527
+ @pulumi.output_type
2528
+ class EntryEntrySourceAncestor(dict):
2529
+ def __init__(__self__, *,
2530
+ name: Optional[builtins.str] = None,
2531
+ type: Optional[builtins.str] = None):
2532
+ """
2533
+ :param builtins.str name: The name of the ancestor resource.
2534
+ :param builtins.str type: The type of the ancestor resource.
2535
+ """
2536
+ if name is not None:
2537
+ pulumi.set(__self__, "name", name)
2538
+ if type is not None:
2539
+ pulumi.set(__self__, "type", type)
2540
+
2541
+ @property
2542
+ @pulumi.getter
2543
+ def name(self) -> Optional[builtins.str]:
2544
+ """
2545
+ The name of the ancestor resource.
2546
+ """
2547
+ return pulumi.get(self, "name")
2548
+
2549
+ @property
2550
+ @pulumi.getter
2551
+ def type(self) -> Optional[builtins.str]:
2552
+ """
2553
+ The type of the ancestor resource.
2554
+ """
2555
+ return pulumi.get(self, "type")
2556
+
2557
+
2202
2558
  @pulumi.output_type
2203
2559
  class EntryGroupIamBindingCondition(dict):
2204
2560
  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