pulumi-gcp 8.17.0a1738274430__py3-none-any.whl → 8.18.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 (137) hide show
  1. pulumi_gcp/__init__.py +115 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
  3. pulumi_gcp/alloydb/cluster.py +75 -7
  4. pulumi_gcp/alloydb/user.py +10 -1
  5. pulumi_gcp/apigee/_inputs.py +91 -0
  6. pulumi_gcp/apigee/endpoint_attachment.py +0 -64
  7. pulumi_gcp/apigee/environment.py +54 -0
  8. pulumi_gcp/apigee/outputs.py +54 -0
  9. pulumi_gcp/apihub/__init__.py +10 -0
  10. pulumi_gcp/apihub/_inputs.py +154 -0
  11. pulumi_gcp/apihub/api_hub_instance.py +784 -0
  12. pulumi_gcp/apihub/outputs.py +124 -0
  13. pulumi_gcp/assuredworkloads/workload.py +7 -7
  14. pulumi_gcp/beyondcorp/__init__.py +4 -0
  15. pulumi_gcp/beyondcorp/_inputs.py +130 -0
  16. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +180 -0
  17. pulumi_gcp/beyondcorp/outputs.py +76 -0
  18. pulumi_gcp/beyondcorp/security_gateway.py +52 -25
  19. pulumi_gcp/beyondcorp/security_gateway_iam_binding.py +1075 -0
  20. pulumi_gcp/beyondcorp/security_gateway_iam_member.py +1075 -0
  21. pulumi_gcp/beyondcorp/security_gateway_iam_policy.py +894 -0
  22. pulumi_gcp/bigquery/_inputs.py +33 -0
  23. pulumi_gcp/bigquery/dataset.py +7 -7
  24. pulumi_gcp/bigquery/outputs.py +36 -0
  25. pulumi_gcp/bigquery/table.py +61 -7
  26. pulumi_gcp/chronicle/__init__.py +1 -0
  27. pulumi_gcp/chronicle/_inputs.py +124 -0
  28. pulumi_gcp/chronicle/outputs.py +112 -0
  29. pulumi_gcp/chronicle/retrohunt.py +629 -0
  30. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +23 -23
  31. pulumi_gcp/cloudrunv2/_inputs.py +197 -0
  32. pulumi_gcp/cloudrunv2/get_service.py +12 -1
  33. pulumi_gcp/cloudrunv2/outputs.py +256 -0
  34. pulumi_gcp/cloudrunv2/service.py +159 -0
  35. pulumi_gcp/colab/__init__.py +5 -0
  36. pulumi_gcp/colab/_inputs.py +131 -0
  37. pulumi_gcp/colab/get_runtime_template_iam_policy.py +182 -0
  38. pulumi_gcp/colab/outputs.py +92 -0
  39. pulumi_gcp/colab/runtime.py +696 -0
  40. pulumi_gcp/colab/runtime_template_iam_binding.py +828 -0
  41. pulumi_gcp/colab/runtime_template_iam_member.py +828 -0
  42. pulumi_gcp/colab/runtime_template_iam_policy.py +667 -0
  43. pulumi_gcp/compute/__init__.py +4 -0
  44. pulumi_gcp/compute/_inputs.py +535 -9
  45. pulumi_gcp/compute/firewall_policy_rule.py +104 -22
  46. pulumi_gcp/compute/firewall_policy_with_rules.py +114 -42
  47. pulumi_gcp/compute/get_instance_template_iam_policy.py +159 -0
  48. pulumi_gcp/compute/get_network.py +3 -3
  49. pulumi_gcp/compute/instance_template_iam_binding.py +998 -0
  50. pulumi_gcp/compute/instance_template_iam_member.py +998 -0
  51. pulumi_gcp/compute/instance_template_iam_policy.py +817 -0
  52. pulumi_gcp/compute/interconnect_attachment.py +189 -2
  53. pulumi_gcp/compute/network.py +7 -7
  54. pulumi_gcp/compute/network_firewall_policy_rule.py +122 -10
  55. pulumi_gcp/compute/network_firewall_policy_with_rules.py +116 -44
  56. pulumi_gcp/compute/outputs.py +358 -6
  57. pulumi_gcp/compute/project_metadata_item.py +12 -0
  58. pulumi_gcp/compute/public_advertised_prefix.py +87 -0
  59. pulumi_gcp/compute/region_network_firewall_policy_rule.py +130 -10
  60. pulumi_gcp/compute/region_network_firewall_policy_with_rules.py +104 -32
  61. pulumi_gcp/compute/router_peer.py +227 -3
  62. pulumi_gcp/config/__init__.pyi +2 -0
  63. pulumi_gcp/config/vars.py +4 -0
  64. pulumi_gcp/container/_inputs.py +79 -20
  65. pulumi_gcp/container/outputs.py +75 -12
  66. pulumi_gcp/dataproc/_inputs.py +34 -0
  67. pulumi_gcp/dataproc/outputs.py +37 -0
  68. pulumi_gcp/dataproc/workflow_template.py +47 -0
  69. pulumi_gcp/filestore/get_instance.py +12 -1
  70. pulumi_gcp/filestore/instance.py +75 -0
  71. pulumi_gcp/firestore/field.py +60 -0
  72. pulumi_gcp/gemini/code_repository_index.py +29 -33
  73. pulumi_gcp/gemini/get_repository_group_iam_policy.py +28 -2
  74. pulumi_gcp/gemini/repository_group.py +76 -26
  75. pulumi_gcp/gemini/repository_group_iam_binding.py +258 -0
  76. pulumi_gcp/gemini/repository_group_iam_member.py +258 -0
  77. pulumi_gcp/gemini/repository_group_iam_policy.py +258 -0
  78. pulumi_gcp/gkehub/_inputs.py +20 -0
  79. pulumi_gcp/gkehub/membership_binding.py +6 -6
  80. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  81. pulumi_gcp/gkehub/namespace.py +4 -4
  82. pulumi_gcp/gkehub/outputs.py +26 -1
  83. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  84. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  85. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  86. pulumi_gcp/kms/__init__.py +1 -0
  87. pulumi_gcp/kms/get_key_handles.py +172 -0
  88. pulumi_gcp/kms/outputs.py +45 -0
  89. pulumi_gcp/netapp/storage_pool.py +1 -1
  90. pulumi_gcp/networkconnectivity/spoke.py +76 -14
  91. pulumi_gcp/networksecurity/_inputs.py +72 -0
  92. pulumi_gcp/networksecurity/outputs.py +76 -0
  93. pulumi_gcp/networksecurity/security_profile.py +233 -7
  94. pulumi_gcp/networksecurity/security_profile_group.py +218 -0
  95. pulumi_gcp/organizations/__init__.py +1 -0
  96. pulumi_gcp/organizations/get_s.py +128 -0
  97. pulumi_gcp/organizations/outputs.py +63 -0
  98. pulumi_gcp/orgpolicy/policy.py +2 -2
  99. pulumi_gcp/parametermanager/__init__.py +6 -0
  100. pulumi_gcp/parametermanager/get_parameter.py +211 -0
  101. pulumi_gcp/parametermanager/get_parameter_version.py +216 -0
  102. pulumi_gcp/parametermanager/get_parameters.py +140 -0
  103. pulumi_gcp/parametermanager/get_regional_parameter_version.py +235 -0
  104. pulumi_gcp/parametermanager/get_regional_parameters.py +157 -0
  105. pulumi_gcp/parametermanager/outputs.py +366 -0
  106. pulumi_gcp/parametermanager/parameter_version.py +496 -0
  107. pulumi_gcp/parametermanager/regional_parameter_version.py +10 -38
  108. pulumi_gcp/provider.py +20 -0
  109. pulumi_gcp/pubsub/_inputs.py +477 -1
  110. pulumi_gcp/pubsub/outputs.py +631 -2
  111. pulumi_gcp/pubsub/subscription.py +6 -6
  112. pulumi_gcp/pubsub/topic.py +112 -0
  113. pulumi_gcp/pulumi-plugin.json +1 -1
  114. pulumi_gcp/redis/__init__.py +1 -0
  115. pulumi_gcp/redis/_inputs.py +342 -6
  116. pulumi_gcp/redis/cluster.py +223 -102
  117. pulumi_gcp/redis/cluster_user_created_connections.py +845 -0
  118. pulumi_gcp/redis/outputs.py +268 -4
  119. pulumi_gcp/resourcemanager/lien.py +12 -0
  120. pulumi_gcp/secretmanager/regional_secret.py +4 -0
  121. pulumi_gcp/secretmanager/regional_secret_version.py +12 -0
  122. pulumi_gcp/secretmanager/secret.py +4 -0
  123. pulumi_gcp/secretmanager/secret_version.py +12 -0
  124. pulumi_gcp/securityposture/posture.py +4 -0
  125. pulumi_gcp/securityposture/posture_deployment.py +4 -0
  126. pulumi_gcp/serviceaccount/get_s.py +98 -8
  127. pulumi_gcp/spanner/_inputs.py +68 -0
  128. pulumi_gcp/spanner/backup_schedule.py +70 -4
  129. pulumi_gcp/spanner/outputs.py +60 -0
  130. pulumi_gcp/storage/get_bucket_object_content.py +4 -4
  131. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  132. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  133. pulumi_gcp/workflows/workflow.py +175 -0
  134. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/METADATA +1 -1
  135. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/RECORD +137 -110
  136. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/WHEEL +0 -0
  137. {pulumi_gcp-8.17.0a1738274430.dist-info → pulumi_gcp-8.18.0.dist-info}/top_level.txt +0 -0
