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
@@ -59,6 +59,10 @@ __all__ = [
59
59
  'TopicIngestionDataSourceSettingsArgsDict',
60
60
  'TopicIngestionDataSourceSettingsAwsKinesisArgs',
61
61
  'TopicIngestionDataSourceSettingsAwsKinesisArgsDict',
62
+ 'TopicIngestionDataSourceSettingsAwsMskArgs',
63
+ 'TopicIngestionDataSourceSettingsAwsMskArgsDict',
64
+ 'TopicIngestionDataSourceSettingsAzureEventHubsArgs',
65
+ 'TopicIngestionDataSourceSettingsAzureEventHubsArgsDict',
62
66
  'TopicIngestionDataSourceSettingsCloudStorageArgs',
63
67
  'TopicIngestionDataSourceSettingsCloudStorageArgsDict',
64
68
  'TopicIngestionDataSourceSettingsCloudStorageAvroFormatArgs',
@@ -67,6 +71,8 @@ __all__ = [
67
71
  'TopicIngestionDataSourceSettingsCloudStoragePubsubAvroFormatArgsDict',
68
72
  'TopicIngestionDataSourceSettingsCloudStorageTextFormatArgs',
69
73
  'TopicIngestionDataSourceSettingsCloudStorageTextFormatArgsDict',
74
+ 'TopicIngestionDataSourceSettingsConfluentCloudArgs',
75
+ 'TopicIngestionDataSourceSettingsConfluentCloudArgsDict',
70
76
  'TopicIngestionDataSourceSettingsPlatformLogsSettingsArgs',
71
77
  'TopicIngestionDataSourceSettingsPlatformLogsSettingsArgsDict',
72
78
  'TopicMessageStoragePolicyArgs',
@@ -1508,11 +1514,26 @@ if not MYPY:
1508
1514
  Settings for ingestion from Amazon Kinesis Data Streams.
1509
1515
  Structure is documented below.
1510
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
+ """
1522
+ azure_event_hubs: NotRequired[pulumi.Input['TopicIngestionDataSourceSettingsAzureEventHubsArgsDict']]
1523
+ """
1524
+ Settings for ingestion from Azure Event Hubs.
1525
+ Structure is documented below.
1526
+ """
1511
1527
  cloud_storage: NotRequired[pulumi.Input['TopicIngestionDataSourceSettingsCloudStorageArgsDict']]
1512
1528
  """
1513
1529
  Settings for ingestion from Cloud Storage.
1514
1530
  Structure is documented below.
1515
1531
  """
1532
+ confluent_cloud: NotRequired[pulumi.Input['TopicIngestionDataSourceSettingsConfluentCloudArgsDict']]
1533
+ """
1534
+ Settings for ingestion from Confluent Cloud.
1535
+ Structure is documented below.
1536
+ """
1516
1537
  platform_logs_settings: NotRequired[pulumi.Input['TopicIngestionDataSourceSettingsPlatformLogsSettingsArgsDict']]
1517
1538
  """
1518
1539
  Settings for Platform Logs regarding ingestion to Pub/Sub. If unset,
@@ -1526,21 +1547,36 @@ elif False:
1526
1547
  class TopicIngestionDataSourceSettingsArgs:
1527
1548
  def __init__(__self__, *,
1528
1549
  aws_kinesis: Optional[pulumi.Input['TopicIngestionDataSourceSettingsAwsKinesisArgs']] = None,
1550
+ aws_msk: Optional[pulumi.Input['TopicIngestionDataSourceSettingsAwsMskArgs']] = None,
1551
+ azure_event_hubs: Optional[pulumi.Input['TopicIngestionDataSourceSettingsAzureEventHubsArgs']] = None,
1529
1552
  cloud_storage: Optional[pulumi.Input['TopicIngestionDataSourceSettingsCloudStorageArgs']] = None,
1553
+ confluent_cloud: Optional[pulumi.Input['TopicIngestionDataSourceSettingsConfluentCloudArgs']] = None,
1530
1554
  platform_logs_settings: Optional[pulumi.Input['TopicIngestionDataSourceSettingsPlatformLogsSettingsArgs']] = None):
1531
1555
  """
1532
1556
  :param pulumi.Input['TopicIngestionDataSourceSettingsAwsKinesisArgs'] aws_kinesis: Settings for ingestion from Amazon Kinesis Data Streams.
1533
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.
1560
+ :param pulumi.Input['TopicIngestionDataSourceSettingsAzureEventHubsArgs'] azure_event_hubs: Settings for ingestion from Azure Event Hubs.
1561
+ Structure is documented below.
1534
1562
  :param pulumi.Input['TopicIngestionDataSourceSettingsCloudStorageArgs'] cloud_storage: Settings for ingestion from Cloud Storage.
1535
1563
  Structure is documented below.
1564
+ :param pulumi.Input['TopicIngestionDataSourceSettingsConfluentCloudArgs'] confluent_cloud: Settings for ingestion from Confluent Cloud.
1565
+ Structure is documented below.
1536
1566
  :param pulumi.Input['TopicIngestionDataSourceSettingsPlatformLogsSettingsArgs'] platform_logs_settings: Settings for Platform Logs regarding ingestion to Pub/Sub. If unset,
1537
1567
  no Platform Logs will be generated.'
1538
1568
  Structure is documented below.
1539
1569
  """
1540
1570
  if aws_kinesis is not None:
1541
1571
  pulumi.set(__self__, "aws_kinesis", aws_kinesis)
1572
+ if aws_msk is not None:
1573
+ pulumi.set(__self__, "aws_msk", aws_msk)
1574
+ if azure_event_hubs is not None:
1575
+ pulumi.set(__self__, "azure_event_hubs", azure_event_hubs)
1542
1576
  if cloud_storage is not None:
1543
1577
  pulumi.set(__self__, "cloud_storage", cloud_storage)
1578
+ if confluent_cloud is not None:
1579
+ pulumi.set(__self__, "confluent_cloud", confluent_cloud)
1544
1580
  if platform_logs_settings is not None:
1545
1581
  pulumi.set(__self__, "platform_logs_settings", platform_logs_settings)
1546
1582
 
@@ -1557,6 +1593,32 @@ class TopicIngestionDataSourceSettingsArgs:
1557
1593
  def aws_kinesis(self, value: Optional[pulumi.Input['TopicIngestionDataSourceSettingsAwsKinesisArgs']]):
1558
1594
  pulumi.set(self, "aws_kinesis", value)
1559
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
+
1609
+ @property
1610
+ @pulumi.getter(name="azureEventHubs")
1611
+ def azure_event_hubs(self) -> Optional[pulumi.Input['TopicIngestionDataSourceSettingsAzureEventHubsArgs']]:
1612
+ """
1613
+ Settings for ingestion from Azure Event Hubs.
1614
+ Structure is documented below.
1615
+ """
1616
+ return pulumi.get(self, "azure_event_hubs")
1617
+
1618
+ @azure_event_hubs.setter
1619
+ def azure_event_hubs(self, value: Optional[pulumi.Input['TopicIngestionDataSourceSettingsAzureEventHubsArgs']]):
1620
+ pulumi.set(self, "azure_event_hubs", value)
1621
+
1560
1622
  @property
1561
1623
  @pulumi.getter(name="cloudStorage")
1562
1624
  def cloud_storage(self) -> Optional[pulumi.Input['TopicIngestionDataSourceSettingsCloudStorageArgs']]:
@@ -1570,6 +1632,19 @@ class TopicIngestionDataSourceSettingsArgs:
1570
1632
  def cloud_storage(self, value: Optional[pulumi.Input['TopicIngestionDataSourceSettingsCloudStorageArgs']]):
1571
1633
  pulumi.set(self, "cloud_storage", value)
1572
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
+
1573
1648
  @property
1574
1649
  @pulumi.getter(name="platformLogsSettings")
1575
1650
  def platform_logs_settings(self) -> Optional[pulumi.Input['TopicIngestionDataSourceSettingsPlatformLogsSettingsArgs']]:
@@ -1694,6 +1769,267 @@ class TopicIngestionDataSourceSettingsAwsKinesisArgs:
1694
1769
  pulumi.set(self, "stream_arn", value)
1695
1770
 
1696
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
+
1875
+ if not MYPY:
1876
+ class TopicIngestionDataSourceSettingsAzureEventHubsArgsDict(TypedDict):
1877
+ client_id: NotRequired[pulumi.Input[str]]
1878
+ """
1879
+ The Azure event hub client ID to use for ingestion.
1880
+ """
1881
+ event_hub: NotRequired[pulumi.Input[str]]
1882
+ """
1883
+ The Azure event hub to ingest data from.
1884
+ """
1885
+ gcp_service_account: NotRequired[pulumi.Input[str]]
1886
+ """
1887
+ The GCP service account to be used for Federated Identity authentication
1888
+ with Azure (via a `AssumeRoleWithWebIdentity` call for the provided
1889
+ role).
1890
+ """
1891
+ namespace: NotRequired[pulumi.Input[str]]
1892
+ """
1893
+ The Azure event hub namespace to ingest data from.
1894
+ """
1895
+ resource_group: NotRequired[pulumi.Input[str]]
1896
+ """
1897
+ The name of the resource group within an Azure subscription.
1898
+ """
1899
+ subscription_id: NotRequired[pulumi.Input[str]]
1900
+ """
1901
+ The Azure event hub subscription ID to use for ingestion.
1902
+ """
1903
+ tenant_id: NotRequired[pulumi.Input[str]]
1904
+ """
1905
+ The Azure event hub tenant ID to use for ingestion.
1906
+ """
1907
+ elif False:
1908
+ TopicIngestionDataSourceSettingsAzureEventHubsArgsDict: TypeAlias = Mapping[str, Any]
1909
+
1910
+ @pulumi.input_type
1911
+ class TopicIngestionDataSourceSettingsAzureEventHubsArgs:
1912
+ def __init__(__self__, *,
1913
+ client_id: Optional[pulumi.Input[str]] = None,
1914
+ event_hub: Optional[pulumi.Input[str]] = None,
1915
+ gcp_service_account: Optional[pulumi.Input[str]] = None,
1916
+ namespace: Optional[pulumi.Input[str]] = None,
1917
+ resource_group: Optional[pulumi.Input[str]] = None,
1918
+ subscription_id: Optional[pulumi.Input[str]] = None,
1919
+ tenant_id: Optional[pulumi.Input[str]] = None):
1920
+ """
1921
+ :param pulumi.Input[str] client_id: The Azure event hub client ID to use for ingestion.
1922
+ :param pulumi.Input[str] event_hub: The Azure event hub to ingest data from.
1923
+ :param pulumi.Input[str] gcp_service_account: The GCP service account to be used for Federated Identity authentication
1924
+ with Azure (via a `AssumeRoleWithWebIdentity` call for the provided
1925
+ role).
1926
+ :param pulumi.Input[str] namespace: The Azure event hub namespace to ingest data from.
1927
+ :param pulumi.Input[str] resource_group: The name of the resource group within an Azure subscription.
1928
+ :param pulumi.Input[str] subscription_id: The Azure event hub subscription ID to use for ingestion.
1929
+ :param pulumi.Input[str] tenant_id: The Azure event hub tenant ID to use for ingestion.
1930
+ """
1931
+ if client_id is not None:
1932
+ pulumi.set(__self__, "client_id", client_id)
1933
+ if event_hub is not None:
1934
+ pulumi.set(__self__, "event_hub", event_hub)
1935
+ if gcp_service_account is not None:
1936
+ pulumi.set(__self__, "gcp_service_account", gcp_service_account)
1937
+ if namespace is not None:
1938
+ pulumi.set(__self__, "namespace", namespace)
1939
+ if resource_group is not None:
1940
+ pulumi.set(__self__, "resource_group", resource_group)
1941
+ if subscription_id is not None:
1942
+ pulumi.set(__self__, "subscription_id", subscription_id)
1943
+ if tenant_id is not None:
1944
+ pulumi.set(__self__, "tenant_id", tenant_id)
1945
+
1946
+ @property
1947
+ @pulumi.getter(name="clientId")
1948
+ def client_id(self) -> Optional[pulumi.Input[str]]:
1949
+ """
1950
+ The Azure event hub client ID to use for ingestion.
1951
+ """
1952
+ return pulumi.get(self, "client_id")
1953
+
1954
+ @client_id.setter
1955
+ def client_id(self, value: Optional[pulumi.Input[str]]):
1956
+ pulumi.set(self, "client_id", value)
1957
+
1958
+ @property
1959
+ @pulumi.getter(name="eventHub")
1960
+ def event_hub(self) -> Optional[pulumi.Input[str]]:
1961
+ """
1962
+ The Azure event hub to ingest data from.
1963
+ """
1964
+ return pulumi.get(self, "event_hub")
1965
+
1966
+ @event_hub.setter
1967
+ def event_hub(self, value: Optional[pulumi.Input[str]]):
1968
+ pulumi.set(self, "event_hub", value)
1969
+
1970
+ @property
1971
+ @pulumi.getter(name="gcpServiceAccount")
1972
+ def gcp_service_account(self) -> Optional[pulumi.Input[str]]:
1973
+ """
1974
+ The GCP service account to be used for Federated Identity authentication
1975
+ with Azure (via a `AssumeRoleWithWebIdentity` call for the provided
1976
+ role).
1977
+ """
1978
+ return pulumi.get(self, "gcp_service_account")
1979
+
1980
+ @gcp_service_account.setter
1981
+ def gcp_service_account(self, value: Optional[pulumi.Input[str]]):
1982
+ pulumi.set(self, "gcp_service_account", value)
1983
+
1984
+ @property
1985
+ @pulumi.getter
1986
+ def namespace(self) -> Optional[pulumi.Input[str]]:
1987
+ """
1988
+ The Azure event hub namespace to ingest data from.
1989
+ """
1990
+ return pulumi.get(self, "namespace")
1991
+
1992
+ @namespace.setter
1993
+ def namespace(self, value: Optional[pulumi.Input[str]]):
1994
+ pulumi.set(self, "namespace", value)
1995
+
1996
+ @property
1997
+ @pulumi.getter(name="resourceGroup")
1998
+ def resource_group(self) -> Optional[pulumi.Input[str]]:
1999
+ """
2000
+ The name of the resource group within an Azure subscription.
2001
+ """
2002
+ return pulumi.get(self, "resource_group")
2003
+
2004
+ @resource_group.setter
2005
+ def resource_group(self, value: Optional[pulumi.Input[str]]):
2006
+ pulumi.set(self, "resource_group", value)
2007
+
2008
+ @property
2009
+ @pulumi.getter(name="subscriptionId")
2010
+ def subscription_id(self) -> Optional[pulumi.Input[str]]:
2011
+ """
2012
+ The Azure event hub subscription ID to use for ingestion.
2013
+ """
2014
+ return pulumi.get(self, "subscription_id")
2015
+
2016
+ @subscription_id.setter
2017
+ def subscription_id(self, value: Optional[pulumi.Input[str]]):
2018
+ pulumi.set(self, "subscription_id", value)
2019
+
2020
+ @property
2021
+ @pulumi.getter(name="tenantId")
2022
+ def tenant_id(self) -> Optional[pulumi.Input[str]]:
2023
+ """
2024
+ The Azure event hub tenant ID to use for ingestion.
2025
+ """
2026
+ return pulumi.get(self, "tenant_id")
2027
+
2028
+ @tenant_id.setter
2029
+ def tenant_id(self, value: Optional[pulumi.Input[str]]):
2030
+ pulumi.set(self, "tenant_id", value)
2031
+
2032
+
1697
2033
  if not MYPY:
1698
2034
  class TopicIngestionDataSourceSettingsCloudStorageArgsDict(TypedDict):
1699
2035
  bucket: pulumi.Input[str]
@@ -1926,6 +2262,117 @@ class TopicIngestionDataSourceSettingsCloudStorageTextFormatArgs:
1926
2262
  pulumi.set(self, "delimiter", value)
1927
2263
 
1928
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
+
1929
2376
  if not MYPY:
1930
2377
  class TopicIngestionDataSourceSettingsPlatformLogsSettingsArgsDict(TypedDict):
1931
2378
  severity: NotRequired[pulumi.Input[str]]
@@ -1978,13 +2425,21 @@ if not MYPY:
1978
2425
  allowed regions. An empty list means that no regions are allowed,
1979
2426
  and is not a valid configuration.
1980
2427
  """
2428
+ enforce_in_transit: NotRequired[pulumi.Input[bool]]
2429
+ """
2430
+ If true, `allowedPersistenceRegions` is also used to enforce in-transit
2431
+ guarantees for messages. That is, Pub/Sub will fail topics.publish
2432
+ operations on this topic and subscribe operations on any subscription
2433
+ attached to this topic in any region that is not in `allowedPersistenceRegions`.
2434
+ """
1981
2435
  elif False:
1982
2436
  TopicMessageStoragePolicyArgsDict: TypeAlias = Mapping[str, Any]
1983
2437
 
1984
2438
  @pulumi.input_type
1985
2439
  class TopicMessageStoragePolicyArgs:
1986
2440
  def __init__(__self__, *,
1987
- allowed_persistence_regions: pulumi.Input[Sequence[pulumi.Input[str]]]):
2441
+ allowed_persistence_regions: pulumi.Input[Sequence[pulumi.Input[str]]],
2442
+ enforce_in_transit: Optional[pulumi.Input[bool]] = None):
1988
2443
  """
1989
2444
  :param pulumi.Input[Sequence[pulumi.Input[str]]] allowed_persistence_regions: A list of IDs of GCP regions where messages that are published to
1990
2445
  the topic may be persisted in storage. Messages published by
@@ -1992,8 +2447,14 @@ class TopicMessageStoragePolicyArgs:
1992
2447
  of GCP altogether) will be routed for storage in one of the
1993
2448
  allowed regions. An empty list means that no regions are allowed,
1994
2449
  and is not a valid configuration.
2450
+ :param pulumi.Input[bool] enforce_in_transit: If true, `allowedPersistenceRegions` is also used to enforce in-transit
2451
+ guarantees for messages. That is, Pub/Sub will fail topics.publish
2452
+ operations on this topic and subscribe operations on any subscription
2453
+ attached to this topic in any region that is not in `allowedPersistenceRegions`.
1995
2454
  """
1996
2455
  pulumi.set(__self__, "allowed_persistence_regions", allowed_persistence_regions)
2456
+ if enforce_in_transit is not None:
2457
+ pulumi.set(__self__, "enforce_in_transit", enforce_in_transit)
1997
2458
 
1998
2459
  @property
1999
2460
  @pulumi.getter(name="allowedPersistenceRegions")
@@ -2012,6 +2473,21 @@ class TopicMessageStoragePolicyArgs:
2012
2473
  def allowed_persistence_regions(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
2013
2474
  pulumi.set(self, "allowed_persistence_regions", value)
2014
2475
 
2476
+ @property
2477
+ @pulumi.getter(name="enforceInTransit")
2478
+ def enforce_in_transit(self) -> Optional[pulumi.Input[bool]]:
2479
+ """
2480
+ If true, `allowedPersistenceRegions` is also used to enforce in-transit
2481
+ guarantees for messages. That is, Pub/Sub will fail topics.publish
2482
+ operations on this topic and subscribe operations on any subscription
2483
+ attached to this topic in any region that is not in `allowedPersistenceRegions`.
2484
+ """
2485
+ return pulumi.get(self, "enforce_in_transit")
2486
+
2487
+ @enforce_in_transit.setter
2488
+ def enforce_in_transit(self, value: Optional[pulumi.Input[bool]]):
2489
+ pulumi.set(self, "enforce_in_transit", value)
2490
+
2015
2491
 
2016
2492
  if not MYPY:
2017
2493
  class TopicSchemaSettingsArgsDict(TypedDict):