pulumi-gcp 8.17.0a1738090062__py3-none-any.whl → 8.17.0a1738349438__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 (83) hide show
  1. pulumi_gcp/__init__.py +91 -0
  2. pulumi_gcp/alloydb/cluster.py +75 -7
  3. pulumi_gcp/apigee/_inputs.py +91 -0
  4. pulumi_gcp/apigee/endpoint_attachment.py +0 -64
  5. pulumi_gcp/apigee/environment.py +54 -0
  6. pulumi_gcp/apigee/outputs.py +54 -0
  7. pulumi_gcp/apihub/__init__.py +10 -0
  8. pulumi_gcp/apihub/_inputs.py +154 -0
  9. pulumi_gcp/apihub/api_hub_instance.py +784 -0
  10. pulumi_gcp/apihub/outputs.py +124 -0
  11. pulumi_gcp/chronicle/__init__.py +1 -0
  12. pulumi_gcp/chronicle/_inputs.py +124 -0
  13. pulumi_gcp/chronicle/outputs.py +112 -0
  14. pulumi_gcp/chronicle/retrohunt.py +645 -0
  15. pulumi_gcp/cloudrunv2/_inputs.py +197 -0
  16. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  17. pulumi_gcp/cloudrunv2/outputs.py +256 -0
  18. pulumi_gcp/cloudrunv2/service.py +159 -0
  19. pulumi_gcp/colab/__init__.py +5 -0
  20. pulumi_gcp/colab/_inputs.py +131 -0
  21. pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
  22. pulumi_gcp/colab/outputs.py +92 -0
  23. pulumi_gcp/colab/runtime.py +696 -0
  24. pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
  25. pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
  26. pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
  27. pulumi_gcp/compute/__init__.py +4 -0
  28. pulumi_gcp/compute/_inputs.py +526 -0
  29. pulumi_gcp/compute/firewall_policy_rule.py +104 -22
  30. pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
  31. pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
  32. pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
  33. pulumi_gcp/compute/instance_template_iam_member.py +998 -0
  34. pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
  35. pulumi_gcp/compute/interconnect_attachment.py +189 -2
  36. pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
  37. pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
  38. pulumi_gcp/compute/outputs.py +352 -0
  39. pulumi_gcp/compute/project_metadata_item.py +12 -0
  40. pulumi_gcp/compute/public_advertised_prefix.py +87 -0
  41. pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
  42. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
  43. pulumi_gcp/compute/router_peer.py +115 -3
  44. pulumi_gcp/config/__init__.pyi +2 -0
  45. pulumi_gcp/config/vars.py +4 -0
  46. pulumi_gcp/filestore/get_instance.py +12 -1
  47. pulumi_gcp/filestore/instance.py +75 -0
  48. pulumi_gcp/gemini/code_repository_index.py +29 -33
  49. pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
  50. pulumi_gcp/gemini/repository_group.py +76 -26
  51. pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
  52. pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
  53. pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
  54. pulumi_gcp/kms/__init__.py +1 -0
  55. pulumi_gcp/kms/get_key_handles.py +172 -0
  56. pulumi_gcp/kms/outputs.py +45 -0
  57. pulumi_gcp/networksecurity/_inputs.py +72 -0
  58. pulumi_gcp/networksecurity/outputs.py +76 -0
  59. pulumi_gcp/networksecurity/security_profile.py +233 -7
  60. pulumi_gcp/networksecurity/security_profile_group.py +218 -0
  61. pulumi_gcp/organizations/__init__.py +1 -0
  62. pulumi_gcp/organizations/get_s.py +128 -0
  63. pulumi_gcp/organizations/outputs.py +63 -0
  64. pulumi_gcp/parametermanager/__init__.py +3 -0
  65. pulumi_gcp/parametermanager/get_parameter.py +211 -0
  66. pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
  67. pulumi_gcp/parametermanager/outputs.py +210 -0
  68. pulumi_gcp/parametermanager/parameter_version.py +496 -0
  69. pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
  70. pulumi_gcp/provider.py +20 -0
  71. pulumi_gcp/pubsub/_inputs.py +213 -1
  72. pulumi_gcp/pubsub/outputs.py +278 -2
  73. pulumi_gcp/pubsub/topic.py +42 -0
  74. pulumi_gcp/pulumi-plugin.json +1 -1
  75. pulumi_gcp/redis/__init__.py +1 -0
  76. pulumi_gcp/redis/_inputs.py +342 -6
  77. pulumi_gcp/redis/cluster.py +223 -102
  78. pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
  79. pulumi_gcp/redis/outputs.py +268 -4
  80. {pulumi_gcp-8.17.0a1738090062.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/METADATA +1 -1
  81. {pulumi_gcp-8.17.0a1738090062.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/RECORD +83 -63
  82. {pulumi_gcp-8.17.0a1738090062.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/WHEEL +0 -0
  83. {pulumi_gcp-8.17.0a1738090062.dist-info → pulumi_gcp-8.17.0a1738349438.dist-info}/top_level.txt +0 -0
@@ -38,6 +38,7 @@ __all__ = [
38
38
  'TopicIAMMemberCondition',
39
39
  'TopicIngestionDataSourceSettings',
40
40
  'TopicIngestionDataSourceSettingsAwsKinesis',
41
+ 'TopicIngestionDataSourceSettingsAzureEventHubs',
41
42
  'TopicIngestionDataSourceSettingsCloudStorage',
42
43
  'TopicIngestionDataSourceSettingsCloudStorageAvroFormat',
43
44
  'TopicIngestionDataSourceSettingsCloudStoragePubsubAvroFormat',
@@ -56,6 +57,7 @@ __all__ = [
56
57
  'GetSubscriptionRetryPolicyResult',
57
58
  'GetTopicIngestionDataSourceSettingResult',
58
59
  'GetTopicIngestionDataSourceSettingAwsKineseResult',
60
+ 'GetTopicIngestionDataSourceSettingAzureEventHubResult',
59
61
  'GetTopicIngestionDataSourceSettingCloudStorageResult',
60
62
  'GetTopicIngestionDataSourceSettingCloudStorageAvroFormatResult',
61
63
  'GetTopicIngestionDataSourceSettingCloudStoragePubsubAvroFormatResult',
@@ -1165,6 +1167,8 @@ class TopicIngestionDataSourceSettings(dict):
1165
1167
  suggest = None
1166
1168
  if key == "awsKinesis":
1167
1169
  suggest = "aws_kinesis"
1170
+ elif key == "azureEventHubs":
1171
+ suggest = "azure_event_hubs"
1168
1172
  elif key == "cloudStorage":
1169
1173
  suggest = "cloud_storage"
1170
1174
  elif key == "platformLogsSettings":
@@ -1183,11 +1187,14 @@ class TopicIngestionDataSourceSettings(dict):
1183
1187
 
1184
1188
  def __init__(__self__, *,
1185
1189
  aws_kinesis: Optional['outputs.TopicIngestionDataSourceSettingsAwsKinesis'] = None,
1190
+ azure_event_hubs: Optional['outputs.TopicIngestionDataSourceSettingsAzureEventHubs'] = None,
1186
1191
  cloud_storage: Optional['outputs.TopicIngestionDataSourceSettingsCloudStorage'] = None,
1187
1192
  platform_logs_settings: Optional['outputs.TopicIngestionDataSourceSettingsPlatformLogsSettings'] = None):
1188
1193
  """
1189
1194
  :param 'TopicIngestionDataSourceSettingsAwsKinesisArgs' aws_kinesis: Settings for ingestion from Amazon Kinesis Data Streams.
1190
1195
  Structure is documented below.
1196
+ :param 'TopicIngestionDataSourceSettingsAzureEventHubsArgs' azure_event_hubs: Settings for ingestion from Azure Event Hubs.
1197
+ Structure is documented below.
1191
1198
  :param 'TopicIngestionDataSourceSettingsCloudStorageArgs' cloud_storage: Settings for ingestion from Cloud Storage.
1192
1199
  Structure is documented below.
1193
1200
  :param 'TopicIngestionDataSourceSettingsPlatformLogsSettingsArgs' platform_logs_settings: Settings for Platform Logs regarding ingestion to Pub/Sub. If unset,
@@ -1196,6 +1203,8 @@ class TopicIngestionDataSourceSettings(dict):
1196
1203
  """
1197
1204
  if aws_kinesis is not None:
1198
1205
  pulumi.set(__self__, "aws_kinesis", aws_kinesis)
1206
+ if azure_event_hubs is not None:
1207
+ pulumi.set(__self__, "azure_event_hubs", azure_event_hubs)
1199
1208
  if cloud_storage is not None:
1200
1209
  pulumi.set(__self__, "cloud_storage", cloud_storage)
1201
1210
  if platform_logs_settings is not None:
@@ -1210,6 +1219,15 @@ class TopicIngestionDataSourceSettings(dict):
1210
1219
  """
1211
1220
  return pulumi.get(self, "aws_kinesis")
1212
1221
 
1222
+ @property
1223
+ @pulumi.getter(name="azureEventHubs")
1224
+ def azure_event_hubs(self) -> Optional['outputs.TopicIngestionDataSourceSettingsAzureEventHubs']:
1225
+ """
1226
+ Settings for ingestion from Azure Event Hubs.
1227
+ Structure is documented below.
1228
+ """
1229
+ return pulumi.get(self, "azure_event_hubs")
1230
+
1213
1231
  @property
1214
1232
  @pulumi.getter(name="cloudStorage")
1215
1233
  def cloud_storage(self) -> Optional['outputs.TopicIngestionDataSourceSettingsCloudStorage']:
@@ -1318,6 +1336,128 @@ class TopicIngestionDataSourceSettingsAwsKinesis(dict):
1318
1336
  return pulumi.get(self, "stream_arn")
1319
1337
 
1320
1338
 
1339
+ @pulumi.output_type
1340
+ class TopicIngestionDataSourceSettingsAzureEventHubs(dict):
1341
+ @staticmethod
1342
+ def __key_warning(key: str):
1343
+ suggest = None
1344
+ if key == "clientId":
1345
+ suggest = "client_id"
1346
+ elif key == "eventHub":
1347
+ suggest = "event_hub"
1348
+ elif key == "gcpServiceAccount":
1349
+ suggest = "gcp_service_account"
1350
+ elif key == "resourceGroup":
1351
+ suggest = "resource_group"
1352
+ elif key == "subscriptionId":
1353
+ suggest = "subscription_id"
1354
+ elif key == "tenantId":
1355
+ suggest = "tenant_id"
1356
+
1357
+ if suggest:
1358
+ pulumi.log.warn(f"Key '{key}' not found in TopicIngestionDataSourceSettingsAzureEventHubs. Access the value via the '{suggest}' property getter instead.")
1359
+
1360
+ def __getitem__(self, key: str) -> Any:
1361
+ TopicIngestionDataSourceSettingsAzureEventHubs.__key_warning(key)
1362
+ return super().__getitem__(key)
1363
+
1364
+ def get(self, key: str, default = None) -> Any:
1365
+ TopicIngestionDataSourceSettingsAzureEventHubs.__key_warning(key)
1366
+ return super().get(key, default)
1367
+
1368
+ def __init__(__self__, *,
1369
+ client_id: Optional[str] = None,
1370
+ event_hub: Optional[str] = None,
1371
+ gcp_service_account: Optional[str] = None,
1372
+ namespace: Optional[str] = None,
1373
+ resource_group: Optional[str] = None,
1374
+ subscription_id: Optional[str] = None,
1375
+ tenant_id: Optional[str] = None):
1376
+ """
1377
+ :param str client_id: The Azure event hub client ID to use for ingestion.
1378
+ :param str event_hub: The Azure event hub to ingest data from.
1379
+ :param str gcp_service_account: The GCP service account to be used for Federated Identity authentication
1380
+ with Azure (via a `AssumeRoleWithWebIdentity` call for the provided
1381
+ role).
1382
+ :param str namespace: The Azure event hub namespace to ingest data from.
1383
+ :param str resource_group: The name of the resource group within an Azure subscription.
1384
+ :param str subscription_id: The Azure event hub subscription ID to use for ingestion.
1385
+ :param str tenant_id: The Azure event hub tenant ID to use for ingestion.
1386
+ """
1387
+ if client_id is not None:
1388
+ pulumi.set(__self__, "client_id", client_id)
1389
+ if event_hub is not None:
1390
+ pulumi.set(__self__, "event_hub", event_hub)
1391
+ if gcp_service_account is not None:
1392
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
1393
+ if namespace is not None:
1394
+ pulumi.set(__self__, "namespace", namespace)
1395
+ if resource_group is not None:
1396
+ pulumi.set(__self__, "resource_group", resource_group)
1397
+ if subscription_id is not None:
1398
+ pulumi.set(__self__, "subscription_id", subscription_id)
1399
+ if tenant_id is not None:
1400
+ pulumi.set(__self__, "tenant_id", tenant_id)
1401
+
1402
+ @property
1403
+ @pulumi.getter(name="clientId")
1404
+ def client_id(self) -> Optional[str]:
1405
+ """
1406
+ The Azure event hub client ID to use for ingestion.
1407
+ """
1408
+ return pulumi.get(self, "client_id")
1409
+
1410
+ @property
1411
+ @pulumi.getter(name="eventHub")
1412
+ def event_hub(self) -> Optional[str]:
1413
+ """
1414
+ The Azure event hub to ingest data from.
1415
+ """
1416
+ return pulumi.get(self, "event_hub")
1417
+
1418
+ @property
1419
+ @pulumi.getter(name="gcpServiceAccount")
1420
+ def gcp_service_account(self) -> Optional[str]:
1421
+ """
1422
+ The GCP service account to be used for Federated Identity authentication
1423
+ with Azure (via a `AssumeRoleWithWebIdentity` call for the provided
1424
+ role).
1425
+ """
1426
+ return pulumi.get(self, "gcp_service_account")
1427
+
1428
+ @property
1429
+ @pulumi.getter
1430
+ def namespace(self) -> Optional[str]:
1431
+ """
1432
+ The Azure event hub namespace to ingest data from.
1433
+ """
1434
+ return pulumi.get(self, "namespace")
1435
+
1436
+ @property
1437
+ @pulumi.getter(name="resourceGroup")
1438
+ def resource_group(self) -> Optional[str]:
1439
+ """
1440
+ The name of the resource group within an Azure subscription.
1441
+ """
1442
+ return pulumi.get(self, "resource_group")
1443
+
1444
+ @property
1445
+ @pulumi.getter(name="subscriptionId")
1446
+ def subscription_id(self) -> Optional[str]:
1447
+ """
1448
+ The Azure event hub subscription ID to use for ingestion.
1449
+ """
1450
+ return pulumi.get(self, "subscription_id")
1451
+
1452
+ @property
1453
+ @pulumi.getter(name="tenantId")
1454
+ def tenant_id(self) -> Optional[str]:
1455
+ """
1456
+ The Azure event hub tenant ID to use for ingestion.
1457
+ """
1458
+ return pulumi.get(self, "tenant_id")
1459
+
1460
+
1321
1461
  @pulumi.output_type
1322
1462
  class TopicIngestionDataSourceSettingsCloudStorage(dict):
1323
1463
  @staticmethod
@@ -1514,6 +1654,8 @@ class TopicMessageStoragePolicy(dict):
1514
1654
  suggest = None
1515
1655
  if key == "allowedPersistenceRegions":
1516
1656
  suggest = "allowed_persistence_regions"
1657
+ elif key == "enforceInTransit":
1658
+ suggest = "enforce_in_transit"
1517
1659
 
1518
1660
  if suggest:
1519
1661
  pulumi.log.warn(f"Key '{key}' not found in TopicMessageStoragePolicy. Access the value via the '{suggest}' property getter instead.")
@@ -1527,7 +1669,8 @@ class TopicMessageStoragePolicy(dict):
1527
1669
  return super().get(key, default)
1528
1670
 
1529
1671
  def __init__(__self__, *,
1530
- allowed_persistence_regions: Sequence[str]):
1672
+ allowed_persistence_regions: Sequence[str],
1673
+ enforce_in_transit: Optional[bool] = None):
1531
1674
  """
1532
1675
  :param Sequence[str] allowed_persistence_regions: A list of IDs of GCP regions where messages that are published to
1533
1676
  the topic may be persisted in storage. Messages published by
@@ -1535,8 +1678,14 @@ class TopicMessageStoragePolicy(dict):
1535
1678
  of GCP altogether) will be routed for storage in one of the
1536
1679
  allowed regions. An empty list means that no regions are allowed,
1537
1680
  and is not a valid configuration.
1681
+ :param bool enforce_in_transit: If true, `allowedPersistenceRegions` is also used to enforce in-transit
1682
+ guarantees for messages. That is, Pub/Sub will fail topics.publish
1683
+ operations on this topic and subscribe operations on any subscription
1684
+ attached to this topic in any region that is not in `allowedPersistenceRegions`.
1538
1685
  """
1539
1686
  pulumi.set(__self__, "allowed_persistence_regions", allowed_persistence_regions)
1687
+ if enforce_in_transit is not None:
1688
+ pulumi.set(__self__, "enforce_in_transit", enforce_in_transit)
1540
1689
 
1541
1690
  @property
1542
1691
  @pulumi.getter(name="allowedPersistenceRegions")
@@ -1551,6 +1700,17 @@ class TopicMessageStoragePolicy(dict):
1551
1700
  """
1552
1701
  return pulumi.get(self, "allowed_persistence_regions")
1553
1702
 
1703
+ @property
1704
+ @pulumi.getter(name="enforceInTransit")
1705
+ def enforce_in_transit(self) -> Optional[bool]:
1706
+ """
1707
+ If true, `allowedPersistenceRegions` is also used to enforce in-transit
1708
+ guarantees for messages. That is, Pub/Sub will fail topics.publish
1709
+ operations on this topic and subscribe operations on any subscription
1710
+ attached to this topic in any region that is not in `allowedPersistenceRegions`.
1711
+ """
1712
+ return pulumi.get(self, "enforce_in_transit")
1713
+
1554
1714
 
1555
1715
  @pulumi.output_type
1556
1716
  class TopicSchemaSettings(dict):
@@ -2139,15 +2299,18 @@ class GetSubscriptionRetryPolicyResult(dict):
2139
2299
  class GetTopicIngestionDataSourceSettingResult(dict):
2140
2300
  def __init__(__self__, *,
2141
2301
  aws_kineses: Sequence['outputs.GetTopicIngestionDataSourceSettingAwsKineseResult'],
2302
+ azure_event_hubs: Sequence['outputs.GetTopicIngestionDataSourceSettingAzureEventHubResult'],
2142
2303
  cloud_storages: Sequence['outputs.GetTopicIngestionDataSourceSettingCloudStorageResult'],
2143
2304
  platform_logs_settings: Sequence['outputs.GetTopicIngestionDataSourceSettingPlatformLogsSettingResult']):
2144
2305
  """
2145
2306
  :param Sequence['GetTopicIngestionDataSourceSettingAwsKineseArgs'] aws_kineses: Settings for ingestion from Amazon Kinesis Data Streams.
2307
+ :param Sequence['GetTopicIngestionDataSourceSettingAzureEventHubArgs'] azure_event_hubs: Settings for ingestion from Azure Event Hubs.
2146
2308
  :param Sequence['GetTopicIngestionDataSourceSettingCloudStorageArgs'] cloud_storages: Settings for ingestion from Cloud Storage.
2147
2309
  :param Sequence['GetTopicIngestionDataSourceSettingPlatformLogsSettingArgs'] platform_logs_settings: Settings for Platform Logs regarding ingestion to Pub/Sub. If unset,
2148
2310
  no Platform Logs will be generated.'
2149
2311
  """
2150
2312
  pulumi.set(__self__, "aws_kineses", aws_kineses)
2313
+ pulumi.set(__self__, "azure_event_hubs", azure_event_hubs)
2151
2314
  pulumi.set(__self__, "cloud_storages", cloud_storages)
2152
2315
  pulumi.set(__self__, "platform_logs_settings", platform_logs_settings)
2153
2316
 
@@ -2159,6 +2322,14 @@ class GetTopicIngestionDataSourceSettingResult(dict):
2159
2322
  """
2160
2323
  return pulumi.get(self, "aws_kineses")
2161
2324
 
2325
+ @property
2326
+ @pulumi.getter(name="azureEventHubs")
2327
+ def azure_event_hubs(self) -> Sequence['outputs.GetTopicIngestionDataSourceSettingAzureEventHubResult']:
2328
+ """
2329
+ Settings for ingestion from Azure Event Hubs.
2330
+ """
2331
+ return pulumi.get(self, "azure_event_hubs")
2332
+
2162
2333
  @property
2163
2334
  @pulumi.getter(name="cloudStorages")
2164
2335
  def cloud_storages(self) -> Sequence['outputs.GetTopicIngestionDataSourceSettingCloudStorageResult']:
@@ -2242,6 +2413,94 @@ class GetTopicIngestionDataSourceSettingAwsKineseResult(dict):
2242
2413
  return pulumi.get(self, "stream_arn")
2243
2414
 
2244
2415
 
2416
+ @pulumi.output_type
2417
+ class GetTopicIngestionDataSourceSettingAzureEventHubResult(dict):
2418
+ def __init__(__self__, *,
2419
+ client_id: str,
2420
+ event_hub: str,
2421
+ gcp_service_account: str,
2422
+ namespace: str,
2423
+ resource_group: str,
2424
+ subscription_id: str,
2425
+ tenant_id: str):
2426
+ """
2427
+ :param str client_id: The Azure event hub client ID to use for ingestion.
2428
+ :param str event_hub: The Azure event hub to ingest data from.
2429
+ :param str gcp_service_account: The GCP service account to be used for Federated Identity authentication
2430
+ with Azure (via a 'AssumeRoleWithWebIdentity' call for the provided
2431
+ role).
2432
+ :param str namespace: The Azure event hub namespace to ingest data from.
2433
+ :param str resource_group: The name of the resource group within an Azure subscription.
2434
+ :param str subscription_id: The Azure event hub subscription ID to use for ingestion.
2435
+ :param str tenant_id: The Azure event hub tenant ID to use for ingestion.
2436
+ """
2437
+ pulumi.set(__self__, "client_id", client_id)
2438
+ pulumi.set(__self__, "event_hub", event_hub)
2439
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
2440
+ pulumi.set(__self__, "namespace", namespace)
2441
+ pulumi.set(__self__, "resource_group", resource_group)
2442
+ pulumi.set(__self__, "subscription_id", subscription_id)
2443
+ pulumi.set(__self__, "tenant_id", tenant_id)
2444
+
2445
+ @property
2446
+ @pulumi.getter(name="clientId")
2447
+ def client_id(self) -> str:
2448
+ """
2449
+ The Azure event hub client ID to use for ingestion.
2450
+ """
2451
+ return pulumi.get(self, "client_id")
2452
+
2453
+ @property
2454
+ @pulumi.getter(name="eventHub")
2455
+ def event_hub(self) -> str:
2456
+ """
2457
+ The Azure event hub to ingest data from.
2458
+ """
2459
+ return pulumi.get(self, "event_hub")
2460
+
2461
+ @property
2462
+ @pulumi.getter(name="gcpServiceAccount")
2463
+ def gcp_service_account(self) -> str:
2464
+ """
2465
+ The GCP service account to be used for Federated Identity authentication
2466
+ with Azure (via a 'AssumeRoleWithWebIdentity' call for the provided
2467
+ role).
2468
+ """
2469
+ return pulumi.get(self, "gcp_service_account")
2470
+
2471
+ @property
2472
+ @pulumi.getter
2473
+ def namespace(self) -> str:
2474
+ """
2475
+ The Azure event hub namespace to ingest data from.
2476
+ """
2477
+ return pulumi.get(self, "namespace")
2478
+
2479
+ @property
2480
+ @pulumi.getter(name="resourceGroup")
2481
+ def resource_group(self) -> str:
2482
+ """
2483
+ The name of the resource group within an Azure subscription.
2484
+ """
2485
+ return pulumi.get(self, "resource_group")
2486
+
2487
+ @property
2488
+ @pulumi.getter(name="subscriptionId")
2489
+ def subscription_id(self) -> str:
2490
+ """
2491
+ The Azure event hub subscription ID to use for ingestion.
2492
+ """
2493
+ return pulumi.get(self, "subscription_id")
2494
+
2495
+ @property
2496
+ @pulumi.getter(name="tenantId")
2497
+ def tenant_id(self) -> str:
2498
+ """
2499
+ The Azure event hub tenant ID to use for ingestion.
2500
+ """
2501
+ return pulumi.get(self, "tenant_id")
2502
+
2503
+
2245
2504
  @pulumi.output_type
2246
2505
  class GetTopicIngestionDataSourceSettingCloudStorageResult(dict):
2247
2506
  def __init__(__self__, *,
@@ -2396,7 +2655,8 @@ class GetTopicIngestionDataSourceSettingPlatformLogsSettingResult(dict):
2396
2655
  @pulumi.output_type
2397
2656
  class GetTopicMessageStoragePolicyResult(dict):
2398
2657
  def __init__(__self__, *,
2399
- allowed_persistence_regions: Sequence[str]):
2658
+ allowed_persistence_regions: Sequence[str],
2659
+ enforce_in_transit: bool):
2400
2660
  """
2401
2661
  :param Sequence[str] allowed_persistence_regions: A list of IDs of GCP regions where messages that are published to
2402
2662
  the topic may be persisted in storage. Messages published by
@@ -2404,8 +2664,13 @@ class GetTopicMessageStoragePolicyResult(dict):
2404
2664
  of GCP altogether) will be routed for storage in one of the
2405
2665
  allowed regions. An empty list means that no regions are allowed,
2406
2666
  and is not a valid configuration.
2667
+ :param bool enforce_in_transit: If true, 'allowedPersistenceRegions' is also used to enforce in-transit
2668
+ guarantees for messages. That is, Pub/Sub will fail topics.publish
2669
+ operations on this topic and subscribe operations on any subscription
2670
+ attached to this topic in any region that is not in 'allowedPersistenceRegions'.
2407
2671
  """
2408
2672
  pulumi.set(__self__, "allowed_persistence_regions", allowed_persistence_regions)
2673
+ pulumi.set(__self__, "enforce_in_transit", enforce_in_transit)
2409
2674
 
2410
2675
  @property
2411
2676
  @pulumi.getter(name="allowedPersistenceRegions")
@@ -2420,6 +2685,17 @@ class GetTopicMessageStoragePolicyResult(dict):
2420
2685
  """
2421
2686
  return pulumi.get(self, "allowed_persistence_regions")
2422
2687
 
2688
+ @property
2689
+ @pulumi.getter(name="enforceInTransit")
2690
+ def enforce_in_transit(self) -> bool:
2691
+ """
2692
+ If true, 'allowedPersistenceRegions' is also used to enforce in-transit
2693
+ guarantees for messages. That is, Pub/Sub will fail topics.publish
2694
+ operations on this topic and subscribe operations on any subscription
2695
+ attached to this topic in any region that is not in 'allowedPersistenceRegions'.
2696
+ """
2697
+ return pulumi.get(self, "enforce_in_transit")
2698
+
2423
2699
 
2424
2700
  @pulumi.output_type
2425
2701
  class GetTopicSchemaSettingResult(dict):
@@ -483,6 +483,7 @@ class Topic(pulumi.CustomResource):
483
483
  name="example-topic",
484
484
  message_storage_policy={
485
485
  "allowed_persistence_regions": ["europe-west3"],
486
+ "enforce_in_transit": True,
486
487
  })
487
488
  ```
488
489
  ### Pubsub Topic Schema Settings
@@ -556,6 +557,26 @@ class Topic(pulumi.CustomResource):
556
557
  },
557
558
  })
558
559
  ```
560
+ ### Pubsub Topic Ingestion Azure Event Hubs
561
+
562
+ ```python
563
+ import pulumi
564
+ import pulumi_gcp as gcp
565
+
566
+ example = gcp.pubsub.Topic("example",
567
+ name="example-topic",
568
+ ingestion_data_source_settings={
569
+ "azure_event_hubs": {
570
+ "resource_group": "azure-ingestion-resource-group",
571
+ "namespace": "azure-ingestion-namespace",
572
+ "event_hub": "azure-ingestion-event-hub",
573
+ "client_id": "aZZZZZZZ-YYYY-HHHH-GGGG-abcdef569123",
574
+ "tenant_id": "0XXXXXXX-YYYY-HHHH-GGGG-123456789123",
575
+ "subscription_id": "bXXXXXXX-YYYY-HHHH-GGGG-123456789123",
576
+ "gcp_service_account": "fake-service-account@fake-gcp-project.iam.gserviceaccount.com",
577
+ },
578
+ })
579
+ ```
559
580
 
560
581
  ## Import
561
582
 
@@ -674,6 +695,7 @@ class Topic(pulumi.CustomResource):
674
695
  name="example-topic",
675
696
  message_storage_policy={
676
697
  "allowed_persistence_regions": ["europe-west3"],
698
+ "enforce_in_transit": True,
677
699
  })
678
700
  ```
679
701
  ### Pubsub Topic Schema Settings
@@ -747,6 +769,26 @@ class Topic(pulumi.CustomResource):
747
769
  },
748
770
  })
749
771
  ```
772
+ ### Pubsub Topic Ingestion Azure Event Hubs
773
+
774
+ ```python
775
+ import pulumi
776
+ import pulumi_gcp as gcp
777
+
778
+ example = gcp.pubsub.Topic("example",
779
+ name="example-topic",
780
+ ingestion_data_source_settings={
781
+ "azure_event_hubs": {
782
+ "resource_group": "azure-ingestion-resource-group",
783
+ "namespace": "azure-ingestion-namespace",
784
+ "event_hub": "azure-ingestion-event-hub",
785
+ "client_id": "aZZZZZZZ-YYYY-HHHH-GGGG-abcdef569123",
786
+ "tenant_id": "0XXXXXXX-YYYY-HHHH-GGGG-123456789123",
787
+ "subscription_id": "bXXXXXXX-YYYY-HHHH-GGGG-123456789123",
788
+ "gcp_service_account": "fake-service-account@fake-gcp-project.iam.gserviceaccount.com",
789
+ },
790
+ })
791
+ ```
750
792
 
751
793
  ## Import
752
794
 
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "gcp",
4
- "version": "8.17.0-alpha.1738090062"
4
+ "version": "8.17.0-alpha.1738349438"
5
5
  }
@@ -6,6 +6,7 @@ from .. import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
8
  from .cluster import *
9
+ from .cluster_user_created_connections import *
9
10
  from .get_instance import *
10
11
  from .instance import *
11
12
  from ._inputs import *