pulumi-gcp 8.17.0a1738349438__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 (69) hide show
  1. pulumi_gcp/__init__.py +24 -0
  2. pulumi_gcp/accesscontextmanager/service_perimeter_dry_run_resource.py +28 -0
  3. pulumi_gcp/alloydb/user.py +10 -1
  4. pulumi_gcp/assuredworkloads/workload.py +7 -7
  5. pulumi_gcp/beyondcorp/__init__.py +4 -0
  6. pulumi_gcp/beyondcorp/_inputs.py +130 -0
  7. pulumi_gcp/beyondcorp/get_security_gateway_iam_policy.py +180 -0
  8. pulumi_gcp/beyondcorp/outputs.py +76 -0
  9. pulumi_gcp/beyondcorp/security_gateway.py +52 -25
  10. pulumi_gcp/beyondcorp/security_gateway_iam_binding.py +1075 -0
  11. pulumi_gcp/beyondcorp/security_gateway_iam_member.py +1075 -0
  12. pulumi_gcp/beyondcorp/security_gateway_iam_policy.py +894 -0
  13. pulumi_gcp/bigquery/_inputs.py +33 -0
  14. pulumi_gcp/bigquery/dataset.py +7 -7
  15. pulumi_gcp/bigquery/outputs.py +36 -0
  16. pulumi_gcp/bigquery/table.py +61 -7
  17. pulumi_gcp/chronicle/retrohunt.py +0 -16
  18. pulumi_gcp/cloudquota/s_quota_adjuster_settings.py +23 -23
  19. pulumi_gcp/compute/_inputs.py +9 -9
  20. pulumi_gcp/compute/get_network.py +3 -3
  21. pulumi_gcp/compute/network.py +7 -7
  22. pulumi_gcp/compute/outputs.py +6 -6
  23. pulumi_gcp/compute/router_peer.py +112 -0
  24. pulumi_gcp/container/_inputs.py +79 -20
  25. pulumi_gcp/container/outputs.py +75 -12
  26. pulumi_gcp/dataproc/_inputs.py +34 -0
  27. pulumi_gcp/dataproc/outputs.py +37 -0
  28. pulumi_gcp/dataproc/workflow_template.py +47 -0
  29. pulumi_gcp/firestore/field.py +60 -0
  30. pulumi_gcp/gkehub/_inputs.py +20 -0
  31. pulumi_gcp/gkehub/membership_binding.py +6 -6
  32. pulumi_gcp/gkehub/membership_rbac_role_binding.py +4 -4
  33. pulumi_gcp/gkehub/namespace.py +4 -4
  34. pulumi_gcp/gkehub/outputs.py +26 -1
  35. pulumi_gcp/gkehub/scope_rbac_role_binding.py +4 -4
  36. pulumi_gcp/iap/tunnel_dest_group.py +2 -2
  37. pulumi_gcp/integrationconnectors/managed_zone.py +8 -8
  38. pulumi_gcp/netapp/storage_pool.py +1 -1
  39. pulumi_gcp/networkconnectivity/spoke.py +76 -14
  40. pulumi_gcp/orgpolicy/policy.py +2 -2
  41. pulumi_gcp/parametermanager/__init__.py +3 -0
  42. pulumi_gcp/parametermanager/get_parameter_version.py +216 -0
  43. pulumi_gcp/parametermanager/get_parameters.py +140 -0
  44. pulumi_gcp/parametermanager/get_regional_parameter_version.py +235 -0
  45. pulumi_gcp/parametermanager/outputs.py +156 -0
  46. pulumi_gcp/pubsub/_inputs.py +264 -0
  47. pulumi_gcp/pubsub/outputs.py +353 -0
  48. pulumi_gcp/pubsub/subscription.py +6 -6
  49. pulumi_gcp/pubsub/topic.py +70 -0
  50. pulumi_gcp/pulumi-plugin.json +1 -1
  51. pulumi_gcp/resourcemanager/lien.py +12 -0
  52. pulumi_gcp/secretmanager/regional_secret.py +4 -0
  53. pulumi_gcp/secretmanager/regional_secret_version.py +12 -0
  54. pulumi_gcp/secretmanager/secret.py +4 -0
  55. pulumi_gcp/secretmanager/secret_version.py +12 -0
  56. pulumi_gcp/securityposture/posture.py +4 -0
  57. pulumi_gcp/securityposture/posture_deployment.py +4 -0
  58. pulumi_gcp/serviceaccount/get_s.py +98 -8
  59. pulumi_gcp/spanner/_inputs.py +68 -0
  60. pulumi_gcp/spanner/backup_schedule.py +70 -4
  61. pulumi_gcp/spanner/outputs.py +60 -0
  62. pulumi_gcp/storage/get_bucket_object_content.py +4 -4
  63. pulumi_gcp/vertex/ai_endpoint.py +4 -4
  64. pulumi_gcp/vertex/ai_feature_online_store_featureview.py +4 -4
  65. pulumi_gcp/workflows/workflow.py +175 -0
  66. {pulumi_gcp-8.17.0a1738349438.dist-info → pulumi_gcp-8.18.0.dist-info}/METADATA +1 -1
  67. {pulumi_gcp-8.17.0a1738349438.dist-info → pulumi_gcp-8.18.0.dist-info}/RECORD +69 -62
  68. {pulumi_gcp-8.17.0a1738349438.dist-info → pulumi_gcp-8.18.0.dist-info}/WHEEL +0 -0
  69. {pulumi_gcp-8.17.0a1738349438.dist-info → pulumi_gcp-8.18.0.dist-info}/top_level.txt +0 -0