@@ -38,10 +38,13 @@ __all__ = [
38
38
  'TopicIAMMemberCondition',
39
39
  'TopicIngestionDataSourceSettings',
40
40
  'TopicIngestionDataSourceSettingsAwsKinesis',
41
+ 'TopicIngestionDataSourceSettingsAwsMsk',
42
+ 'TopicIngestionDataSourceSettingsAzureEventHubs',
41
43
  'TopicIngestionDataSourceSettingsCloudStorage',
42
44
  'TopicIngestionDataSourceSettingsCloudStorageAvroFormat',
43
45
  'TopicIngestionDataSourceSettingsCloudStoragePubsubAvroFormat',
44
46
  'TopicIngestionDataSourceSettingsCloudStorageTextFormat',
47
+ 'TopicIngestionDataSourceSettingsConfluentCloud',
45
48
  'TopicIngestionDataSourceSettingsPlatformLogsSettings',
46
49
  'TopicMessageStoragePolicy',
47
50
  'TopicSchemaSettings',
@@ -56,10 +59,13 @@ __all__ = [
56
59
  'GetSubscriptionRetryPolicyResult',
57
60
  'GetTopicIngestionDataSourceSettingResult',
58
61
  'GetTopicIngestionDataSourceSettingAwsKineseResult',
62
+ 'GetTopicIngestionDataSourceSettingAwsMskResult',
63
+ 'GetTopicIngestionDataSourceSettingAzureEventHubResult',
59
64
  'GetTopicIngestionDataSourceSettingCloudStorageResult',
60
65
  'GetTopicIngestionDataSourceSettingCloudStorageAvroFormatResult',
61
66
  'GetTopicIngestionDataSourceSettingCloudStoragePubsubAvroFormatResult',
62
67
  'GetTopicIngestionDataSourceSettingCloudStorageTextFormatResult',
68
+ 'GetTopicIngestionDataSourceSettingConfluentCloudResult',
63
69
  'GetTopicIngestionDataSourceSettingPlatformLogsSettingResult',
64
70
  'GetTopicMessageStoragePolicyResult',
65
71
  'GetTopicSchemaSettingResult',
@@ -1165,8 +1171,14 @@ class TopicIngestionDataSourceSettings(dict):
1165
1171
  suggest = None
1166
1172
  if key == "awsKinesis":
1167
1173
  suggest = "aws_kinesis"
1174
+ elif key == "awsMsk":
1175
+ suggest = "aws_msk"
1176
+ elif key == "azureEventHubs":
1177
+ suggest = "azure_event_hubs"
1168
1178
  elif key == "cloudStorage":
1169
1179
  suggest = "cloud_storage"
1180
+ elif key == "confluentCloud":
1181
+ suggest = "confluent_cloud"
1170
1182
  elif key == "platformLogsSettings":
1171
1183
  suggest = "platform_logs_settings"
1172
1184
 
@@ -1183,21 +1195,36 @@ class TopicIngestionDataSourceSettings(dict):
1183
1195
 
1184
1196
  def __init__(__self__, *,
1185
1197
  aws_kinesis: Optional['outputs.TopicIngestionDataSourceSettingsAwsKinesis'] = None,
1198
+ aws_msk: Optional['outputs.TopicIngestionDataSourceSettingsAwsMsk'] = None,
1199
+ azure_event_hubs: Optional['outputs.TopicIngestionDataSourceSettingsAzureEventHubs'] = None,
1186
1200
  cloud_storage: Optional['outputs.TopicIngestionDataSourceSettingsCloudStorage'] = None,
1201
+ confluent_cloud: Optional['outputs.TopicIngestionDataSourceSettingsConfluentCloud'] = None,
1187
1202
  platform_logs_settings: Optional['outputs.TopicIngestionDataSourceSettingsPlatformLogsSettings'] = None):
1188
1203
  """
1189
1204
  :param 'TopicIngestionDataSourceSettingsAwsKinesisArgs' aws_kinesis: Settings for ingestion from Amazon Kinesis Data Streams.
1190
1205
  Structure is documented below.
1206
+ :param 'TopicIngestionDataSourceSettingsAwsMskArgs' aws_msk: Settings for ingestion from Amazon Managed Streaming for Apache Kafka.
1207
+ Structure is documented below.
1208
+ :param 'TopicIngestionDataSourceSettingsAzureEventHubsArgs' azure_event_hubs: Settings for ingestion from Azure Event Hubs.
1209
+ Structure is documented below.
1191
1210
  :param 'TopicIngestionDataSourceSettingsCloudStorageArgs' cloud_storage: Settings for ingestion from Cloud Storage.
1192
1211
  Structure is documented below.
1212
+ :param 'TopicIngestionDataSourceSettingsConfluentCloudArgs' confluent_cloud: Settings for ingestion from Confluent Cloud.
1213
+ Structure is documented below.
1193
1214
  :param 'TopicIngestionDataSourceSettingsPlatformLogsSettingsArgs' platform_logs_settings: Settings for Platform Logs regarding ingestion to Pub/Sub. If unset,
1194
1215
  no Platform Logs will be generated.'
1195
1216
  Structure is documented below.
1196
1217
  """
1197
1218
  if aws_kinesis is not None:
1198
1219
  pulumi.set(__self__, "aws_kinesis", aws_kinesis)
1220
+ if aws_msk is not None:
1221
+ pulumi.set(__self__, "aws_msk", aws_msk)
1222
+ if azure_event_hubs is not None:
1223
+ pulumi.set(__self__, "azure_event_hubs", azure_event_hubs)
1199
1224
  if cloud_storage is not None:
1200
1225
  pulumi.set(__self__, "cloud_storage", cloud_storage)
1226
+ if confluent_cloud is not None:
1227
+ pulumi.set(__self__, "confluent_cloud", confluent_cloud)
1201
1228
  if platform_logs_settings is not None:
1202
1229
  pulumi.set(__self__, "platform_logs_settings", platform_logs_settings)
1203
1230
 
@@ -1210,6 +1237,24 @@ class TopicIngestionDataSourceSettings(dict):
1210
1237
  """
1211
1238
  return pulumi.get(self, "aws_kinesis")
1212
1239
 
1240
+ @property
1241
+ @pulumi.getter(name="awsMsk")
1242
+ def aws_msk(self) -> Optional['outputs.TopicIngestionDataSourceSettingsAwsMsk']:
1243
+ """
1244
+ Settings for ingestion from Amazon Managed Streaming for Apache Kafka.
1245
+ Structure is documented below.
1246
+ """
1247
+ return pulumi.get(self, "aws_msk")
1248
+
1249
+ @property
1250
+ @pulumi.getter(name="azureEventHubs")
1251
+ def azure_event_hubs(self) -> Optional['outputs.TopicIngestionDataSourceSettingsAzureEventHubs']:
1252
+ """
1253
+ Settings for ingestion from Azure Event Hubs.
1254
+ Structure is documented below.
1255
+ """
1256
+ return pulumi.get(self, "azure_event_hubs")
1257
+
1213
1258
  @property
1214
1259
  @pulumi.getter(name="cloudStorage")
1215
1260
  def cloud_storage(self) -> Optional['outputs.TopicIngestionDataSourceSettingsCloudStorage']:
@@ -1219,6 +1264,15 @@ class TopicIngestionDataSourceSettings(dict):
1219
1264
  """
1220
1265
  return pulumi.get(self, "cloud_storage")
1221
1266
 
1267
+ @property
1268
+ @pulumi.getter(name="confluentCloud")
1269
+ def confluent_cloud(self) -> Optional['outputs.TopicIngestionDataSourceSettingsConfluentCloud']:
1270
+ """
1271
+ Settings for ingestion from Confluent Cloud.
1272
+ Structure is documented below.
1273
+ """
1274
+ return pulumi.get(self, "confluent_cloud")
1275
+
1222
1276
  @property
1223
1277
  @pulumi.getter(name="platformLogsSettings")
1224
1278
  def platform_logs_settings(self) -> Optional['outputs.TopicIngestionDataSourceSettingsPlatformLogsSettings']:
@@ -1318,6 +1372,210 @@ class TopicIngestionDataSourceSettingsAwsKinesis(dict):
1318
1372
  return pulumi.get(self, "stream_arn")
1319
1373
 
1320
1374
 
1375
+ @pulumi.output_type
1376
+ class TopicIngestionDataSourceSettingsAwsMsk(dict):
1377
+ @staticmethod
1378
+ def __key_warning(key: str):
1379
+ suggest = None
1380
+ if key == "awsRoleArn":
1381
+ suggest = "aws_role_arn"
1382
+ elif key == "clusterArn":
1383
+ suggest = "cluster_arn"
1384
+ elif key == "gcpServiceAccount":
1385
+ suggest = "gcp_service_account"
1386
+
1387
+ if suggest:
1388
+ pulumi.log.warn(f"Key '{key}' not found in TopicIngestionDataSourceSettingsAwsMsk. Access the value via the '{suggest}' property getter instead.")
1389
+
1390
+ def __getitem__(self, key: str) -> Any:
1391
+ TopicIngestionDataSourceSettingsAwsMsk.__key_warning(key)
1392
+ return super().__getitem__(key)
1393
+
1394
+ def get(self, key: str, default = None) -> Any:
1395
+ TopicIngestionDataSourceSettingsAwsMsk.__key_warning(key)
1396
+ return super().get(key, default)
1397
+
1398
+ def __init__(__self__, *,
1399
+ aws_role_arn: str,
1400
+ cluster_arn: str,
1401
+ gcp_service_account: str,
1402
+ topic: str):
1403
+ """
1404
+ :param str aws_role_arn: AWS role ARN to be used for Federated Identity authentication with
1405
+ MSK. Check the Pub/Sub docs for how to set up this role and the
1406
+ required permissions that need to be attached to it.
1407
+ :param str cluster_arn: ARN that uniquely identifies the MSK cluster.
1408
+ :param str gcp_service_account: The GCP service account to be used for Federated Identity authentication
1409
+ with MSK (via a `AssumeRoleWithWebIdentity` call for the provided
1410
+ role). The `awsRoleArn` must be set up with `accounts.google.com:sub`
1411
+ equals to this service account number.
1412
+ :param str topic: The name of the MSK topic that Pub/Sub will import from.
1413
+ """
1414
+ pulumi.set(__self__, "aws_role_arn", aws_role_arn)
1415
+ pulumi.set(__self__, "cluster_arn", cluster_arn)
1416
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
1417
+ pulumi.set(__self__, "topic", topic)
1418
+
1419
+ @property
1420
+ @pulumi.getter(name="awsRoleArn")
1421
+ def aws_role_arn(self) -> str:
1422
+ """
1423
+ AWS role ARN to be used for Federated Identity authentication with
1424
+ MSK. Check the Pub/Sub docs for how to set up this role and the
1425
+ required permissions that need to be attached to it.
1426
+ """
1427
+ return pulumi.get(self, "aws_role_arn")
1428
+
1429
+ @property
1430
+ @pulumi.getter(name="clusterArn")
1431
+ def cluster_arn(self) -> str:
1432
+ """
1433
+ ARN that uniquely identifies the MSK cluster.
1434
+ """
1435
+ return pulumi.get(self, "cluster_arn")
1436
+
1437
+ @property
1438
+ @pulumi.getter(name="gcpServiceAccount")
1439
+ def gcp_service_account(self) -> str:
1440
+ """
1441
+ The GCP service account to be used for Federated Identity authentication
1442
+ with MSK (via a `AssumeRoleWithWebIdentity` call for the provided
1443
+ role). The `awsRoleArn` must be set up with `accounts.google.com:sub`
1444
+ equals to this service account number.
1445
+ """
1446
+ return pulumi.get(self, "gcp_service_account")
1447
+
1448
+ @property
1449
+ @pulumi.getter
1450
+ def topic(self) -> str:
1451
+ """
1452
+ The name of the MSK topic that Pub/Sub will import from.
1453
+ """
1454
+ return pulumi.get(self, "topic")
1455
+
1456
+
1457
+ @pulumi.output_type
1458
+ class TopicIngestionDataSourceSettingsAzureEventHubs(dict):
1459
+ @staticmethod
1460
+ def __key_warning(key: str):
1461
+ suggest = None
1462
+ if key == "clientId":
1463
+ suggest = "client_id"
1464
+ elif key == "eventHub":
1465
+ suggest = "event_hub"
1466
+ elif key == "gcpServiceAccount":
1467
+ suggest = "gcp_service_account"
1468
+ elif key == "resourceGroup":
1469
+ suggest = "resource_group"
1470
+ elif key == "subscriptionId":
1471
+ suggest = "subscription_id"
1472
+ elif key == "tenantId":
1473
+ suggest = "tenant_id"
1474
+
1475
+ if suggest:
1476
+ pulumi.log.warn(f"Key '{key}' not found in TopicIngestionDataSourceSettingsAzureEventHubs. Access the value via the '{suggest}' property getter instead.")
1477
+
1478
+ def __getitem__(self, key: str) -> Any:
1479
+ TopicIngestionDataSourceSettingsAzureEventHubs.__key_warning(key)
1480
+ return super().__getitem__(key)
1481
+
1482
+ def get(self, key: str, default = None) -> Any:
1483
+ TopicIngestionDataSourceSettingsAzureEventHubs.__key_warning(key)
1484
+ return super().get(key, default)
1485
+
1486
+ def __init__(__self__, *,
1487
+ client_id: Optional[str] = None,
1488
+ event_hub: Optional[str] = None,
1489
+ gcp_service_account: Optional[str] = None,
1490
+ namespace: Optional[str] = None,
1491
+ resource_group: Optional[str] = None,
1492
+ subscription_id: Optional[str] = None,
1493
+ tenant_id: Optional[str] = None):
1494
+ """
1495
+ :param str client_id: The Azure event hub client ID to use for ingestion.
1496
+ :param str event_hub: The Azure event hub to ingest data from.
1497
+ :param str gcp_service_account: The GCP service account to be used for Federated Identity authentication
1498
+ with Azure (via a `AssumeRoleWithWebIdentity` call for the provided
1499
+ role).
1500
+ :param str namespace: The Azure event hub namespace to ingest data from.
1501
+ :param str resource_group: The name of the resource group within an Azure subscription.
1502
+ :param str subscription_id: The Azure event hub subscription ID to use for ingestion.
1503
+ :param str tenant_id: The Azure event hub tenant ID to use for ingestion.
1504
+ """
1505
+ if client_id is not None:
1506
+ pulumi.set(__self__, "client_id", client_id)
1507
+ if event_hub is not None:
1508
+ pulumi.set(__self__, "event_hub", event_hub)
1509
+ if gcp_service_account is not None:
1510
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
1511
+ if namespace is not None:
1512
+ pulumi.set(__self__, "namespace", namespace)
1513
+ if resource_group is not None:
1514
+ pulumi.set(__self__, "resource_group", resource_group)
1515
+ if subscription_id is not None:
1516
+ pulumi.set(__self__, "subscription_id", subscription_id)
1517
+ if tenant_id is not None:
1518
+ pulumi.set(__self__, "tenant_id", tenant_id)
1519
+
1520
+ @property
1521
+ @pulumi.getter(name="clientId")
1522
+ def client_id(self) -> Optional[str]:
1523
+ """
1524
+ The Azure event hub client ID to use for ingestion.
1525
+ """
1526
+ return pulumi.get(self, "client_id")
1527
+
1528
+ @property
1529
+ @pulumi.getter(name="eventHub")
1530
+ def event_hub(self) -> Optional[str]:
1531
+ """
1532
+ The Azure event hub to ingest data from.
1533
+ """
1534
+ return pulumi.get(self, "event_hub")
1535
+
1536
+ @property
1537
+ @pulumi.getter(name="gcpServiceAccount")
1538
+ def gcp_service_account(self) -> Optional[str]:
1539
+ """
1540
+ The GCP service account to be used for Federated Identity authentication
1541
+ with Azure (via a `AssumeRoleWithWebIdentity` call for the provided
1542
+ role).
1543
+ """
1544
+ return pulumi.get(self, "gcp_service_account")
1545
+
1546
+ @property
1547
+ @pulumi.getter
1548
+ def namespace(self) -> Optional[str]:
1549
+ """
1550
+ The Azure event hub namespace to ingest data from.
1551
+ """
1552
+ return pulumi.get(self, "namespace")
1553
+
1554
+ @property
1555
+ @pulumi.getter(name="resourceGroup")
1556
+ def resource_group(self) -> Optional[str]:
1557
+ """
1558
+ The name of the resource group within an Azure subscription.
1559
+ """
1560
+ return pulumi.get(self, "resource_group")
1561
+
1562
+ @property
1563
+ @pulumi.getter(name="subscriptionId")
1564
+ def subscription_id(self) -> Optional[str]:
1565
+ """
1566
+ The Azure event hub subscription ID to use for ingestion.
1567
+ """
1568
+ return pulumi.get(self, "subscription_id")
1569
+
1570
+ @property
1571
+ @pulumi.getter(name="tenantId")
1572
+ def tenant_id(self) -> Optional[str]:
1573
+ """
1574
+ The Azure event hub tenant ID to use for ingestion.
1575
+ """
1576
+ return pulumi.get(self, "tenant_id")
1577
+
1578
+
1321
1579
  @pulumi.output_type
1322
1580
  class TopicIngestionDataSourceSettingsCloudStorage(dict):
1323
1581
  @staticmethod
@@ -1482,6 +1740,94 @@ class TopicIngestionDataSourceSettingsCloudStorageTextFormat(dict):
1482
1740
  return pulumi.get(self, "delimiter")
1483
1741
 
1484
1742
 
1743
+ @pulumi.output_type
1744
+ class TopicIngestionDataSourceSettingsConfluentCloud(dict):
1745
+ @staticmethod
1746
+ def __key_warning(key: str):
1747
+ suggest = None
1748
+ if key == "bootstrapServer":
1749
+ suggest = "bootstrap_server"
1750
+ elif key == "gcpServiceAccount":
1751
+ suggest = "gcp_service_account"
1752
+ elif key == "identityPoolId":
1753
+ suggest = "identity_pool_id"
1754
+ elif key == "clusterId":
1755
+ suggest = "cluster_id"
1756
+
1757
+ if suggest:
1758
+ pulumi.log.warn(f"Key '{key}' not found in TopicIngestionDataSourceSettingsConfluentCloud. Access the value via the '{suggest}' property getter instead.")
1759
+
1760
+ def __getitem__(self, key: str) -> Any:
1761
+ TopicIngestionDataSourceSettingsConfluentCloud.__key_warning(key)
1762
+ return super().__getitem__(key)
1763
+
1764
+ def get(self, key: str, default = None) -> Any:
1765
+ TopicIngestionDataSourceSettingsConfluentCloud.__key_warning(key)
1766
+ return super().get(key, default)
1767
+
1768
+ def __init__(__self__, *,
1769
+ bootstrap_server: str,
1770
+ gcp_service_account: str,
1771
+ identity_pool_id: str,
1772
+ topic: str,
1773
+ cluster_id: Optional[str] = None):
1774
+ """
1775
+ :param str bootstrap_server: The Confluent Cloud bootstrap server. The format is url:port.
1776
+ :param str gcp_service_account: The GCP service account to be used for Federated Identity authentication
1777
+ with Confluent Cloud.
1778
+ :param str identity_pool_id: Identity pool ID to be used for Federated Identity authentication with Confluent Cloud.
1779
+ :param str topic: Name of the Confluent Cloud topic that Pub/Sub will import from.
1780
+ :param str cluster_id: The Confluent Cloud cluster ID.
1781
+ """
1782
+ pulumi.set(__self__, "bootstrap_server", bootstrap_server)
1783
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
1784
+ pulumi.set(__self__, "identity_pool_id", identity_pool_id)
1785
+ pulumi.set(__self__, "topic", topic)
1786
+ if cluster_id is not None:
1787
+ pulumi.set(__self__, "cluster_id", cluster_id)
1788
+
1789
+ @property
1790
+ @pulumi.getter(name="bootstrapServer")
1791
+ def bootstrap_server(self) -> str:
1792
+ """
1793
+ The Confluent Cloud bootstrap server. The format is url:port.
1794
+ """
1795
+ return pulumi.get(self, "bootstrap_server")
1796
+
1797
+ @property
1798
+ @pulumi.getter(name="gcpServiceAccount")
1799
+ def gcp_service_account(self) -> str:
1800
+ """
1801
+ The GCP service account to be used for Federated Identity authentication
1802
+ with Confluent Cloud.
1803
+ """
1804
+ return pulumi.get(self, "gcp_service_account")
1805
+
1806
+ @property
1807
+ @pulumi.getter(name="identityPoolId")
1808
+ def identity_pool_id(self) -> str:
1809
+ """
1810
+ Identity pool ID to be used for Federated Identity authentication with Confluent Cloud.
1811
+ """
1812
+ return pulumi.get(self, "identity_pool_id")
1813
+
1814
+ @property
1815
+ @pulumi.getter
1816
+ def topic(self) -> str:
1817
+ """
1818
+ Name of the Confluent Cloud topic that Pub/Sub will import from.
1819
+ """
1820
+ return pulumi.get(self, "topic")
1821
+
1822
+ @property
1823
+ @pulumi.getter(name="clusterId")
1824
+ def cluster_id(self) -> Optional[str]:
1825
+ """
1826
+ The Confluent Cloud cluster ID.
1827
+ """
1828
+ return pulumi.get(self, "cluster_id")
1829
+
1830
+
1485
1831
  @pulumi.output_type
1486
1832
  class TopicIngestionDataSourceSettingsPlatformLogsSettings(dict):
1487
1833
  def __init__(__self__, *,
@@ -1514,6 +1860,8 @@ class TopicMessageStoragePolicy(dict):
1514
1860
  suggest = None
1515
1861
  if key == "allowedPersistenceRegions":
1516
1862
  suggest = "allowed_persistence_regions"
1863
+ elif key == "enforceInTransit":
1864
+ suggest = "enforce_in_transit"
1517
1865
 
1518
1866
  if suggest:
1519
1867
  pulumi.log.warn(f"Key '{key}' not found in TopicMessageStoragePolicy. Access the value via the '{suggest}' property getter instead.")
@@ -1527,7 +1875,8 @@ class TopicMessageStoragePolicy(dict):
1527
1875
  return super().get(key, default)
1528
1876
 
1529
1877
  def __init__(__self__, *,
1530
- allowed_persistence_regions: Sequence[str]):
1878
+ allowed_persistence_regions: Sequence[str],
1879
+ enforce_in_transit: Optional[bool] = None):
1531
1880
  """
1532
1881
  :param Sequence[str] allowed_persistence_regions: A list of IDs of GCP regions where messages that are published to
1533
1882
  the topic may be persisted in storage. Messages published by
@@ -1535,8 +1884,14 @@ class TopicMessageStoragePolicy(dict):
1535
1884
  of GCP altogether) will be routed for storage in one of the
1536
1885
  allowed regions. An empty list means that no regions are allowed,
1537
1886
  and is not a valid configuration.
1887
+ :param bool enforce_in_transit: If true, `allowedPersistenceRegions` is also used to enforce in-transit
1888
+ guarantees for messages. That is, Pub/Sub will fail topics.publish
1889
+ operations on this topic and subscribe operations on any subscription
1890
+ attached to this topic in any region that is not in `allowedPersistenceRegions`.
1538
1891
  """
1539
1892
  pulumi.set(__self__, "allowed_persistence_regions", allowed_persistence_regions)
1893
+ if enforce_in_transit is not None:
1894
+ pulumi.set(__self__, "enforce_in_transit", enforce_in_transit)
1540
1895
 
1541
1896
  @property
1542
1897
  @pulumi.getter(name="allowedPersistenceRegions")
@@ -1551,6 +1906,17 @@ class TopicMessageStoragePolicy(dict):
1551
1906
  """
1552
1907
  return pulumi.get(self, "allowed_persistence_regions")
1553
1908
 
1909
+ @property
1910
+ @pulumi.getter(name="enforceInTransit")
1911
+ def enforce_in_transit(self) -> Optional[bool]:
1912
+ """
1913
+ If true, `allowedPersistenceRegions` is also used to enforce in-transit
1914
+ guarantees for messages. That is, Pub/Sub will fail topics.publish
1915
+ operations on this topic and subscribe operations on any subscription
1916
+ attached to this topic in any region that is not in `allowedPersistenceRegions`.
1917
+ """
1918
+ return pulumi.get(self, "enforce_in_transit")
1919
+
1554
1920
 
1555
1921
  @pulumi.output_type
1556
1922
  class TopicSchemaSettings(dict):
@@ -2139,16 +2505,25 @@ class GetSubscriptionRetryPolicyResult(dict):
2139
2505
  class GetTopicIngestionDataSourceSettingResult(dict):
2140
2506
  def __init__(__self__, *,
2141
2507
  aws_kineses: Sequence['outputs.GetTopicIngestionDataSourceSettingAwsKineseResult'],
2508
+ aws_msks: Sequence['outputs.GetTopicIngestionDataSourceSettingAwsMskResult'],
2509
+ azure_event_hubs: Sequence['outputs.GetTopicIngestionDataSourceSettingAzureEventHubResult'],
2142
2510
  cloud_storages: Sequence['outputs.GetTopicIngestionDataSourceSettingCloudStorageResult'],
2511
+ confluent_clouds: Sequence['outputs.GetTopicIngestionDataSourceSettingConfluentCloudResult'],
2143
2512
  platform_logs_settings: Sequence['outputs.GetTopicIngestionDataSourceSettingPlatformLogsSettingResult']):
2144
2513
  """
2145
2514
  :param Sequence['GetTopicIngestionDataSourceSettingAwsKineseArgs'] aws_kineses: Settings for ingestion from Amazon Kinesis Data Streams.
2515
+ :param Sequence['GetTopicIngestionDataSourceSettingAwsMskArgs'] aws_msks: Settings for ingestion from Amazon Managed Streaming for Apache Kafka.
2516
+ :param Sequence['GetTopicIngestionDataSourceSettingAzureEventHubArgs'] azure_event_hubs: Settings for ingestion from Azure Event Hubs.
2146
2517
  :param Sequence['GetTopicIngestionDataSourceSettingCloudStorageArgs'] cloud_storages: Settings for ingestion from Cloud Storage.
2518
+ :param Sequence['GetTopicIngestionDataSourceSettingConfluentCloudArgs'] confluent_clouds: Settings for ingestion from Confluent Cloud.
2147
2519
  :param Sequence['GetTopicIngestionDataSourceSettingPlatformLogsSettingArgs'] platform_logs_settings: Settings for Platform Logs regarding ingestion to Pub/Sub. If unset,
2148
2520
  no Platform Logs will be generated.'
2149
2521
  """
2150
2522
  pulumi.set(__self__, "aws_kineses", aws_kineses)
2523
+ pulumi.set(__self__, "aws_msks", aws_msks)
2524
+ pulumi.set(__self__, "azure_event_hubs", azure_event_hubs)
2151
2525
  pulumi.set(__self__, "cloud_storages", cloud_storages)
2526
+ pulumi.set(__self__, "confluent_clouds", confluent_clouds)
2152
2527
  pulumi.set(__self__, "platform_logs_settings", platform_logs_settings)
2153
2528
 
2154
2529
  @property
@@ -2159,6 +2534,22 @@ class GetTopicIngestionDataSourceSettingResult(dict):
2159
2534
  """
2160
2535
  return pulumi.get(self, "aws_kineses")
2161
2536
 
2537
+ @property
2538
+ @pulumi.getter(name="awsMsks")
2539
+ def aws_msks(self) -> Sequence['outputs.GetTopicIngestionDataSourceSettingAwsMskResult']:
2540
+ """
2541
+ Settings for ingestion from Amazon Managed Streaming for Apache Kafka.
2542
+ """
2543
+ return pulumi.get(self, "aws_msks")
2544
+
2545
+ @property
2546
+ @pulumi.getter(name="azureEventHubs")
2547
+ def azure_event_hubs(self) -> Sequence['outputs.GetTopicIngestionDataSourceSettingAzureEventHubResult']:
2548
+ """
2549
+ Settings for ingestion from Azure Event Hubs.
2550
+ """
2551
+ return pulumi.get(self, "azure_event_hubs")
2552
+
2162
2553
  @property
2163
2554
  @pulumi.getter(name="cloudStorages")
2164
2555
  def cloud_storages(self) -> Sequence['outputs.GetTopicIngestionDataSourceSettingCloudStorageResult']:
@@ -2167,6 +2558,14 @@ class GetTopicIngestionDataSourceSettingResult(dict):
2167
2558
  """
2168
2559
  return pulumi.get(self, "cloud_storages")
2169
2560
 
2561
+ @property
2562
+ @pulumi.getter(name="confluentClouds")
2563
+ def confluent_clouds(self) -> Sequence['outputs.GetTopicIngestionDataSourceSettingConfluentCloudResult']:
2564
+ """
2565
+ Settings for ingestion from Confluent Cloud.
2566
+ """
2567
+ return pulumi.get(self, "confluent_clouds")
2568
+
2170
2569
  @property
2171
2570
  @pulumi.getter(name="platformLogsSettings")
2172
2571
  def platform_logs_settings(self) -> Sequence['outputs.GetTopicIngestionDataSourceSettingPlatformLogsSettingResult']:
@@ -2242,6 +2641,155 @@ class GetTopicIngestionDataSourceSettingAwsKineseResult(dict):
2242
2641
  return pulumi.get(self, "stream_arn")
2243
2642
 
2244
2643
 
2644
+ @pulumi.output_type
2645
+ class GetTopicIngestionDataSourceSettingAwsMskResult(dict):
2646
+ def __init__(__self__, *,
2647
+ aws_role_arn: str,
2648
+ cluster_arn: str,
2649
+ gcp_service_account: str,
2650
+ topic: str):
2651
+ """
2652
+ :param str aws_role_arn: AWS role ARN to be used for Federated Identity authentication with
2653
+ MSK. Check the Pub/Sub docs for how to set up this role and the
2654
+ required permissions that need to be attached to it.
2655
+ :param str cluster_arn: ARN that uniquely identifies the MSK cluster.
2656
+ :param str gcp_service_account: The GCP service account to be used for Federated Identity authentication
2657
+ with MSK (via a 'AssumeRoleWithWebIdentity' call for the provided
2658
+ role). The 'awsRoleArn' must be set up with 'accounts.google.com:sub'
2659
+ equals to this service account number.
2660
+ :param str topic: The name of the MSK topic that Pub/Sub will import from.
2661
+ """
2662
+ pulumi.set(__self__, "aws_role_arn", aws_role_arn)
2663
+ pulumi.set(__self__, "cluster_arn", cluster_arn)
2664
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
2665
+ pulumi.set(__self__, "topic", topic)
2666
+
2667
+ @property
2668
+ @pulumi.getter(name="awsRoleArn")
2669
+ def aws_role_arn(self) -> str:
2670
+ """
2671
+ AWS role ARN to be used for Federated Identity authentication with
2672
+ MSK. Check the Pub/Sub docs for how to set up this role and the
2673
+ required permissions that need to be attached to it.
2674
+ """
2675
+ return pulumi.get(self, "aws_role_arn")
2676
+
2677
+ @property
2678
+ @pulumi.getter(name="clusterArn")
2679
+ def cluster_arn(self) -> str:
2680
+ """
2681
+ ARN that uniquely identifies the MSK cluster.
2682
+ """
2683
+ return pulumi.get(self, "cluster_arn")
2684
+
2685
+ @property
2686
+ @pulumi.getter(name="gcpServiceAccount")
2687
+ def gcp_service_account(self) -> str:
2688
+ """
2689
+ The GCP service account to be used for Federated Identity authentication
2690
+ with MSK (via a 'AssumeRoleWithWebIdentity' call for the provided
2691
+ role). The 'awsRoleArn' must be set up with 'accounts.google.com:sub'
2692
+ equals to this service account number.
2693
+ """
2694
+ return pulumi.get(self, "gcp_service_account")
2695
+
2696
+ @property
2697
+ @pulumi.getter
2698
+ def topic(self) -> str:
2699
+ """
2700
+ The name of the MSK topic that Pub/Sub will import from.
2701
+ """
2702
+ return pulumi.get(self, "topic")
2703
+
2704
+
2705
+ @pulumi.output_type
2706
+ class GetTopicIngestionDataSourceSettingAzureEventHubResult(dict):
2707
+ def __init__(__self__, *,
2708
+ client_id: str,
2709
+ event_hub: str,
2710
+ gcp_service_account: str,
2711
+ namespace: str,
2712
+ resource_group: str,
2713
+ subscription_id: str,
2714
+ tenant_id: str):
2715
+ """
2716
+ :param str client_id: The Azure event hub client ID to use for ingestion.
2717
+ :param str event_hub: The Azure event hub to ingest data from.
2718
+ :param str gcp_service_account: The GCP service account to be used for Federated Identity authentication
2719
+ with Azure (via a 'AssumeRoleWithWebIdentity' call for the provided
2720
+ role).
2721
+ :param str namespace: The Azure event hub namespace to ingest data from.
2722
+ :param str resource_group: The name of the resource group within an Azure subscription.
2723
+ :param str subscription_id: The Azure event hub subscription ID to use for ingestion.
2724
+ :param str tenant_id: The Azure event hub tenant ID to use for ingestion.
2725
+ """
2726
+ pulumi.set(__self__, "client_id", client_id)
2727
+ pulumi.set(__self__, "event_hub", event_hub)
2728
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
2729
+ pulumi.set(__self__, "namespace", namespace)
2730
+ pulumi.set(__self__, "resource_group", resource_group)
2731
+ pulumi.set(__self__, "subscription_id", subscription_id)
2732
+ pulumi.set(__self__, "tenant_id", tenant_id)
2733
+
2734
+ @property
2735
+ @pulumi.getter(name="clientId")
2736
+ def client_id(self) -> str:
2737
+ """
2738
+ The Azure event hub client ID to use for ingestion.
2739
+ """
2740
+ return pulumi.get(self, "client_id")
2741
+
2742
+ @property
2743
+ @pulumi.getter(name="eventHub")
2744
+ def event_hub(self) -> str:
2745
+ """
2746
+ The Azure event hub to ingest data from.
2747
+ """
2748
+ return pulumi.get(self, "event_hub")
2749
+
2750
+ @property
2751
+ @pulumi.getter(name="gcpServiceAccount")
2752
+ def gcp_service_account(self) -> str:
2753
+ """
2754
+ The GCP service account to be used for Federated Identity authentication
2755
+ with Azure (via a 'AssumeRoleWithWebIdentity' call for the provided
2756
+ role).
2757
+ """
2758
+ return pulumi.get(self, "gcp_service_account")
2759
+
2760
+ @property
2761
+ @pulumi.getter
2762
+ def namespace(self) -> str:
2763
+ """
2764
+ The Azure event hub namespace to ingest data from.
2765
+ """
2766
+ return pulumi.get(self, "namespace")
2767
+
2768
+ @property
2769
+ @pulumi.getter(name="resourceGroup")
2770
+ def resource_group(self) -> str:
2771
+ """
2772
+ The name of the resource group within an Azure subscription.
2773
+ """
2774
+ return pulumi.get(self, "resource_group")
2775
+
2776
+ @property
2777
+ @pulumi.getter(name="subscriptionId")
2778
+ def subscription_id(self) -> str:
2779
+ """
2780
+ The Azure event hub subscription ID to use for ingestion.
2781
+ """
2782
+ return pulumi.get(self, "subscription_id")
2783
+
2784
+ @property
2785
+ @pulumi.getter(name="tenantId")
2786
+ def tenant_id(self) -> str:
2787
+ """
2788
+ The Azure event hub tenant ID to use for ingestion.
2789
+ """
2790
+ return pulumi.get(self, "tenant_id")
2791
+
2792
+
2245
2793
  @pulumi.output_type
2246
2794
  class GetTopicIngestionDataSourceSettingCloudStorageResult(dict):
2247
2795
  def __init__(__self__, *,
@@ -2373,6 +2921,70 @@ class GetTopicIngestionDataSourceSettingCloudStorageTextFormatResult(dict):
2373
2921
  return pulumi.get(self, "delimiter")
2374
2922
 
2375
2923
 
2924
+ @pulumi.output_type
2925
+ class GetTopicIngestionDataSourceSettingConfluentCloudResult(dict):
2926
+ def __init__(__self__, *,
2927
+ bootstrap_server: str,
2928
+ cluster_id: str,
2929
+ gcp_service_account: str,
2930
+ identity_pool_id: str,
2931
+ topic: str):
2932
+ """
2933
+ :param str bootstrap_server: The Confluent Cloud bootstrap server. The format is url:port.
2934
+ :param str cluster_id: The Confluent Cloud cluster ID.
2935
+ :param str gcp_service_account: The GCP service account to be used for Federated Identity authentication
2936
+ with Confluent Cloud.
2937
+ :param str identity_pool_id: Identity pool ID to be used for Federated Identity authentication with Confluent Cloud.
2938
+ :param str topic: Name of the Confluent Cloud topic that Pub/Sub will import from.
2939
+ """
2940
+ pulumi.set(__self__, "bootstrap_server", bootstrap_server)
2941
+ pulumi.set(__self__, "cluster_id", cluster_id)
2942
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
2943
+ pulumi.set(__self__, "identity_pool_id", identity_pool_id)
2944
+ pulumi.set(__self__, "topic", topic)
2945
+
2946
+ @property
2947
+ @pulumi.getter(name="bootstrapServer")
2948
+ def bootstrap_server(self) -> str:
2949
+ """
2950
+ The Confluent Cloud bootstrap server. The format is url:port.
2951
+ """
2952
+ return pulumi.get(self, "bootstrap_server")
2953
+
2954
+ @property
2955
+ @pulumi.getter(name="clusterId")
2956
+ def cluster_id(self) -> str:
2957
+ """
2958
+ The Confluent Cloud cluster ID.
2959
+ """
2960
+ return pulumi.get(self, "cluster_id")
2961
+
2962
+ @property
2963
+ @pulumi.getter(name="gcpServiceAccount")
2964
+ def gcp_service_account(self) -> str:
2965
+ """
2966
+ The GCP service account to be used for Federated Identity authentication
2967
+ with Confluent Cloud.
2968
+ """
2969
+ return pulumi.get(self, "gcp_service_account")
2970
+
2971
+ @property
2972
+ @pulumi.getter(name="identityPoolId")
2973
+ def identity_pool_id(self) -> str:
2974
+ """
2975
+ Identity pool ID to be used for Federated Identity authentication with Confluent Cloud.
2976
+ """
2977
+ return pulumi.get(self, "identity_pool_id")
2978
+
2979
+ @property
2980
+ @pulumi.getter
2981
+ def topic(self) -> str:
2982
+ """
2983
+ Name of the Confluent Cloud topic that Pub/Sub will import from.
2984
+ """
2985
+ return pulumi.get(self, "topic")
2986
+
2987
+
2376
2988
  @pulumi.output_type
2377
2989
  class GetTopicIngestionDataSourceSettingPlatformLogsSettingResult(dict):
2378
2990
  def __init__(__self__, *,
@@ -2396,7 +3008,8 @@ class GetTopicIngestionDataSourceSettingPlatformLogsSettingResult(dict):
2396
3008
  @pulumi.output_type
2397
3009
  class GetTopicMessageStoragePolicyResult(dict):
2398
3010
  def __init__(__self__, *,
2399
- allowed_persistence_regions: Sequence[str]):
3011
+ allowed_persistence_regions: Sequence[str],
3012
+ enforce_in_transit: bool):
2400
3013
  """
2401
3014
  :param Sequence[str] allowed_persistence_regions: A list of IDs of GCP regions where messages that are published to
2402
3015
  the topic may be persisted in storage. Messages published by
@@ -2404,8 +3017,13 @@ class GetTopicMessageStoragePolicyResult(dict):
2404
3017
  of GCP altogether) will be routed for storage in one of the
2405
3018
  allowed regions. An empty list means that no regions are allowed,
2406
3019
  and is not a valid configuration.
3020
+ :param bool enforce_in_transit: If true, 'allowedPersistenceRegions' is also used to enforce in-transit
3021
+ guarantees for messages. That is, Pub/Sub will fail topics.publish
3022
+ operations on this topic and subscribe operations on any subscription
3023
+ attached to this topic in any region that is not in 'allowedPersistenceRegions'.
2407
3024
  """
2408
3025
  pulumi.set(__self__, "allowed_persistence_regions", allowed_persistence_regions)
3026
+ pulumi.set(__self__, "enforce_in_transit", enforce_in_transit)
2409
3027
 
2410
3028
  @property
2411
3029
  @pulumi.getter(name="allowedPersistenceRegions")
@@ -2420,6 +3038,17 @@ class GetTopicMessageStoragePolicyResult(dict):
2420
3038
  """
2421
3039
  return pulumi.get(self, "allowed_persistence_regions")
2422
3040
 
3041
+ @property
3042
+ @pulumi.getter(name="enforceInTransit")
3043
+ def enforce_in_transit(self) -> bool:
3044
+ """
3045
+ If true, 'allowedPersistenceRegions' is also used to enforce in-transit
3046
+ guarantees for messages. That is, Pub/Sub will fail topics.publish
3047
+ operations on this topic and subscribe operations on any subscription
3048
+ attached to this topic in any region that is not in 'allowedPersistenceRegions'.
3049
+ """
3050
+ return pulumi.get(self, "enforce_in_transit")
3051
+
2423
3052
 
2424
3053
  @pulumi.output_type
2425
3054
  class GetTopicSchemaSettingResult(dict):