pulumi-confluentcloud 2.19.0a1741152525__py3-none-any.whl → 2.50.0a1762926155__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.

Potentially problematic release.


This version of pulumi-confluentcloud might be problematic. Click here for more details.

Files changed (129) hide show
  1. pulumi_confluentcloud/__init__.py +80 -1
  2. pulumi_confluentcloud/_inputs.py +3875 -2512
  3. pulumi_confluentcloud/_utilities.py +1 -1
  4. pulumi_confluentcloud/access_point.py +76 -37
  5. pulumi_confluentcloud/api_key.py +134 -124
  6. pulumi_confluentcloud/business_metadata.py +72 -71
  7. pulumi_confluentcloud/business_metadata_binding.py +97 -96
  8. pulumi_confluentcloud/byok_key.py +12 -11
  9. pulumi_confluentcloud/catalog_entity_attributes.py +125 -76
  10. pulumi_confluentcloud/catalog_integration.py +544 -0
  11. pulumi_confluentcloud/certificate_authority.py +156 -155
  12. pulumi_confluentcloud/certificate_pool.py +74 -73
  13. pulumi_confluentcloud/cluster_link.py +148 -99
  14. pulumi_confluentcloud/config/__init__.py +2 -1
  15. pulumi_confluentcloud/config/__init__.pyi +18 -2
  16. pulumi_confluentcloud/config/outputs.py +110 -0
  17. pulumi_confluentcloud/config/vars.py +44 -22
  18. pulumi_confluentcloud/connect_artifact.py +478 -0
  19. pulumi_confluentcloud/connector.py +95 -90
  20. pulumi_confluentcloud/custom_connector_plugin.py +142 -141
  21. pulumi_confluentcloud/custom_connector_plugin_version.py +614 -0
  22. pulumi_confluentcloud/dns_forwarder.py +53 -48
  23. pulumi_confluentcloud/dns_record.py +46 -45
  24. pulumi_confluentcloud/environment.py +74 -73
  25. pulumi_confluentcloud/flink_artifact.py +190 -187
  26. pulumi_confluentcloud/flink_compute_pool.py +101 -100
  27. pulumi_confluentcloud/flink_connection.py +935 -0
  28. pulumi_confluentcloud/flink_statement.py +155 -140
  29. pulumi_confluentcloud/gateway.py +44 -31
  30. pulumi_confluentcloud/get_access_point.py +16 -16
  31. pulumi_confluentcloud/get_business_metadata.py +23 -23
  32. pulumi_confluentcloud/get_business_metadata_binding.py +32 -32
  33. pulumi_confluentcloud/get_byok_key.py +11 -11
  34. pulumi_confluentcloud/get_catalog_integration.py +188 -0
  35. pulumi_confluentcloud/get_certificate_authority.py +38 -38
  36. pulumi_confluentcloud/get_certificate_pool.py +17 -17
  37. pulumi_confluentcloud/get_cluster_link.py +52 -24
  38. pulumi_confluentcloud/get_connect_artifact.py +191 -0
  39. pulumi_confluentcloud/get_dns_record.py +15 -15
  40. pulumi_confluentcloud/get_environment.py +17 -17
  41. pulumi_confluentcloud/get_environments.py +6 -6
  42. pulumi_confluentcloud/get_flink_artifact.py +46 -46
  43. pulumi_confluentcloud/get_flink_compute_pool.py +27 -27
  44. pulumi_confluentcloud/get_flink_connection.py +267 -0
  45. pulumi_confluentcloud/get_flink_region.py +24 -24
  46. pulumi_confluentcloud/get_gateway.py +18 -18
  47. pulumi_confluentcloud/get_group_mapping.py +18 -18
  48. pulumi_confluentcloud/get_identity_pool.py +21 -21
  49. pulumi_confluentcloud/get_identity_provider.py +35 -21
  50. pulumi_confluentcloud/get_invitation.py +20 -20
  51. pulumi_confluentcloud/get_ip_addresses.py +6 -6
  52. pulumi_confluentcloud/get_ip_filter.py +175 -0
  53. pulumi_confluentcloud/get_ip_group.py +133 -0
  54. pulumi_confluentcloud/get_kafka_client_quota.py +17 -17
  55. pulumi_confluentcloud/get_kafka_cluster.py +55 -41
  56. pulumi_confluentcloud/get_kafka_topic.py +22 -22
  57. pulumi_confluentcloud/get_ksql_cluster.py +33 -33
  58. pulumi_confluentcloud/get_network.py +54 -40
  59. pulumi_confluentcloud/get_network_link_endpoint.py +17 -17
  60. pulumi_confluentcloud/get_network_link_service.py +23 -17
  61. pulumi_confluentcloud/get_organization.py +6 -6
  62. pulumi_confluentcloud/get_peering.py +19 -19
  63. pulumi_confluentcloud/get_private_link_access.py +19 -19
  64. pulumi_confluentcloud/get_private_link_attachment.py +29 -27
  65. pulumi_confluentcloud/get_private_link_attachment_connection.py +24 -21
  66. pulumi_confluentcloud/get_provider_integration.py +28 -18
  67. pulumi_confluentcloud/get_role_binding.py +14 -14
  68. pulumi_confluentcloud/get_schema.py +40 -40
  69. pulumi_confluentcloud/get_schema_registry_cluster.py +50 -35
  70. pulumi_confluentcloud/get_schema_registry_cluster_config.py +16 -16
  71. pulumi_confluentcloud/get_schema_registry_cluster_mode.py +14 -14
  72. pulumi_confluentcloud/get_schema_registry_clusters.py +6 -6
  73. pulumi_confluentcloud/get_schema_registry_dek.py +42 -42
  74. pulumi_confluentcloud/get_schema_registry_kek.py +30 -30
  75. pulumi_confluentcloud/get_schemas.py +14 -14
  76. pulumi_confluentcloud/get_service_account.py +20 -20
  77. pulumi_confluentcloud/get_subject_config.py +22 -22
  78. pulumi_confluentcloud/get_subject_mode.py +20 -20
  79. pulumi_confluentcloud/get_tableflow_topic.py +360 -0
  80. pulumi_confluentcloud/get_tag.py +24 -24
  81. pulumi_confluentcloud/get_tag_binding.py +30 -30
  82. pulumi_confluentcloud/get_transit_gateway_attachment.py +17 -17
  83. pulumi_confluentcloud/get_user.py +24 -24
  84. pulumi_confluentcloud/get_users.py +6 -6
  85. pulumi_confluentcloud/group_mapping.py +54 -53
  86. pulumi_confluentcloud/identity_pool.py +74 -73
  87. pulumi_confluentcloud/identity_provider.py +138 -76
  88. pulumi_confluentcloud/invitation.py +81 -80
  89. pulumi_confluentcloud/ip_filter.py +420 -0
  90. pulumi_confluentcloud/ip_group.py +264 -0
  91. pulumi_confluentcloud/kafka_acl.py +173 -172
  92. pulumi_confluentcloud/kafka_client_quota.py +63 -62
  93. pulumi_confluentcloud/kafka_cluster.py +227 -201
  94. pulumi_confluentcloud/kafka_cluster_config.py +43 -42
  95. pulumi_confluentcloud/kafka_mirror_topic.py +46 -45
  96. pulumi_confluentcloud/kafka_topic.py +132 -131
  97. pulumi_confluentcloud/ksql_cluster.py +117 -120
  98. pulumi_confluentcloud/network.py +235 -198
  99. pulumi_confluentcloud/network_link_endpoint.py +62 -68
  100. pulumi_confluentcloud/network_link_service.py +62 -68
  101. pulumi_confluentcloud/outputs.py +3135 -2130
  102. pulumi_confluentcloud/peering.py +60 -66
  103. pulumi_confluentcloud/plugin.py +428 -0
  104. pulumi_confluentcloud/private_link_access.py +54 -60
  105. pulumi_confluentcloud/private_link_attachment.py +93 -88
  106. pulumi_confluentcloud/private_link_attachment_connection.py +70 -47
  107. pulumi_confluentcloud/provider.py +299 -201
  108. pulumi_confluentcloud/provider_integration.py +45 -34
  109. pulumi_confluentcloud/pulumi-plugin.json +1 -1
  110. pulumi_confluentcloud/role_binding.py +153 -56
  111. pulumi_confluentcloud/schema.py +188 -212
  112. pulumi_confluentcloud/schema_exporter.py +217 -164
  113. pulumi_confluentcloud/schema_registry_cluster_config.py +60 -59
  114. pulumi_confluentcloud/schema_registry_cluster_mode.py +90 -42
  115. pulumi_confluentcloud/schema_registry_dek.py +140 -146
  116. pulumi_confluentcloud/schema_registry_kek.py +148 -154
  117. pulumi_confluentcloud/service_account.py +97 -96
  118. pulumi_confluentcloud/subject_config.py +105 -76
  119. pulumi_confluentcloud/subject_mode.py +107 -59
  120. pulumi_confluentcloud/tableflow_topic.py +854 -0
  121. pulumi_confluentcloud/tag.py +78 -77
  122. pulumi_confluentcloud/tag_binding.py +117 -82
  123. pulumi_confluentcloud/tf_importer.py +37 -36
  124. pulumi_confluentcloud/transit_gateway_attachment.py +38 -44
  125. {pulumi_confluentcloud-2.19.0a1741152525.dist-info → pulumi_confluentcloud-2.50.0a1762926155.dist-info}/METADATA +4 -4
  126. pulumi_confluentcloud-2.50.0a1762926155.dist-info/RECORD +129 -0
  127. {pulumi_confluentcloud-2.19.0a1741152525.dist-info → pulumi_confluentcloud-2.50.0a1762926155.dist-info}/WHEEL +1 -1
  128. pulumi_confluentcloud-2.19.0a1741152525.dist-info/RECORD +0 -114
  129. {pulumi_confluentcloud-2.19.0a1741152525.dist-info → pulumi_confluentcloud-2.50.0a1762926155.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,544 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from . import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['CatalogIntegrationArgs', 'CatalogIntegration']
20
+
21
+ @pulumi.input_type
22
+ class CatalogIntegrationArgs:
23
+ def __init__(__self__, *,
24
+ display_name: pulumi.Input[_builtins.str],
25
+ environment: pulumi.Input['CatalogIntegrationEnvironmentArgs'],
26
+ kafka_cluster: pulumi.Input['CatalogIntegrationKafkaClusterArgs'],
27
+ aws_glue: Optional[pulumi.Input['CatalogIntegrationAwsGlueArgs']] = None,
28
+ credentials: Optional[pulumi.Input['CatalogIntegrationCredentialsArgs']] = None,
29
+ snowflake: Optional[pulumi.Input['CatalogIntegrationSnowflakeArgs']] = None):
30
+ """
31
+ The set of arguments for constructing a CatalogIntegration resource.
32
+ :param pulumi.Input[_builtins.str] display_name: The name of the catalog integration.
33
+ :param pulumi.Input['CatalogIntegrationEnvironmentArgs'] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
34
+ :param pulumi.Input['CatalogIntegrationAwsGlueArgs'] aws_glue: supports the following (see [Integrate Tableflow with the AWS Glue Catalog in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-aws-glue-catalog.html) for more details):
35
+ :param pulumi.Input['CatalogIntegrationCredentialsArgs'] credentials: The Cluster API Credentials.
36
+ :param pulumi.Input['CatalogIntegrationSnowflakeArgs'] snowflake: supports the following (see [Integrate Tableflow with Snowflake Open Catalog or Apache Polaris in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-snowflake-open-catalog-or-apache-polaris.html) for more details):
37
+ """
38
+ pulumi.set(__self__, "display_name", display_name)
39
+ pulumi.set(__self__, "environment", environment)
40
+ pulumi.set(__self__, "kafka_cluster", kafka_cluster)
41
+ if aws_glue is not None:
42
+ pulumi.set(__self__, "aws_glue", aws_glue)
43
+ if credentials is not None:
44
+ pulumi.set(__self__, "credentials", credentials)
45
+ if snowflake is not None:
46
+ pulumi.set(__self__, "snowflake", snowflake)
47
+
48
+ @_builtins.property
49
+ @pulumi.getter(name="displayName")
50
+ def display_name(self) -> pulumi.Input[_builtins.str]:
51
+ """
52
+ The name of the catalog integration.
53
+ """
54
+ return pulumi.get(self, "display_name")
55
+
56
+ @display_name.setter
57
+ def display_name(self, value: pulumi.Input[_builtins.str]):
58
+ pulumi.set(self, "display_name", value)
59
+
60
+ @_builtins.property
61
+ @pulumi.getter
62
+ def environment(self) -> pulumi.Input['CatalogIntegrationEnvironmentArgs']:
63
+ """
64
+ Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
65
+ """
66
+ return pulumi.get(self, "environment")
67
+
68
+ @environment.setter
69
+ def environment(self, value: pulumi.Input['CatalogIntegrationEnvironmentArgs']):
70
+ pulumi.set(self, "environment", value)
71
+
72
+ @_builtins.property
73
+ @pulumi.getter(name="kafkaCluster")
74
+ def kafka_cluster(self) -> pulumi.Input['CatalogIntegrationKafkaClusterArgs']:
75
+ return pulumi.get(self, "kafka_cluster")
76
+
77
+ @kafka_cluster.setter
78
+ def kafka_cluster(self, value: pulumi.Input['CatalogIntegrationKafkaClusterArgs']):
79
+ pulumi.set(self, "kafka_cluster", value)
80
+
81
+ @_builtins.property
82
+ @pulumi.getter(name="awsGlue")
83
+ def aws_glue(self) -> Optional[pulumi.Input['CatalogIntegrationAwsGlueArgs']]:
84
+ """
85
+ supports the following (see [Integrate Tableflow with the AWS Glue Catalog in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-aws-glue-catalog.html) for more details):
86
+ """
87
+ return pulumi.get(self, "aws_glue")
88
+
89
+ @aws_glue.setter
90
+ def aws_glue(self, value: Optional[pulumi.Input['CatalogIntegrationAwsGlueArgs']]):
91
+ pulumi.set(self, "aws_glue", value)
92
+
93
+ @_builtins.property
94
+ @pulumi.getter
95
+ def credentials(self) -> Optional[pulumi.Input['CatalogIntegrationCredentialsArgs']]:
96
+ """
97
+ The Cluster API Credentials.
98
+ """
99
+ return pulumi.get(self, "credentials")
100
+
101
+ @credentials.setter
102
+ def credentials(self, value: Optional[pulumi.Input['CatalogIntegrationCredentialsArgs']]):
103
+ pulumi.set(self, "credentials", value)
104
+
105
+ @_builtins.property
106
+ @pulumi.getter
107
+ def snowflake(self) -> Optional[pulumi.Input['CatalogIntegrationSnowflakeArgs']]:
108
+ """
109
+ supports the following (see [Integrate Tableflow with Snowflake Open Catalog or Apache Polaris in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-snowflake-open-catalog-or-apache-polaris.html) for more details):
110
+ """
111
+ return pulumi.get(self, "snowflake")
112
+
113
+ @snowflake.setter
114
+ def snowflake(self, value: Optional[pulumi.Input['CatalogIntegrationSnowflakeArgs']]):
115
+ pulumi.set(self, "snowflake", value)
116
+
117
+
118
+ @pulumi.input_type
119
+ class _CatalogIntegrationState:
120
+ def __init__(__self__, *,
121
+ aws_glue: Optional[pulumi.Input['CatalogIntegrationAwsGlueArgs']] = None,
122
+ credentials: Optional[pulumi.Input['CatalogIntegrationCredentialsArgs']] = None,
123
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
124
+ environment: Optional[pulumi.Input['CatalogIntegrationEnvironmentArgs']] = None,
125
+ kafka_cluster: Optional[pulumi.Input['CatalogIntegrationKafkaClusterArgs']] = None,
126
+ snowflake: Optional[pulumi.Input['CatalogIntegrationSnowflakeArgs']] = None,
127
+ suspended: Optional[pulumi.Input[_builtins.bool]] = None):
128
+ """
129
+ Input properties used for looking up and filtering CatalogIntegration resources.
130
+ :param pulumi.Input['CatalogIntegrationAwsGlueArgs'] aws_glue: supports the following (see [Integrate Tableflow with the AWS Glue Catalog in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-aws-glue-catalog.html) for more details):
131
+ :param pulumi.Input['CatalogIntegrationCredentialsArgs'] credentials: The Cluster API Credentials.
132
+ :param pulumi.Input[_builtins.str] display_name: The name of the catalog integration.
133
+ :param pulumi.Input['CatalogIntegrationEnvironmentArgs'] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
134
+ :param pulumi.Input['CatalogIntegrationSnowflakeArgs'] snowflake: supports the following (see [Integrate Tableflow with Snowflake Open Catalog or Apache Polaris in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-snowflake-open-catalog-or-apache-polaris.html) for more details):
135
+ :param pulumi.Input[_builtins.bool] suspended: (Optional Boolean) Indicates whether the Catalog Integration should be suspended.
136
+ """
137
+ if aws_glue is not None:
138
+ pulumi.set(__self__, "aws_glue", aws_glue)
139
+ if credentials is not None:
140
+ pulumi.set(__self__, "credentials", credentials)
141
+ if display_name is not None:
142
+ pulumi.set(__self__, "display_name", display_name)
143
+ if environment is not None:
144
+ pulumi.set(__self__, "environment", environment)
145
+ if kafka_cluster is not None:
146
+ pulumi.set(__self__, "kafka_cluster", kafka_cluster)
147
+ if snowflake is not None:
148
+ pulumi.set(__self__, "snowflake", snowflake)
149
+ if suspended is not None:
150
+ pulumi.set(__self__, "suspended", suspended)
151
+
152
+ @_builtins.property
153
+ @pulumi.getter(name="awsGlue")
154
+ def aws_glue(self) -> Optional[pulumi.Input['CatalogIntegrationAwsGlueArgs']]:
155
+ """
156
+ supports the following (see [Integrate Tableflow with the AWS Glue Catalog in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-aws-glue-catalog.html) for more details):
157
+ """
158
+ return pulumi.get(self, "aws_glue")
159
+
160
+ @aws_glue.setter
161
+ def aws_glue(self, value: Optional[pulumi.Input['CatalogIntegrationAwsGlueArgs']]):
162
+ pulumi.set(self, "aws_glue", value)
163
+
164
+ @_builtins.property
165
+ @pulumi.getter
166
+ def credentials(self) -> Optional[pulumi.Input['CatalogIntegrationCredentialsArgs']]:
167
+ """
168
+ The Cluster API Credentials.
169
+ """
170
+ return pulumi.get(self, "credentials")
171
+
172
+ @credentials.setter
173
+ def credentials(self, value: Optional[pulumi.Input['CatalogIntegrationCredentialsArgs']]):
174
+ pulumi.set(self, "credentials", value)
175
+
176
+ @_builtins.property
177
+ @pulumi.getter(name="displayName")
178
+ def display_name(self) -> Optional[pulumi.Input[_builtins.str]]:
179
+ """
180
+ The name of the catalog integration.
181
+ """
182
+ return pulumi.get(self, "display_name")
183
+
184
+ @display_name.setter
185
+ def display_name(self, value: Optional[pulumi.Input[_builtins.str]]):
186
+ pulumi.set(self, "display_name", value)
187
+
188
+ @_builtins.property
189
+ @pulumi.getter
190
+ def environment(self) -> Optional[pulumi.Input['CatalogIntegrationEnvironmentArgs']]:
191
+ """
192
+ Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
193
+ """
194
+ return pulumi.get(self, "environment")
195
+
196
+ @environment.setter
197
+ def environment(self, value: Optional[pulumi.Input['CatalogIntegrationEnvironmentArgs']]):
198
+ pulumi.set(self, "environment", value)
199
+
200
+ @_builtins.property
201
+ @pulumi.getter(name="kafkaCluster")
202
+ def kafka_cluster(self) -> Optional[pulumi.Input['CatalogIntegrationKafkaClusterArgs']]:
203
+ return pulumi.get(self, "kafka_cluster")
204
+
205
+ @kafka_cluster.setter
206
+ def kafka_cluster(self, value: Optional[pulumi.Input['CatalogIntegrationKafkaClusterArgs']]):
207
+ pulumi.set(self, "kafka_cluster", value)
208
+
209
+ @_builtins.property
210
+ @pulumi.getter
211
+ def snowflake(self) -> Optional[pulumi.Input['CatalogIntegrationSnowflakeArgs']]:
212
+ """
213
+ supports the following (see [Integrate Tableflow with Snowflake Open Catalog or Apache Polaris in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-snowflake-open-catalog-or-apache-polaris.html) for more details):
214
+ """
215
+ return pulumi.get(self, "snowflake")
216
+
217
+ @snowflake.setter
218
+ def snowflake(self, value: Optional[pulumi.Input['CatalogIntegrationSnowflakeArgs']]):
219
+ pulumi.set(self, "snowflake", value)
220
+
221
+ @_builtins.property
222
+ @pulumi.getter
223
+ def suspended(self) -> Optional[pulumi.Input[_builtins.bool]]:
224
+ """
225
+ (Optional Boolean) Indicates whether the Catalog Integration should be suspended.
226
+ """
227
+ return pulumi.get(self, "suspended")
228
+
229
+ @suspended.setter
230
+ def suspended(self, value: Optional[pulumi.Input[_builtins.bool]]):
231
+ pulumi.set(self, "suspended", value)
232
+
233
+
234
+ @pulumi.type_token("confluentcloud:index/catalogIntegration:CatalogIntegration")
235
+ class CatalogIntegration(pulumi.CustomResource):
236
+ @overload
237
+ def __init__(__self__,
238
+ resource_name: str,
239
+ opts: Optional[pulumi.ResourceOptions] = None,
240
+ aws_glue: Optional[pulumi.Input[Union['CatalogIntegrationAwsGlueArgs', 'CatalogIntegrationAwsGlueArgsDict']]] = None,
241
+ credentials: Optional[pulumi.Input[Union['CatalogIntegrationCredentialsArgs', 'CatalogIntegrationCredentialsArgsDict']]] = None,
242
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
243
+ environment: Optional[pulumi.Input[Union['CatalogIntegrationEnvironmentArgs', 'CatalogIntegrationEnvironmentArgsDict']]] = None,
244
+ kafka_cluster: Optional[pulumi.Input[Union['CatalogIntegrationKafkaClusterArgs', 'CatalogIntegrationKafkaClusterArgsDict']]] = None,
245
+ snowflake: Optional[pulumi.Input[Union['CatalogIntegrationSnowflakeArgs', 'CatalogIntegrationSnowflakeArgsDict']]] = None,
246
+ __props__=None):
247
+ """
248
+ ## Example Usage
249
+
250
+ ### Option #1: Manage multiple Catalog Integrations in the same Pulumi Stack
251
+
252
+ ```python
253
+ import pulumi
254
+ import pulumi_confluentcloud as confluentcloud
255
+
256
+ example = confluentcloud.CatalogIntegration("example",
257
+ environment={
258
+ "id": staging["id"],
259
+ },
260
+ kafka_cluster={
261
+ "id": staging_confluent_kafka_cluster["id"],
262
+ },
263
+ display_name="catalog-integration-1",
264
+ aws_glue={
265
+ "provider_integration_id": main["id"],
266
+ },
267
+ credentials={
268
+ "key": env_admin_tableflow_api_key["id"],
269
+ "secret": env_admin_tableflow_api_key["secret"],
270
+ })
271
+ ```
272
+
273
+ ### Option #2: Manage a single Catalog Integration in the same Pulumi Stack
274
+
275
+ ```python
276
+ import pulumi
277
+ import pulumi_confluentcloud as confluentcloud
278
+
279
+ example = confluentcloud.CatalogIntegration("example",
280
+ environment={
281
+ "id": staging["id"],
282
+ },
283
+ kafka_cluster={
284
+ "id": staging_confluent_kafka_cluster["id"],
285
+ },
286
+ display_name="catalog-integration-1",
287
+ snowflake={
288
+ "endpoint": "https://vuser1_polaris.snowflakecomputing.com/",
289
+ "client_id": "***REDACTED***",
290
+ "client_secret": "***REDACTED***",
291
+ "warehouse": "catalog-name",
292
+ "allowed_scope": "session:role:R1",
293
+ })
294
+ ```
295
+
296
+ ## Import
297
+
298
+ You can import a Catalog Integration by using the Catalog Integration name, Environment ID, and Kafka Cluster ID, in the format `<Environment ID>/<Kafka Cluster ID>/<Catalog Integration Id>`, for example:
299
+
300
+ Option #1: Manage multiple Catalog Integrations in the same Pulumi Stack
301
+
302
+ $ export IMPORT_TABLEFLOW_API_KEY="<tableflow_api_key>"
303
+
304
+ $ export IMPORT_TABLEFLOW_API_SECRET="<tableflow_api_secret>"
305
+
306
+ ```sh
307
+ $ pulumi import confluentcloud:index/catalogIntegration:CatalogIntegration example env-abc123/lkc-abc123/tci-abc123
308
+ ```
309
+
310
+ Option #2: Manage a single Catalog Integration in the same Pulumi Stack
311
+
312
+ ```sh
313
+ $ pulumi import confluentcloud:index/catalogIntegration:CatalogIntegration example env-abc123/lkc-abc123/tci-abc123
314
+ ```
315
+
316
+ !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes.
317
+
318
+ :param str resource_name: The name of the resource.
319
+ :param pulumi.ResourceOptions opts: Options for the resource.
320
+ :param pulumi.Input[Union['CatalogIntegrationAwsGlueArgs', 'CatalogIntegrationAwsGlueArgsDict']] aws_glue: supports the following (see [Integrate Tableflow with the AWS Glue Catalog in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-aws-glue-catalog.html) for more details):
321
+ :param pulumi.Input[Union['CatalogIntegrationCredentialsArgs', 'CatalogIntegrationCredentialsArgsDict']] credentials: The Cluster API Credentials.
322
+ :param pulumi.Input[_builtins.str] display_name: The name of the catalog integration.
323
+ :param pulumi.Input[Union['CatalogIntegrationEnvironmentArgs', 'CatalogIntegrationEnvironmentArgsDict']] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
324
+ :param pulumi.Input[Union['CatalogIntegrationSnowflakeArgs', 'CatalogIntegrationSnowflakeArgsDict']] snowflake: supports the following (see [Integrate Tableflow with Snowflake Open Catalog or Apache Polaris in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-snowflake-open-catalog-or-apache-polaris.html) for more details):
325
+ """
326
+ ...
327
+ @overload
328
+ def __init__(__self__,
329
+ resource_name: str,
330
+ args: CatalogIntegrationArgs,
331
+ opts: Optional[pulumi.ResourceOptions] = None):
332
+ """
333
+ ## Example Usage
334
+
335
+ ### Option #1: Manage multiple Catalog Integrations in the same Pulumi Stack
336
+
337
+ ```python
338
+ import pulumi
339
+ import pulumi_confluentcloud as confluentcloud
340
+
341
+ example = confluentcloud.CatalogIntegration("example",
342
+ environment={
343
+ "id": staging["id"],
344
+ },
345
+ kafka_cluster={
346
+ "id": staging_confluent_kafka_cluster["id"],
347
+ },
348
+ display_name="catalog-integration-1",
349
+ aws_glue={
350
+ "provider_integration_id": main["id"],
351
+ },
352
+ credentials={
353
+ "key": env_admin_tableflow_api_key["id"],
354
+ "secret": env_admin_tableflow_api_key["secret"],
355
+ })
356
+ ```
357
+
358
+ ### Option #2: Manage a single Catalog Integration in the same Pulumi Stack
359
+
360
+ ```python
361
+ import pulumi
362
+ import pulumi_confluentcloud as confluentcloud
363
+
364
+ example = confluentcloud.CatalogIntegration("example",
365
+ environment={
366
+ "id": staging["id"],
367
+ },
368
+ kafka_cluster={
369
+ "id": staging_confluent_kafka_cluster["id"],
370
+ },
371
+ display_name="catalog-integration-1",
372
+ snowflake={
373
+ "endpoint": "https://vuser1_polaris.snowflakecomputing.com/",
374
+ "client_id": "***REDACTED***",
375
+ "client_secret": "***REDACTED***",
376
+ "warehouse": "catalog-name",
377
+ "allowed_scope": "session:role:R1",
378
+ })
379
+ ```
380
+
381
+ ## Import
382
+
383
+ You can import a Catalog Integration by using the Catalog Integration name, Environment ID, and Kafka Cluster ID, in the format `<Environment ID>/<Kafka Cluster ID>/<Catalog Integration Id>`, for example:
384
+
385
+ Option #1: Manage multiple Catalog Integrations in the same Pulumi Stack
386
+
387
+ $ export IMPORT_TABLEFLOW_API_KEY="<tableflow_api_key>"
388
+
389
+ $ export IMPORT_TABLEFLOW_API_SECRET="<tableflow_api_secret>"
390
+
391
+ ```sh
392
+ $ pulumi import confluentcloud:index/catalogIntegration:CatalogIntegration example env-abc123/lkc-abc123/tci-abc123
393
+ ```
394
+
395
+ Option #2: Manage a single Catalog Integration in the same Pulumi Stack
396
+
397
+ ```sh
398
+ $ pulumi import confluentcloud:index/catalogIntegration:CatalogIntegration example env-abc123/lkc-abc123/tci-abc123
399
+ ```
400
+
401
+ !> **Warning:** Do not forget to delete terminal command history afterwards for security purposes.
402
+
403
+ :param str resource_name: The name of the resource.
404
+ :param CatalogIntegrationArgs args: The arguments to use to populate this resource's properties.
405
+ :param pulumi.ResourceOptions opts: Options for the resource.
406
+ """
407
+ ...
408
+ def __init__(__self__, resource_name: str, *args, **kwargs):
409
+ resource_args, opts = _utilities.get_resource_args_opts(CatalogIntegrationArgs, pulumi.ResourceOptions, *args, **kwargs)
410
+ if resource_args is not None:
411
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
412
+ else:
413
+ __self__._internal_init(resource_name, *args, **kwargs)
414
+
415
+ def _internal_init(__self__,
416
+ resource_name: str,
417
+ opts: Optional[pulumi.ResourceOptions] = None,
418
+ aws_glue: Optional[pulumi.Input[Union['CatalogIntegrationAwsGlueArgs', 'CatalogIntegrationAwsGlueArgsDict']]] = None,
419
+ credentials: Optional[pulumi.Input[Union['CatalogIntegrationCredentialsArgs', 'CatalogIntegrationCredentialsArgsDict']]] = None,
420
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
421
+ environment: Optional[pulumi.Input[Union['CatalogIntegrationEnvironmentArgs', 'CatalogIntegrationEnvironmentArgsDict']]] = None,
422
+ kafka_cluster: Optional[pulumi.Input[Union['CatalogIntegrationKafkaClusterArgs', 'CatalogIntegrationKafkaClusterArgsDict']]] = None,
423
+ snowflake: Optional[pulumi.Input[Union['CatalogIntegrationSnowflakeArgs', 'CatalogIntegrationSnowflakeArgsDict']]] = None,
424
+ __props__=None):
425
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
426
+ if not isinstance(opts, pulumi.ResourceOptions):
427
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
428
+ if opts.id is None:
429
+ if __props__ is not None:
430
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
431
+ __props__ = CatalogIntegrationArgs.__new__(CatalogIntegrationArgs)
432
+
433
+ __props__.__dict__["aws_glue"] = aws_glue
434
+ __props__.__dict__["credentials"] = None if credentials is None else pulumi.Output.secret(credentials)
435
+ if display_name is None and not opts.urn:
436
+ raise TypeError("Missing required property 'display_name'")
437
+ __props__.__dict__["display_name"] = display_name
438
+ if environment is None and not opts.urn:
439
+ raise TypeError("Missing required property 'environment'")
440
+ __props__.__dict__["environment"] = environment
441
+ if kafka_cluster is None and not opts.urn:
442
+ raise TypeError("Missing required property 'kafka_cluster'")
443
+ __props__.__dict__["kafka_cluster"] = kafka_cluster
444
+ __props__.__dict__["snowflake"] = snowflake
445
+ __props__.__dict__["suspended"] = None
446
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["credentials"])
447
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
448
+ super(CatalogIntegration, __self__).__init__(
449
+ 'confluentcloud:index/catalogIntegration:CatalogIntegration',
450
+ resource_name,
451
+ __props__,
452
+ opts)
453
+
454
+ @staticmethod
455
+ def get(resource_name: str,
456
+ id: pulumi.Input[str],
457
+ opts: Optional[pulumi.ResourceOptions] = None,
458
+ aws_glue: Optional[pulumi.Input[Union['CatalogIntegrationAwsGlueArgs', 'CatalogIntegrationAwsGlueArgsDict']]] = None,
459
+ credentials: Optional[pulumi.Input[Union['CatalogIntegrationCredentialsArgs', 'CatalogIntegrationCredentialsArgsDict']]] = None,
460
+ display_name: Optional[pulumi.Input[_builtins.str]] = None,
461
+ environment: Optional[pulumi.Input[Union['CatalogIntegrationEnvironmentArgs', 'CatalogIntegrationEnvironmentArgsDict']]] = None,
462
+ kafka_cluster: Optional[pulumi.Input[Union['CatalogIntegrationKafkaClusterArgs', 'CatalogIntegrationKafkaClusterArgsDict']]] = None,
463
+ snowflake: Optional[pulumi.Input[Union['CatalogIntegrationSnowflakeArgs', 'CatalogIntegrationSnowflakeArgsDict']]] = None,
464
+ suspended: Optional[pulumi.Input[_builtins.bool]] = None) -> 'CatalogIntegration':
465
+ """
466
+ Get an existing CatalogIntegration resource's state with the given name, id, and optional extra
467
+ properties used to qualify the lookup.
468
+
469
+ :param str resource_name: The unique name of the resulting resource.
470
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
471
+ :param pulumi.ResourceOptions opts: Options for the resource.
472
+ :param pulumi.Input[Union['CatalogIntegrationAwsGlueArgs', 'CatalogIntegrationAwsGlueArgsDict']] aws_glue: supports the following (see [Integrate Tableflow with the AWS Glue Catalog in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-aws-glue-catalog.html) for more details):
473
+ :param pulumi.Input[Union['CatalogIntegrationCredentialsArgs', 'CatalogIntegrationCredentialsArgsDict']] credentials: The Cluster API Credentials.
474
+ :param pulumi.Input[_builtins.str] display_name: The name of the catalog integration.
475
+ :param pulumi.Input[Union['CatalogIntegrationEnvironmentArgs', 'CatalogIntegrationEnvironmentArgsDict']] environment: Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
476
+ :param pulumi.Input[Union['CatalogIntegrationSnowflakeArgs', 'CatalogIntegrationSnowflakeArgsDict']] snowflake: supports the following (see [Integrate Tableflow with Snowflake Open Catalog or Apache Polaris in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-snowflake-open-catalog-or-apache-polaris.html) for more details):
477
+ :param pulumi.Input[_builtins.bool] suspended: (Optional Boolean) Indicates whether the Catalog Integration should be suspended.
478
+ """
479
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
480
+
481
+ __props__ = _CatalogIntegrationState.__new__(_CatalogIntegrationState)
482
+
483
+ __props__.__dict__["aws_glue"] = aws_glue
484
+ __props__.__dict__["credentials"] = credentials
485
+ __props__.__dict__["display_name"] = display_name
486
+ __props__.__dict__["environment"] = environment
487
+ __props__.__dict__["kafka_cluster"] = kafka_cluster
488
+ __props__.__dict__["snowflake"] = snowflake
489
+ __props__.__dict__["suspended"] = suspended
490
+ return CatalogIntegration(resource_name, opts=opts, __props__=__props__)
491
+
492
+ @_builtins.property
493
+ @pulumi.getter(name="awsGlue")
494
+ def aws_glue(self) -> pulumi.Output[Optional['outputs.CatalogIntegrationAwsGlue']]:
495
+ """
496
+ supports the following (see [Integrate Tableflow with the AWS Glue Catalog in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-aws-glue-catalog.html) for more details):
497
+ """
498
+ return pulumi.get(self, "aws_glue")
499
+
500
+ @_builtins.property
501
+ @pulumi.getter
502
+ def credentials(self) -> pulumi.Output[Optional['outputs.CatalogIntegrationCredentials']]:
503
+ """
504
+ The Cluster API Credentials.
505
+ """
506
+ return pulumi.get(self, "credentials")
507
+
508
+ @_builtins.property
509
+ @pulumi.getter(name="displayName")
510
+ def display_name(self) -> pulumi.Output[_builtins.str]:
511
+ """
512
+ The name of the catalog integration.
513
+ """
514
+ return pulumi.get(self, "display_name")
515
+
516
+ @_builtins.property
517
+ @pulumi.getter
518
+ def environment(self) -> pulumi.Output['outputs.CatalogIntegrationEnvironment']:
519
+ """
520
+ Environment objects represent an isolated namespace for your Confluent resources for organizational purposes.
521
+ """
522
+ return pulumi.get(self, "environment")
523
+
524
+ @_builtins.property
525
+ @pulumi.getter(name="kafkaCluster")
526
+ def kafka_cluster(self) -> pulumi.Output['outputs.CatalogIntegrationKafkaCluster']:
527
+ return pulumi.get(self, "kafka_cluster")
528
+
529
+ @_builtins.property
530
+ @pulumi.getter
531
+ def snowflake(self) -> pulumi.Output[Optional['outputs.CatalogIntegrationSnowflake']]:
532
+ """
533
+ supports the following (see [Integrate Tableflow with Snowflake Open Catalog or Apache Polaris in Confluent Cloud](https://docs.confluent.io/cloud/current/topics/tableflow/how-to-guides/catalog-integration/integrate-with-snowflake-open-catalog-or-apache-polaris.html) for more details):
534
+ """
535
+ return pulumi.get(self, "snowflake")
536
+
537
+ @_builtins.property
538
+ @pulumi.getter
539
+ def suspended(self) -> pulumi.Output[_builtins.bool]:
540
+ """
541
+ (Optional Boolean) Indicates whether the Catalog Integration should be suspended.
542
+ """
543
+ return pulumi.get(self, "suspended")
544
+