@@ -19,6 +19,8 @@ __all__ = [
19
19
  'ParameterPolicyMember',
20
20
  'RegionalParameterPolicyMember',
21
21
  'GetParameterPolicyMemberResult',
22
+ 'GetParametersParameterResult',
23
+ 'GetParametersParameterPolicyMemberResult',
22
24
  'GetRegionalParameterPolicyMemberResult',
23
25
  'GetRegionalParametersParameterResult',
24
26
  'GetRegionalParametersParameterPolicyMemberResult',
@@ -195,6 +197,160 @@ class GetParameterPolicyMemberResult(dict):
195
197
  return pulumi.get(self, "iam_policy_uid_principal")
196
198
 
197
199
 
200
+ @pulumi.output_type
201
+ class GetParametersParameterResult(dict):
202
+ def __init__(__self__, *,
203
+ create_time: str,
204
+ effective_labels: Mapping[str, str],
205
+ format: str,
206
+ labels: Mapping[str, str],
207
+ name: str,
208
+ parameter_id: str,
209
+ policy_members: Sequence['outputs.GetParametersParameterPolicyMemberResult'],
210
+ project: str,
211
+ pulumi_labels: Mapping[str, str],
212
+ update_time: str):
213
+ """
214
+ :param str create_time: The time at which the parameter was created.
215
+ :param str format: The format type of the parameter.
216
+ :param Mapping[str, str] labels: The labels assigned to the parameter.
217
+ :param str name: The resource name of the parameter. Format: `projects/{{project}}/locations/global/parameters/{{parameter_id}}`
218
+ :param str parameter_id: The unique name of the resource.
219
+ :param Sequence['GetParametersParameterPolicyMemberArgs'] policy_members: An object containing a unique resource identity tied to the parameter. Structure is documented below.
220
+ :param str project: The ID of the project.
221
+ :param Mapping[str, str] pulumi_labels: The combination of labels configured directly on the resource
222
+ and default labels configured on the provider.
223
+ :param str update_time: The time at which the parameter was updated.
224
+ """
225
+ pulumi.set(__self__, "create_time", create_time)
226
+ pulumi.set(__self__, "effective_labels", effective_labels)
227
+ pulumi.set(__self__, "format", format)
228
+ pulumi.set(__self__, "labels", labels)
229
+ pulumi.set(__self__, "name", name)
230
+ pulumi.set(__self__, "parameter_id", parameter_id)
231
+ pulumi.set(__self__, "policy_members", policy_members)
232
+ pulumi.set(__self__, "project", project)
233
+ pulumi.set(__self__, "pulumi_labels", pulumi_labels)
234
+ pulumi.set(__self__, "update_time", update_time)
235
+
236
+ @property
237
+ @pulumi.getter(name="createTime")
238
+ def create_time(self) -> str:
239
+ """
240
+ The time at which the parameter was created.
241
+ """
242
+ return pulumi.get(self, "create_time")
243
+
244
+ @property
245
+ @pulumi.getter(name="effectiveLabels")
246
+ def effective_labels(self) -> Mapping[str, str]:
247
+ return pulumi.get(self, "effective_labels")
248
+
249
+ @property
250
+ @pulumi.getter
251
+ def format(self) -> str:
252
+ """
253
+ The format type of the parameter.
254
+ """
255
+ return pulumi.get(self, "format")
256
+
257
+ @property
258
+ @pulumi.getter
259
+ def labels(self) -> Mapping[str, str]:
260
+ """
261
+ The labels assigned to the parameter.
262
+ """
263
+ return pulumi.get(self, "labels")
264
+
265
+ @property
266
+ @pulumi.getter
267
+ def name(self) -> str:
268
+ """
269
+ The resource name of the parameter. Format: `projects/{{project}}/locations/global/parameters/{{parameter_id}}`
270
+ """
271
+ return pulumi.get(self, "name")
272
+
273
+ @property
274
+ @pulumi.getter(name="parameterId")
275
+ def parameter_id(self) -> str:
276
+ """
277
+ The unique name of the resource.
278
+ """
279
+ return pulumi.get(self, "parameter_id")
280
+
281
+ @property
282
+ @pulumi.getter(name="policyMembers")
283
+ def policy_members(self) -> Sequence['outputs.GetParametersParameterPolicyMemberResult']:
284
+ """
285
+ An object containing a unique resource identity tied to the parameter. Structure is documented below.
286
+ """
287
+ return pulumi.get(self, "policy_members")
288
+
289
+ @property
290
+ @pulumi.getter
291
+ def project(self) -> str:
292
+ """
293
+ The ID of the project.
294
+ """
295
+ return pulumi.get(self, "project")
296
+
297
+ @property
298
+ @pulumi.getter(name="pulumiLabels")
299
+ def pulumi_labels(self) -> Mapping[str, str]:
300
+ """
301
+ The combination of labels configured directly on the resource
302
+ and default labels configured on the provider.
303
+ """
304
+ return pulumi.get(self, "pulumi_labels")
305
+
306
+ @property
307
+ @pulumi.getter(name="updateTime")
308
+ def update_time(self) -> str:
309
+ """
310
+ The time at which the parameter was updated.
311
+ """
312
+ return pulumi.get(self, "update_time")
313
+
314
+
315
+ @pulumi.output_type
316
+ class GetParametersParameterPolicyMemberResult(dict):
317
+ def __init__(__self__, *,
318
+ iam_policy_name_principal: str,
319
+ iam_policy_uid_principal: str):
320
+ """
321
+ :param str iam_policy_name_principal: AM policy binding member referring to a Google Cloud resource by user-assigned name. If a resource is deleted and recreated with the same name, the binding will be applicable to the
322
+ new resource. Format:
323
+ `principal://parametermanager.googleapis.com/projects/{{project}}/name/locations/global/parameters/{{parameter_id}}`
324
+ :param str iam_policy_uid_principal: IAM policy binding member referring to a Google Cloud resource by system-assigned unique identifier.
325
+ If a resource is deleted and recreated with the same name, the binding will not be applicable to the
326
+ new resource. Format:
327
+ `principal://parametermanager.googleapis.com/projects/{{project}}/uid/locations/global/parameters/{{uid}}`
328
+ """
329
+ pulumi.set(__self__, "iam_policy_name_principal", iam_policy_name_principal)
330
+ pulumi.set(__self__, "iam_policy_uid_principal", iam_policy_uid_principal)
331
+
332
+ @property
333
+ @pulumi.getter(name="iamPolicyNamePrincipal")
334
+ def iam_policy_name_principal(self) -> str:
335
+ """
336
+ AM policy binding member referring to a Google Cloud resource by user-assigned name. If a resource is deleted and recreated with the same name, the binding will be applicable to the
337
+ new resource. Format:
338
+ `principal://parametermanager.googleapis.com/projects/{{project}}/name/locations/global/parameters/{{parameter_id}}`
339
+ """
340
+ return pulumi.get(self, "iam_policy_name_principal")
341
+
342
+ @property
343
+ @pulumi.getter(name="iamPolicyUidPrincipal")
344
+ def iam_policy_uid_principal(self) -> str:
345
+ """
346
+ IAM policy binding member referring to a Google Cloud resource by system-assigned unique identifier.
347
+ If a resource is deleted and recreated with the same name, the binding will not be applicable to the
348
+ new resource. Format:
349
+ `principal://parametermanager.googleapis.com/projects/{{project}}/uid/locations/global/parameters/{{uid}}`
350
+ """
351
+ return pulumi.get(self, "iam_policy_uid_principal")
352
+
353
+
198
354
  @pulumi.output_type
199
355
  class GetRegionalParameterPolicyMemberResult(dict):
200
356
  def __init__(__self__, *,
@@ -59,6 +59,8 @@ __all__ = [
59
59
  'TopicIngestionDataSourceSettingsArgsDict',
60
60
  'TopicIngestionDataSourceSettingsAwsKinesisArgs',
61
61
  'TopicIngestionDataSourceSettingsAwsKinesisArgsDict',
62
+ 'TopicIngestionDataSourceSettingsAwsMskArgs',
63
+ 'TopicIngestionDataSourceSettingsAwsMskArgsDict',
62
64
  'TopicIngestionDataSourceSettingsAzureEventHubsArgs',
63
65
  'TopicIngestionDataSourceSettingsAzureEventHubsArgsDict',
64
66
  'TopicIngestionDataSourceSettingsCloudStorageArgs',
@@ -69,6 +71,8 @@ __all__ = [
69
71
  'TopicIngestionDataSourceSettingsCloudStoragePubsubAvroFormatArgsDict',
70
72
  'TopicIngestionDataSourceSettingsCloudStorageTextFormatArgs',
71
73
  'TopicIngestionDataSourceSettingsCloudStorageTextFormatArgsDict',
74
+ 'TopicIngestionDataSourceSettingsConfluentCloudArgs',
75
+ 'TopicIngestionDataSourceSettingsConfluentCloudArgsDict',
72
76
  'TopicIngestionDataSourceSettingsPlatformLogsSettingsArgs',
73
77
  'TopicIngestionDataSourceSettingsPlatformLogsSettingsArgsDict',
74
78
  'TopicMessageStoragePolicyArgs',
@@ -1510,6 +1514,11 @@ if not MYPY:
1510
1514
  Settings for ingestion from Amazon Kinesis Data Streams.
1511
1515
  Structure is documented below.
1512
1516
  """
1517
+ aws_msk: NotRequired[pulumi.Input['TopicIngestionDataSourceSettingsAwsMskArgsDict']]
1518
+ """
1519
+ Settings for ingestion from Amazon Managed Streaming for Apache Kafka.
1520
+ Structure is documented below.
1521
+ """
1513
1522
  azure_event_hubs: NotRequired[pulumi.Input['TopicIngestionDataSourceSettingsAzureEventHubsArgsDict']]
1514
1523
  """
1515
1524
  Settings for ingestion from Azure Event Hubs.
@@ -1520,6 +1529,11 @@ if not MYPY:
1520
1529
  Settings for ingestion from Cloud Storage.
1521
1530
  Structure is documented below.
1522
1531
  """
1532
+ confluent_cloud: NotRequired[pulumi.Input['TopicIngestionDataSourceSettingsConfluentCloudArgsDict']]
1533
+ """
1534
+ Settings for ingestion from Confluent Cloud.
1535
+ Structure is documented below.
1536
+ """
1523
1537
  platform_logs_settings: NotRequired[pulumi.Input['TopicIngestionDataSourceSettingsPlatformLogsSettingsArgsDict']]
1524
1538
  """
1525
1539
  Settings for Platform Logs regarding ingestion to Pub/Sub. If unset,
@@ -1533,26 +1547,36 @@ elif False:
1533
1547
  class TopicIngestionDataSourceSettingsArgs:
1534
1548
  def __init__(__self__, *,
1535
1549
  aws_kinesis: Optional[pulumi.Input['TopicIngestionDataSourceSettingsAwsKinesisArgs']] = None,
1550
+ aws_msk: Optional[pulumi.Input['TopicIngestionDataSourceSettingsAwsMskArgs']] = None,
1536
1551
  azure_event_hubs: Optional[pulumi.Input['TopicIngestionDataSourceSettingsAzureEventHubsArgs']] = None,
1537
1552
  cloud_storage: Optional[pulumi.Input['TopicIngestionDataSourceSettingsCloudStorageArgs']] = None,
1553
+ confluent_cloud: Optional[pulumi.Input['TopicIngestionDataSourceSettingsConfluentCloudArgs']] = None,
1538
1554
  platform_logs_settings: Optional[pulumi.Input['TopicIngestionDataSourceSettingsPlatformLogsSettingsArgs']] = None):
1539
1555
  """
1540
1556
  :param pulumi.Input['TopicIngestionDataSourceSettingsAwsKinesisArgs'] aws_kinesis: Settings for ingestion from Amazon Kinesis Data Streams.
1541
1557
  Structure is documented below.
1558
+ :param pulumi.Input['TopicIngestionDataSourceSettingsAwsMskArgs'] aws_msk: Settings for ingestion from Amazon Managed Streaming for Apache Kafka.
1559
+ Structure is documented below.
1542
1560
  :param pulumi.Input['TopicIngestionDataSourceSettingsAzureEventHubsArgs'] azure_event_hubs: Settings for ingestion from Azure Event Hubs.
1543
1561
  Structure is documented below.
1544
1562
  :param pulumi.Input['TopicIngestionDataSourceSettingsCloudStorageArgs'] cloud_storage: Settings for ingestion from Cloud Storage.
1545
1563
  Structure is documented below.
1564
+ :param pulumi.Input['TopicIngestionDataSourceSettingsConfluentCloudArgs'] confluent_cloud: Settings for ingestion from Confluent Cloud.
1565
+ Structure is documented below.
1546
1566
  :param pulumi.Input['TopicIngestionDataSourceSettingsPlatformLogsSettingsArgs'] platform_logs_settings: Settings for Platform Logs regarding ingestion to Pub/Sub. If unset,
1547
1567
  no Platform Logs will be generated.'
1548
1568
  Structure is documented below.
1549
1569
  """
1550
1570
  if aws_kinesis is not None:
1551
1571
  pulumi.set(__self__, "aws_kinesis", aws_kinesis)
1572
+ if aws_msk is not None:
1573
+ pulumi.set(__self__, "aws_msk", aws_msk)
1552
1574
  if azure_event_hubs is not None:
1553
1575
  pulumi.set(__self__, "azure_event_hubs", azure_event_hubs)
1554
1576
  if cloud_storage is not None:
1555
1577
  pulumi.set(__self__, "cloud_storage", cloud_storage)
1578
+ if confluent_cloud is not None:
1579
+ pulumi.set(__self__, "confluent_cloud", confluent_cloud)
1556
1580
  if platform_logs_settings is not None:
1557
1581
  pulumi.set(__self__, "platform_logs_settings", platform_logs_settings)
1558
1582
 
@@ -1569,6 +1593,19 @@ class TopicIngestionDataSourceSettingsArgs:
1569
1593
  def aws_kinesis(self, value: Optional[pulumi.Input['TopicIngestionDataSourceSettingsAwsKinesisArgs']]):
1570
1594
  pulumi.set(self, "aws_kinesis", value)
1571
1595
 
1596
+ @property
1597
+ @pulumi.getter(name="awsMsk")
1598
+ def aws_msk(self) -> Optional[pulumi.Input['TopicIngestionDataSourceSettingsAwsMskArgs']]:
1599
+ """
1600
+ Settings for ingestion from Amazon Managed Streaming for Apache Kafka.
1601
+ Structure is documented below.
1602
+ """
1603
+ return pulumi.get(self, "aws_msk")
1604
+
1605
+ @aws_msk.setter
1606
+ def aws_msk(self, value: Optional[pulumi.Input['TopicIngestionDataSourceSettingsAwsMskArgs']]):
1607
+ pulumi.set(self, "aws_msk", value)
1608
+
1572
1609
  @property
1573
1610
  @pulumi.getter(name="azureEventHubs")
1574
1611
  def azure_event_hubs(self) -> Optional[pulumi.Input['TopicIngestionDataSourceSettingsAzureEventHubsArgs']]:
@@ -1595,6 +1632,19 @@ class TopicIngestionDataSourceSettingsArgs:
1595
1632
  def cloud_storage(self, value: Optional[pulumi.Input['TopicIngestionDataSourceSettingsCloudStorageArgs']]):
1596
1633
  pulumi.set(self, "cloud_storage", value)
1597
1634
 
1635
+ @property
1636
+ @pulumi.getter(name="confluentCloud")
1637
+ def confluent_cloud(self) -> Optional[pulumi.Input['TopicIngestionDataSourceSettingsConfluentCloudArgs']]:
1638
+ """
1639
+ Settings for ingestion from Confluent Cloud.
1640
+ Structure is documented below.
1641
+ """
1642
+ return pulumi.get(self, "confluent_cloud")
1643
+
1644
+ @confluent_cloud.setter
1645
+ def confluent_cloud(self, value: Optional[pulumi.Input['TopicIngestionDataSourceSettingsConfluentCloudArgs']]):
1646
+ pulumi.set(self, "confluent_cloud", value)
1647
+
1598
1648
  @property
1599
1649
  @pulumi.getter(name="platformLogsSettings")
1600
1650
  def platform_logs_settings(self) -> Optional[pulumi.Input['TopicIngestionDataSourceSettingsPlatformLogsSettingsArgs']]:
@@ -1719,6 +1769,109 @@ class TopicIngestionDataSourceSettingsAwsKinesisArgs:
1719
1769
  pulumi.set(self, "stream_arn", value)
1720
1770
 
1721
1771
 
1772
+ if not MYPY:
1773
+ class TopicIngestionDataSourceSettingsAwsMskArgsDict(TypedDict):
1774
+ aws_role_arn: pulumi.Input[str]
1775
+ """
1776
+ AWS role ARN to be used for Federated Identity authentication with
1777
+ MSK. Check the Pub/Sub docs for how to set up this role and the
1778
+ required permissions that need to be attached to it.
1779
+ """
1780
+ cluster_arn: pulumi.Input[str]
1781
+ """
1782
+ ARN that uniquely identifies the MSK cluster.
1783
+ """
1784
+ gcp_service_account: pulumi.Input[str]
1785
+ """
1786
+ The GCP service account to be used for Federated Identity authentication
1787
+ with MSK (via a `AssumeRoleWithWebIdentity` call for the provided
1788
+ role). The `awsRoleArn` must be set up with `accounts.google.com:sub`
1789
+ equals to this service account number.
1790
+ """
1791
+ topic: pulumi.Input[str]
1792
+ """
1793
+ The name of the MSK topic that Pub/Sub will import from.
1794
+ """
1795
+ elif False:
1796
+ TopicIngestionDataSourceSettingsAwsMskArgsDict: TypeAlias = Mapping[str, Any]
1797
+
1798
+ @pulumi.input_type
1799
+ class TopicIngestionDataSourceSettingsAwsMskArgs:
1800
+ def __init__(__self__, *,
1801
+ aws_role_arn: pulumi.Input[str],
1802
+ cluster_arn: pulumi.Input[str],
1803
+ gcp_service_account: pulumi.Input[str],
1804
+ topic: pulumi.Input[str]):
1805
+ """
1806
+ :param pulumi.Input[str] aws_role_arn: AWS role ARN to be used for Federated Identity authentication with
1807
+ MSK. Check the Pub/Sub docs for how to set up this role and the
1808
+ required permissions that need to be attached to it.
1809
+ :param pulumi.Input[str] cluster_arn: ARN that uniquely identifies the MSK cluster.
1810
+ :param pulumi.Input[str] gcp_service_account: The GCP service account to be used for Federated Identity authentication
1811
+ with MSK (via a `AssumeRoleWithWebIdentity` call for the provided
1812
+ role). The `awsRoleArn` must be set up with `accounts.google.com:sub`
1813
+ equals to this service account number.
1814
+ :param pulumi.Input[str] topic: The name of the MSK topic that Pub/Sub will import from.
1815
+ """
1816
+ pulumi.set(__self__, "aws_role_arn", aws_role_arn)
1817
+ pulumi.set(__self__, "cluster_arn", cluster_arn)
1818
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
1819
+ pulumi.set(__self__, "topic", topic)
1820
+
1821
+ @property
1822
+ @pulumi.getter(name="awsRoleArn")
1823
+ def aws_role_arn(self) -> pulumi.Input[str]:
1824
+ """
1825
+ AWS role ARN to be used for Federated Identity authentication with
1826
+ MSK. Check the Pub/Sub docs for how to set up this role and the
1827
+ required permissions that need to be attached to it.
1828
+ """
1829
+ return pulumi.get(self, "aws_role_arn")
1830
+
1831
+ @aws_role_arn.setter
1832
+ def aws_role_arn(self, value: pulumi.Input[str]):
1833
+ pulumi.set(self, "aws_role_arn", value)
1834
+
1835
+ @property
1836
+ @pulumi.getter(name="clusterArn")
1837
+ def cluster_arn(self) -> pulumi.Input[str]:
1838
+ """
1839
+ ARN that uniquely identifies the MSK cluster.
1840
+ """
1841
+ return pulumi.get(self, "cluster_arn")
1842
+
1843
+ @cluster_arn.setter
1844
+ def cluster_arn(self, value: pulumi.Input[str]):
1845
+ pulumi.set(self, "cluster_arn", value)
1846
+
1847
+ @property
1848
+ @pulumi.getter(name="gcpServiceAccount")
1849
+ def gcp_service_account(self) -> pulumi.Input[str]:
1850
+ """
1851
+ The GCP service account to be used for Federated Identity authentication
1852
+ with MSK (via a `AssumeRoleWithWebIdentity` call for the provided
1853
+ role). The `awsRoleArn` must be set up with `accounts.google.com:sub`
1854
+ equals to this service account number.
1855
+ """
1856
+ return pulumi.get(self, "gcp_service_account")
1857
+
1858
+ @gcp_service_account.setter
1859
+ def gcp_service_account(self, value: pulumi.Input[str]):
1860
+ pulumi.set(self, "gcp_service_account", value)
1861
+
1862
+ @property
1863
+ @pulumi.getter
1864
+ def topic(self) -> pulumi.Input[str]:
1865
+ """
1866
+ The name of the MSK topic that Pub/Sub will import from.
1867
+ """
1868
+ return pulumi.get(self, "topic")
1869
+
1870
+ @topic.setter
1871
+ def topic(self, value: pulumi.Input[str]):
1872
+ pulumi.set(self, "topic", value)
1873
+
1874
+
1722
1875
  if not MYPY:
1723
1876
  class TopicIngestionDataSourceSettingsAzureEventHubsArgsDict(TypedDict):
1724
1877
  client_id: NotRequired[pulumi.Input[str]]
@@ -2109,6 +2262,117 @@ class TopicIngestionDataSourceSettingsCloudStorageTextFormatArgs:
2109
2262
  pulumi.set(self, "delimiter", value)
2110
2263
 
2111
2264
 
2265
+ if not MYPY:
2266
+ class TopicIngestionDataSourceSettingsConfluentCloudArgsDict(TypedDict):
2267
+ bootstrap_server: pulumi.Input[str]
2268
+ """
2269
+ The Confluent Cloud bootstrap server. The format is url:port.
2270
+ """
2271
+ gcp_service_account: pulumi.Input[str]
2272
+ """
2273
+ The GCP service account to be used for Federated Identity authentication
2274
+ with Confluent Cloud.
2275
+ """
2276
+ identity_pool_id: pulumi.Input[str]
2277
+ """
2278
+ Identity pool ID to be used for Federated Identity authentication with Confluent Cloud.
2279
+ """
2280
+ topic: pulumi.Input[str]
2281
+ """
2282
+ Name of the Confluent Cloud topic that Pub/Sub will import from.
2283
+ """
2284
+ cluster_id: NotRequired[pulumi.Input[str]]
2285
+ """
2286
+ The Confluent Cloud cluster ID.
2287
+ """
2288
+ elif False:
2289
+ TopicIngestionDataSourceSettingsConfluentCloudArgsDict: TypeAlias = Mapping[str, Any]
2290
+
2291
+ @pulumi.input_type
2292
+ class TopicIngestionDataSourceSettingsConfluentCloudArgs:
2293
+ def __init__(__self__, *,
2294
+ bootstrap_server: pulumi.Input[str],
2295
+ gcp_service_account: pulumi.Input[str],
2296
+ identity_pool_id: pulumi.Input[str],
2297
+ topic: pulumi.Input[str],
2298
+ cluster_id: Optional[pulumi.Input[str]] = None):
2299
+ """
2300
+ :param pulumi.Input[str] bootstrap_server: The Confluent Cloud bootstrap server. The format is url:port.
2301
+ :param pulumi.Input[str] gcp_service_account: The GCP service account to be used for Federated Identity authentication
2302
+ with Confluent Cloud.
2303
+ :param pulumi.Input[str] identity_pool_id: Identity pool ID to be used for Federated Identity authentication with Confluent Cloud.
2304
+ :param pulumi.Input[str] topic: Name of the Confluent Cloud topic that Pub/Sub will import from.
2305
+ :param pulumi.Input[str] cluster_id: The Confluent Cloud cluster ID.
2306
+ """
2307
+ pulumi.set(__self__, "bootstrap_server", bootstrap_server)
2308
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
2309
+ pulumi.set(__self__, "identity_pool_id", identity_pool_id)
2310
+ pulumi.set(__self__, "topic", topic)
2311
+ if cluster_id is not None:
2312
+ pulumi.set(__self__, "cluster_id", cluster_id)
2313
+
2314
+ @property
2315
+ @pulumi.getter(name="bootstrapServer")
2316
+ def bootstrap_server(self) -> pulumi.Input[str]:
2317
+ """
2318
+ The Confluent Cloud bootstrap server. The format is url:port.
2319
+ """
2320
+ return pulumi.get(self, "bootstrap_server")
2321
+
2322
+ @bootstrap_server.setter
2323
+ def bootstrap_server(self, value: pulumi.Input[str]):
2324
+ pulumi.set(self, "bootstrap_server", value)
2325
+
2326
+ @property
2327
+ @pulumi.getter(name="gcpServiceAccount")
2328
+ def gcp_service_account(self) -> pulumi.Input[str]:
2329
+ """
2330
+ The GCP service account to be used for Federated Identity authentication
2331
+ with Confluent Cloud.
2332
+ """
2333
+ return pulumi.get(self, "gcp_service_account")
2334
+
2335
+ @gcp_service_account.setter
2336
+ def gcp_service_account(self, value: pulumi.Input[str]):
2337
+ pulumi.set(self, "gcp_service_account", value)
2338
+
2339
+ @property
2340
+ @pulumi.getter(name="identityPoolId")
2341
+ def identity_pool_id(self) -> pulumi.Input[str]:
2342
+ """
2343
+ Identity pool ID to be used for Federated Identity authentication with Confluent Cloud.
2344
+ """
2345
+ return pulumi.get(self, "identity_pool_id")
2346
+
2347
+ @identity_pool_id.setter
2348
+ def identity_pool_id(self, value: pulumi.Input[str]):
2349
+ pulumi.set(self, "identity_pool_id", value)
2350
+
2351
+ @property
2352
+ @pulumi.getter
2353
+ def topic(self) -> pulumi.Input[str]:
2354
+ """
2355
+ Name of the Confluent Cloud topic that Pub/Sub will import from.
2356
+ """
2357
+ return pulumi.get(self, "topic")
2358
+
2359
+ @topic.setter
2360
+ def topic(self, value: pulumi.Input[str]):
2361
+ pulumi.set(self, "topic", value)
2362
+
2363
+ @property
2364
+ @pulumi.getter(name="clusterId")
2365
+ def cluster_id(self) -> Optional[pulumi.Input[str]]:
2366
+ """
2367
+ The Confluent Cloud cluster ID.
2368
+ """
2369
+ return pulumi.get(self, "cluster_id")
2370
+
2371
+ @cluster_id.setter
2372
+ def cluster_id(self, value: Optional[pulumi.Input[str]]):
2373
+ pulumi.set(self, "cluster_id", value)
2374
+
2375
+
2112
2376
  if not MYPY:
2113
2377
  class TopicIngestionDataSourceSettingsPlatformLogsSettingsArgsDict(TypedDict):
2114
2378
  severity: NotRequired[pulumi.Input[str]]