pulumi-confluentcloud 2.13.0a1735836869__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 +81 -1
  2. pulumi_confluentcloud/_inputs.py +4170 -2453
  3. pulumi_confluentcloud/_utilities.py +9 -5
  4. pulumi_confluentcloud/access_point.py +144 -36
  5. pulumi_confluentcloud/api_key.py +138 -272
  6. pulumi_confluentcloud/business_metadata.py +76 -73
  7. pulumi_confluentcloud/business_metadata_binding.py +101 -98
  8. pulumi_confluentcloud/byok_key.py +12 -11
  9. pulumi_confluentcloud/catalog_entity_attributes.py +133 -92
  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 +168 -91
  14. pulumi_confluentcloud/config/__init__.py +2 -1
  15. pulumi_confluentcloud/config/__init__.pyi +23 -2
  16. pulumi_confluentcloud/config/outputs.py +110 -0
  17. pulumi_confluentcloud/config/vars.py +50 -21
  18. pulumi_confluentcloud/connect_artifact.py +478 -0
  19. pulumi_confluentcloud/connector.py +303 -81
  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 +88 -45
  23. pulumi_confluentcloud/dns_record.py +46 -45
  24. pulumi_confluentcloud/environment.py +74 -73
  25. pulumi_confluentcloud/flink_artifact.py +250 -194
  26. pulumi_confluentcloud/flink_compute_pool.py +101 -100
  27. pulumi_confluentcloud/flink_connection.py +935 -0
  28. pulumi_confluentcloud/flink_statement.py +218 -124
  29. pulumi_confluentcloud/gateway.py +44 -31
  30. pulumi_confluentcloud/get_access_point.py +36 -16
  31. pulumi_confluentcloud/get_business_metadata.py +25 -23
  32. pulumi_confluentcloud/get_business_metadata_binding.py +34 -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 +274 -0
  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 +59 -41
  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 +45 -17
  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 +51 -36
  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 +26 -24
  81. pulumi_confluentcloud/get_tag_binding.py +32 -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 -207
  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 +3400 -2088
  102. pulumi_confluentcloud/peering.py +128 -48
  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 +318 -192
  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 +82 -79
  122. pulumi_confluentcloud/tag_binding.py +121 -84
  123. pulumi_confluentcloud/tf_importer.py +39 -36
  124. pulumi_confluentcloud/transit_gateway_attachment.py +38 -44
  125. {pulumi_confluentcloud-2.13.0a1735836869.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.13.0a1735836869.dist-info → pulumi_confluentcloud-2.50.0a1762926155.dist-info}/WHEEL +1 -1
  128. pulumi_confluentcloud-2.13.0a1735836869.dist-info/RECORD +0 -113
  129. {pulumi_confluentcloud-2.13.0a1735836869.dist-info → pulumi_confluentcloud-2.50.0a1762926155.dist-info}/top_level.txt +0 -0
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -48,46 +48,46 @@ class GetCertificatePoolResult:
48
48
  raise TypeError("Expected argument 'id' to be a str")
49
49
  pulumi.set(__self__, "id", id)
50
50
 
51
- @property
51
+ @_builtins.property
52
52
  @pulumi.getter(name="certificateAuthority")
53
53
  def certificate_authority(self) -> 'outputs.GetCertificatePoolCertificateAuthorityResult':
54
54
  return pulumi.get(self, "certificate_authority")
55
55
 
56
- @property
56
+ @_builtins.property
57
57
  @pulumi.getter
58
- def description(self) -> str:
58
+ def description(self) -> _builtins.str:
59
59
  """
60
60
  (Required String) A description of the Certificate Pool.
61
61
  """
62
62
  return pulumi.get(self, "description")
63
63
 
64
- @property
64
+ @_builtins.property
65
65
  @pulumi.getter(name="displayName")
66
- def display_name(self) -> str:
66
+ def display_name(self) -> _builtins.str:
67
67
  """
68
68
  (Required String) A human-readable name for the Certificate Pool.
69
69
  """
70
70
  return pulumi.get(self, "display_name")
71
71
 
72
- @property
72
+ @_builtins.property
73
73
  @pulumi.getter(name="externalIdentifier")
74
- def external_identifier(self) -> str:
74
+ def external_identifier(self) -> _builtins.str:
75
75
  """
76
76
  (Required String) The certificate field that will be used to represent the pool's external identity for audit logging, for example, `UID`.
77
77
  """
78
78
  return pulumi.get(self, "external_identifier")
79
79
 
80
- @property
80
+ @_builtins.property
81
81
  @pulumi.getter
82
- def filter(self) -> str:
82
+ def filter(self) -> _builtins.str:
83
83
  """
84
84
  (Required String) A filter expression in [Supported Common Expression Language (CEL)](https://docs.confluent.io/cloud/current/access-management/authenticate/mtls/cel-filters.html) that specifies which identities can authenticate using your certificate pool.
85
85
  """
86
86
  return pulumi.get(self, "filter")
87
87
 
88
- @property
88
+ @_builtins.property
89
89
  @pulumi.getter
90
- def id(self) -> str:
90
+ def id(self) -> _builtins.str:
91
91
  return pulumi.get(self, "id")
92
92
 
93
93
 
@@ -106,7 +106,7 @@ class AwaitableGetCertificatePoolResult(GetCertificatePoolResult):
106
106
 
107
107
 
108
108
  def get_certificate_pool(certificate_authority: Optional[Union['GetCertificatePoolCertificateAuthorityArgs', 'GetCertificatePoolCertificateAuthorityArgsDict']] = None,
109
- id: Optional[str] = None,
109
+ id: Optional[_builtins.str] = None,
110
110
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetCertificatePoolResult:
111
111
  """
112
112
  [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
@@ -127,7 +127,7 @@ def get_certificate_pool(certificate_authority: Optional[Union['GetCertificatePo
127
127
  ```
128
128
 
129
129
 
130
- :param str id: The ID of the Certificate Pool, for example, `pool-abc123`.
130
+ :param _builtins.str id: The ID of the Certificate Pool, for example, `pool-abc123`.
131
131
  """
132
132
  __args__ = dict()
133
133
  __args__['certificateAuthority'] = certificate_authority
@@ -143,7 +143,7 @@ def get_certificate_pool(certificate_authority: Optional[Union['GetCertificatePo
143
143
  filter=pulumi.get(__ret__, 'filter'),
144
144
  id=pulumi.get(__ret__, 'id'))
145
145
  def get_certificate_pool_output(certificate_authority: Optional[pulumi.Input[Union['GetCertificatePoolCertificateAuthorityArgs', 'GetCertificatePoolCertificateAuthorityArgsDict']]] = None,
146
- id: Optional[pulumi.Input[str]] = None,
146
+ id: Optional[pulumi.Input[_builtins.str]] = None,
147
147
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetCertificatePoolResult]:
148
148
  """
149
149
  [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
@@ -164,7 +164,7 @@ def get_certificate_pool_output(certificate_authority: Optional[pulumi.Input[Uni
164
164
  ```
165
165
 
166
166
 
167
- :param str id: The ID of the Certificate Pool, for example, `pool-abc123`.
167
+ :param _builtins.str id: The ID of the Certificate Pool, for example, `pool-abc123`.
168
168
  """
169
169
  __args__ = dict()
170
170
  __args__['certificateAuthority'] = certificate_authority
@@ -0,0 +1,274 @@
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__ = [
20
+ 'GetClusterLinkResult',
21
+ 'AwaitableGetClusterLinkResult',
22
+ 'get_cluster_link',
23
+ 'get_cluster_link_output',
24
+ ]
25
+
26
+ @pulumi.output_type
27
+ class GetClusterLinkResult:
28
+ """
29
+ A collection of values returned by getClusterLink.
30
+ """
31
+ def __init__(__self__, cluster_link_id=None, config=None, credentials=None, id=None, kafka_cluster=None, link_name=None, link_state=None, rest_endpoint=None):
32
+ if cluster_link_id and not isinstance(cluster_link_id, str):
33
+ raise TypeError("Expected argument 'cluster_link_id' to be a str")
34
+ pulumi.set(__self__, "cluster_link_id", cluster_link_id)
35
+ if config and not isinstance(config, dict):
36
+ raise TypeError("Expected argument 'config' to be a dict")
37
+ pulumi.set(__self__, "config", config)
38
+ if credentials and not isinstance(credentials, dict):
39
+ raise TypeError("Expected argument 'credentials' to be a dict")
40
+ pulumi.set(__self__, "credentials", credentials)
41
+ if id and not isinstance(id, str):
42
+ raise TypeError("Expected argument 'id' to be a str")
43
+ pulumi.set(__self__, "id", id)
44
+ if kafka_cluster and not isinstance(kafka_cluster, dict):
45
+ raise TypeError("Expected argument 'kafka_cluster' to be a dict")
46
+ pulumi.set(__self__, "kafka_cluster", kafka_cluster)
47
+ if link_name and not isinstance(link_name, str):
48
+ raise TypeError("Expected argument 'link_name' to be a str")
49
+ pulumi.set(__self__, "link_name", link_name)
50
+ if link_state and not isinstance(link_state, str):
51
+ raise TypeError("Expected argument 'link_state' to be a str")
52
+ pulumi.set(__self__, "link_state", link_state)
53
+ if rest_endpoint and not isinstance(rest_endpoint, str):
54
+ raise TypeError("Expected argument 'rest_endpoint' to be a str")
55
+ pulumi.set(__self__, "rest_endpoint", rest_endpoint)
56
+
57
+ @_builtins.property
58
+ @pulumi.getter(name="clusterLinkId")
59
+ def cluster_link_id(self) -> _builtins.str:
60
+ """
61
+ (Required String) The actual Cluster Link ID assigned from Confluent Cloud that uniquely represents a link between two Kafka clusters, for example, `qz0HDEV-Qz2B5aPFpcWQJQ`.
62
+ """
63
+ return pulumi.get(self, "cluster_link_id")
64
+
65
+ @_builtins.property
66
+ @pulumi.getter
67
+ def config(self) -> Mapping[str, _builtins.str]:
68
+ """
69
+ (Optional Map) The custom cluster link settings retrieved:
70
+ """
71
+ return pulumi.get(self, "config")
72
+
73
+ @_builtins.property
74
+ @pulumi.getter
75
+ def credentials(self) -> Optional['outputs.GetClusterLinkCredentialsResult']:
76
+ return pulumi.get(self, "credentials")
77
+
78
+ @_builtins.property
79
+ @pulumi.getter
80
+ def id(self) -> _builtins.str:
81
+ """
82
+ (Required String) The composite ID of the Cluster Link data-source, in the format `<Kafka cluster ID>/<Cluster link name>`, for example, `lkc-abc123/my-cluster-link`.
83
+ """
84
+ return pulumi.get(self, "id")
85
+
86
+ @_builtins.property
87
+ @pulumi.getter(name="kafkaCluster")
88
+ def kafka_cluster(self) -> Optional['outputs.GetClusterLinkKafkaClusterResult']:
89
+ return pulumi.get(self, "kafka_cluster")
90
+
91
+ @_builtins.property
92
+ @pulumi.getter(name="linkName")
93
+ def link_name(self) -> _builtins.str:
94
+ return pulumi.get(self, "link_name")
95
+
96
+ @_builtins.property
97
+ @pulumi.getter(name="linkState")
98
+ def link_state(self) -> _builtins.str:
99
+ """
100
+ (Required String) The current state of the Cluster Link.
101
+ """
102
+ return pulumi.get(self, "link_state")
103
+
104
+ @_builtins.property
105
+ @pulumi.getter(name="restEndpoint")
106
+ def rest_endpoint(self) -> Optional[_builtins.str]:
107
+ return pulumi.get(self, "rest_endpoint")
108
+
109
+
110
+ class AwaitableGetClusterLinkResult(GetClusterLinkResult):
111
+ # pylint: disable=using-constant-test
112
+ def __await__(self):
113
+ if False:
114
+ yield self
115
+ return GetClusterLinkResult(
116
+ cluster_link_id=self.cluster_link_id,
117
+ config=self.config,
118
+ credentials=self.credentials,
119
+ id=self.id,
120
+ kafka_cluster=self.kafka_cluster,
121
+ link_name=self.link_name,
122
+ link_state=self.link_state,
123
+ rest_endpoint=self.rest_endpoint)
124
+
125
+
126
+ def get_cluster_link(credentials: Optional[Union['GetClusterLinkCredentialsArgs', 'GetClusterLinkCredentialsArgsDict']] = None,
127
+ kafka_cluster: Optional[Union['GetClusterLinkKafkaClusterArgs', 'GetClusterLinkKafkaClusterArgsDict']] = None,
128
+ link_name: Optional[_builtins.str] = None,
129
+ rest_endpoint: Optional[_builtins.str] = None,
130
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetClusterLinkResult:
131
+ """
132
+ [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
133
+
134
+ `ClusterLink` describes a Cluster Link data source.
135
+
136
+ ## Example Usage
137
+
138
+ ### Option #1: Manage multiple Kafka clusters in the same Pulumi Stack
139
+
140
+ ```python
141
+ import pulumi
142
+ import pulumi_confluentcloud as confluentcloud
143
+
144
+ main = confluentcloud.get_cluster_link(link_name="main-link",
145
+ rest_endpoint=west["restEndpoint"],
146
+ kafka_cluster={
147
+ "id": west["id"],
148
+ },
149
+ credentials={
150
+ "key": app_manager_west_cluster_api_key["id"],
151
+ "secret": app_manager_west_cluster_api_key["secret"],
152
+ })
153
+ pulumi.export("kafkaClusterLinkId", main.cluster_link_id)
154
+ ```
155
+
156
+ ### Option #2: Manage a single Kafka cluster in the same Pulumi Stack
157
+
158
+ ```python
159
+ import pulumi
160
+ import pulumi_confluentcloud as confluentcloud
161
+
162
+ main = confluentcloud.get_cluster_link(link_name="main-link")
163
+ pulumi.export("kafkaClusterLinkId", main.cluster_link_id)
164
+ ```
165
+
166
+ ### Option #3: Manage Kafka cluster(s) in the same Pulumi Stack using OAuth authentication
167
+
168
+ ```python
169
+ import pulumi
170
+ import pulumi_confluentcloud as confluentcloud
171
+
172
+ main = confluentcloud.get_cluster_link(link_name="main-link",
173
+ rest_endpoint=west["restEndpoint"],
174
+ kafka_cluster={
175
+ "id": west["id"],
176
+ })
177
+ pulumi.export("kafkaClusterLinkId", main.cluster_link_id)
178
+ ```
179
+
180
+
181
+ :param _builtins.str link_name: The name of the cluster link, for example, `my-cluster-link`.
182
+ :param _builtins.str rest_endpoint: The REST endpoint of the Kafka cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).
183
+ """
184
+ __args__ = dict()
185
+ __args__['credentials'] = credentials
186
+ __args__['kafkaCluster'] = kafka_cluster
187
+ __args__['linkName'] = link_name
188
+ __args__['restEndpoint'] = rest_endpoint
189
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
190
+ __ret__ = pulumi.runtime.invoke('confluentcloud:index/getClusterLink:getClusterLink', __args__, opts=opts, typ=GetClusterLinkResult).value
191
+
192
+ return AwaitableGetClusterLinkResult(
193
+ cluster_link_id=pulumi.get(__ret__, 'cluster_link_id'),
194
+ config=pulumi.get(__ret__, 'config'),
195
+ credentials=pulumi.get(__ret__, 'credentials'),
196
+ id=pulumi.get(__ret__, 'id'),
197
+ kafka_cluster=pulumi.get(__ret__, 'kafka_cluster'),
198
+ link_name=pulumi.get(__ret__, 'link_name'),
199
+ link_state=pulumi.get(__ret__, 'link_state'),
200
+ rest_endpoint=pulumi.get(__ret__, 'rest_endpoint'))
201
+ def get_cluster_link_output(credentials: Optional[pulumi.Input[Optional[Union['GetClusterLinkCredentialsArgs', 'GetClusterLinkCredentialsArgsDict']]]] = None,
202
+ kafka_cluster: Optional[pulumi.Input[Optional[Union['GetClusterLinkKafkaClusterArgs', 'GetClusterLinkKafkaClusterArgsDict']]]] = None,
203
+ link_name: Optional[pulumi.Input[_builtins.str]] = None,
204
+ rest_endpoint: Optional[pulumi.Input[Optional[_builtins.str]]] = None,
205
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetClusterLinkResult]:
206
+ """
207
+ [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
208
+
209
+ `ClusterLink` describes a Cluster Link data source.
210
+
211
+ ## Example Usage
212
+
213
+ ### Option #1: Manage multiple Kafka clusters in the same Pulumi Stack
214
+
215
+ ```python
216
+ import pulumi
217
+ import pulumi_confluentcloud as confluentcloud
218
+
219
+ main = confluentcloud.get_cluster_link(link_name="main-link",
220
+ rest_endpoint=west["restEndpoint"],
221
+ kafka_cluster={
222
+ "id": west["id"],
223
+ },
224
+ credentials={
225
+ "key": app_manager_west_cluster_api_key["id"],
226
+ "secret": app_manager_west_cluster_api_key["secret"],
227
+ })
228
+ pulumi.export("kafkaClusterLinkId", main.cluster_link_id)
229
+ ```
230
+
231
+ ### Option #2: Manage a single Kafka cluster in the same Pulumi Stack
232
+
233
+ ```python
234
+ import pulumi
235
+ import pulumi_confluentcloud as confluentcloud
236
+
237
+ main = confluentcloud.get_cluster_link(link_name="main-link")
238
+ pulumi.export("kafkaClusterLinkId", main.cluster_link_id)
239
+ ```
240
+
241
+ ### Option #3: Manage Kafka cluster(s) in the same Pulumi Stack using OAuth authentication
242
+
243
+ ```python
244
+ import pulumi
245
+ import pulumi_confluentcloud as confluentcloud
246
+
247
+ main = confluentcloud.get_cluster_link(link_name="main-link",
248
+ rest_endpoint=west["restEndpoint"],
249
+ kafka_cluster={
250
+ "id": west["id"],
251
+ })
252
+ pulumi.export("kafkaClusterLinkId", main.cluster_link_id)
253
+ ```
254
+
255
+
256
+ :param _builtins.str link_name: The name of the cluster link, for example, `my-cluster-link`.
257
+ :param _builtins.str rest_endpoint: The REST endpoint of the Kafka cluster, for example, `https://pkc-00000.us-central1.gcp.confluent.cloud:443`).
258
+ """
259
+ __args__ = dict()
260
+ __args__['credentials'] = credentials
261
+ __args__['kafkaCluster'] = kafka_cluster
262
+ __args__['linkName'] = link_name
263
+ __args__['restEndpoint'] = rest_endpoint
264
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
265
+ __ret__ = pulumi.runtime.invoke_output('confluentcloud:index/getClusterLink:getClusterLink', __args__, opts=opts, typ=GetClusterLinkResult)
266
+ return __ret__.apply(lambda __response__: GetClusterLinkResult(
267
+ cluster_link_id=pulumi.get(__response__, 'cluster_link_id'),
268
+ config=pulumi.get(__response__, 'config'),
269
+ credentials=pulumi.get(__response__, 'credentials'),
270
+ id=pulumi.get(__response__, 'id'),
271
+ kafka_cluster=pulumi.get(__response__, 'kafka_cluster'),
272
+ link_name=pulumi.get(__response__, 'link_name'),
273
+ link_state=pulumi.get(__response__, 'link_state'),
274
+ rest_endpoint=pulumi.get(__response__, 'rest_endpoint')))
@@ -0,0 +1,191 @@
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__ = [
20
+ 'GetConnectArtifactResult',
21
+ 'AwaitableGetConnectArtifactResult',
22
+ 'get_connect_artifact',
23
+ 'get_connect_artifact_output',
24
+ ]
25
+
26
+ @pulumi.output_type
27
+ class GetConnectArtifactResult:
28
+ """
29
+ A collection of values returned by getConnectArtifact.
30
+ """
31
+ def __init__(__self__, cloud=None, content_format=None, description=None, display_name=None, environment=None, id=None):
32
+ if cloud and not isinstance(cloud, str):
33
+ raise TypeError("Expected argument 'cloud' to be a str")
34
+ pulumi.set(__self__, "cloud", cloud)
35
+ if content_format and not isinstance(content_format, str):
36
+ raise TypeError("Expected argument 'content_format' to be a str")
37
+ pulumi.set(__self__, "content_format", content_format)
38
+ if description and not isinstance(description, str):
39
+ raise TypeError("Expected argument 'description' to be a str")
40
+ pulumi.set(__self__, "description", description)
41
+ if display_name and not isinstance(display_name, str):
42
+ raise TypeError("Expected argument 'display_name' to be a str")
43
+ pulumi.set(__self__, "display_name", display_name)
44
+ if environment and not isinstance(environment, dict):
45
+ raise TypeError("Expected argument 'environment' to be a dict")
46
+ pulumi.set(__self__, "environment", environment)
47
+ if id and not isinstance(id, str):
48
+ raise TypeError("Expected argument 'id' to be a str")
49
+ pulumi.set(__self__, "id", id)
50
+
51
+ @_builtins.property
52
+ @pulumi.getter
53
+ def cloud(self) -> _builtins.str:
54
+ return pulumi.get(self, "cloud")
55
+
56
+ @_builtins.property
57
+ @pulumi.getter(name="contentFormat")
58
+ def content_format(self) -> _builtins.str:
59
+ """
60
+ (String) Archive format of the Connect Artifact. Supported formats are `JAR` and `ZIP`.
61
+ """
62
+ return pulumi.get(self, "content_format")
63
+
64
+ @_builtins.property
65
+ @pulumi.getter
66
+ def description(self) -> _builtins.str:
67
+ """
68
+ (String) Description of the Connect Artifact.
69
+ """
70
+ return pulumi.get(self, "description")
71
+
72
+ @_builtins.property
73
+ @pulumi.getter(name="displayName")
74
+ def display_name(self) -> _builtins.str:
75
+ """
76
+ (String) The unique name of the Connect Artifact per cloud, environment scope.
77
+ """
78
+ return pulumi.get(self, "display_name")
79
+
80
+ @_builtins.property
81
+ @pulumi.getter
82
+ def environment(self) -> 'outputs.GetConnectArtifactEnvironmentResult':
83
+ return pulumi.get(self, "environment")
84
+
85
+ @_builtins.property
86
+ @pulumi.getter
87
+ def id(self) -> _builtins.str:
88
+ return pulumi.get(self, "id")
89
+
90
+
91
+ class AwaitableGetConnectArtifactResult(GetConnectArtifactResult):
92
+ # pylint: disable=using-constant-test
93
+ def __await__(self):
94
+ if False:
95
+ yield self
96
+ return GetConnectArtifactResult(
97
+ cloud=self.cloud,
98
+ content_format=self.content_format,
99
+ description=self.description,
100
+ display_name=self.display_name,
101
+ environment=self.environment,
102
+ id=self.id)
103
+
104
+
105
+ def get_connect_artifact(cloud: Optional[_builtins.str] = None,
106
+ environment: Optional[Union['GetConnectArtifactEnvironmentArgs', 'GetConnectArtifactEnvironmentArgsDict']] = None,
107
+ id: Optional[_builtins.str] = None,
108
+ opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetConnectArtifactResult:
109
+ """
110
+ [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
111
+
112
+ `ConnectArtifact` data source represents a Connect Artifact in Confluent Cloud. Connect Artifacts are used to store and manage custom connector plugins in Confluent Cloud.
113
+
114
+ ## Example Usage
115
+
116
+ ```python
117
+ import pulumi
118
+ import pulumi_confluentcloud as confluentcloud
119
+
120
+ example = confluentcloud.get_connect_artifact(id="ca-123456",
121
+ environment={
122
+ "id": "env-123456",
123
+ },
124
+ cloud="AWS")
125
+ pulumi.export("artifactName", example.display_name)
126
+ pulumi.export("artifactCloud", example.cloud)
127
+ pulumi.export("artifactContentFormat", example.content_format)
128
+ pulumi.export("artifactDescription", example.description)
129
+ ```
130
+
131
+
132
+ :param _builtins.str cloud: Cloud provider where the Connect Artifact archive is uploaded.
133
+ :param _builtins.str id: The ID of the Connect Artifact.
134
+ """
135
+ __args__ = dict()
136
+ __args__['cloud'] = cloud
137
+ __args__['environment'] = environment
138
+ __args__['id'] = id
139
+ opts = pulumi.InvokeOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
140
+ __ret__ = pulumi.runtime.invoke('confluentcloud:index/getConnectArtifact:getConnectArtifact', __args__, opts=opts, typ=GetConnectArtifactResult).value
141
+
142
+ return AwaitableGetConnectArtifactResult(
143
+ cloud=pulumi.get(__ret__, 'cloud'),
144
+ content_format=pulumi.get(__ret__, 'content_format'),
145
+ description=pulumi.get(__ret__, 'description'),
146
+ display_name=pulumi.get(__ret__, 'display_name'),
147
+ environment=pulumi.get(__ret__, 'environment'),
148
+ id=pulumi.get(__ret__, 'id'))
149
+ def get_connect_artifact_output(cloud: Optional[pulumi.Input[_builtins.str]] = None,
150
+ environment: Optional[pulumi.Input[Union['GetConnectArtifactEnvironmentArgs', 'GetConnectArtifactEnvironmentArgsDict']]] = None,
151
+ id: Optional[pulumi.Input[_builtins.str]] = None,
152
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetConnectArtifactResult]:
153
+ """
154
+ [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
155
+
156
+ `ConnectArtifact` data source represents a Connect Artifact in Confluent Cloud. Connect Artifacts are used to store and manage custom connector plugins in Confluent Cloud.
157
+
158
+ ## Example Usage
159
+
160
+ ```python
161
+ import pulumi
162
+ import pulumi_confluentcloud as confluentcloud
163
+
164
+ example = confluentcloud.get_connect_artifact(id="ca-123456",
165
+ environment={
166
+ "id": "env-123456",
167
+ },
168
+ cloud="AWS")
169
+ pulumi.export("artifactName", example.display_name)
170
+ pulumi.export("artifactCloud", example.cloud)
171
+ pulumi.export("artifactContentFormat", example.content_format)
172
+ pulumi.export("artifactDescription", example.description)
173
+ ```
174
+
175
+
176
+ :param _builtins.str cloud: Cloud provider where the Connect Artifact archive is uploaded.
177
+ :param _builtins.str id: The ID of the Connect Artifact.
178
+ """
179
+ __args__ = dict()
180
+ __args__['cloud'] = cloud
181
+ __args__['environment'] = environment
182
+ __args__['id'] = id
183
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
184
+ __ret__ = pulumi.runtime.invoke_output('confluentcloud:index/getConnectArtifact:getConnectArtifact', __args__, opts=opts, typ=GetConnectArtifactResult)
185
+ return __ret__.apply(lambda __response__: GetConnectArtifactResult(
186
+ cloud=pulumi.get(__response__, 'cloud'),
187
+ content_format=pulumi.get(__response__, 'content_format'),
188
+ description=pulumi.get(__response__, 'description'),
189
+ display_name=pulumi.get(__response__, 'display_name'),
190
+ environment=pulumi.get(__response__, 'environment'),
191
+ id=pulumi.get(__response__, 'id')))
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -48,28 +48,28 @@ class GetDnsRecordResult:
48
48
  raise TypeError("Expected argument 'private_link_access_points' to be a list")
49
49
  pulumi.set(__self__, "private_link_access_points", private_link_access_points)
50
50
 
51
- @property
51
+ @_builtins.property
52
52
  @pulumi.getter(name="displayName")
53
- def display_name(self) -> str:
53
+ def display_name(self) -> _builtins.str:
54
54
  """
55
55
  (Required String) A human-readable name for the DNS Record.
56
56
  """
57
57
  return pulumi.get(self, "display_name")
58
58
 
59
- @property
59
+ @_builtins.property
60
60
  @pulumi.getter
61
- def domain(self) -> str:
61
+ def domain(self) -> _builtins.str:
62
62
  """
63
63
  (Required String) The fully qualified domain name of the DNS Record.
64
64
  """
65
65
  return pulumi.get(self, "domain")
66
66
 
67
- @property
67
+ @_builtins.property
68
68
  @pulumi.getter
69
69
  def environment(self) -> 'outputs.GetDnsRecordEnvironmentResult':
70
70
  return pulumi.get(self, "environment")
71
71
 
72
- @property
72
+ @_builtins.property
73
73
  @pulumi.getter
74
74
  def gateways(self) -> Sequence['outputs.GetDnsRecordGatewayResult']:
75
75
  """
@@ -77,15 +77,15 @@ class GetDnsRecordResult:
77
77
  """
78
78
  return pulumi.get(self, "gateways")
79
79
 
80
- @property
80
+ @_builtins.property
81
81
  @pulumi.getter
82
- def id(self) -> str:
82
+ def id(self) -> _builtins.str:
83
83
  """
84
84
  (Required String) The ID of the Private Link access point to which the DNS Record is associated, for example `ap-123abc`.
85
85
  """
86
86
  return pulumi.get(self, "id")
87
87
 
88
- @property
88
+ @_builtins.property
89
89
  @pulumi.getter(name="privateLinkAccessPoints")
90
90
  def private_link_access_points(self) -> Sequence['outputs.GetDnsRecordPrivateLinkAccessPointResult']:
91
91
  """
@@ -109,7 +109,7 @@ class AwaitableGetDnsRecordResult(GetDnsRecordResult):
109
109
 
110
110
 
111
111
  def get_dns_record(environment: Optional[Union['GetDnsRecordEnvironmentArgs', 'GetDnsRecordEnvironmentArgsDict']] = None,
112
- id: Optional[str] = None,
112
+ id: Optional[_builtins.str] = None,
113
113
  opts: Optional[pulumi.InvokeOptions] = None) -> AwaitableGetDnsRecordResult:
114
114
  """
115
115
  [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
@@ -130,7 +130,7 @@ def get_dns_record(environment: Optional[Union['GetDnsRecordEnvironmentArgs', 'G
130
130
  ```
131
131
 
132
132
 
133
- :param str id: The ID of the DNS Record, for example, `dnsrec-abc123`.
133
+ :param _builtins.str id: The ID of the DNS Record, for example, `dnsrec-abc123`.
134
134
  """
135
135
  __args__ = dict()
136
136
  __args__['environment'] = environment
@@ -146,7 +146,7 @@ def get_dns_record(environment: Optional[Union['GetDnsRecordEnvironmentArgs', 'G
146
146
  id=pulumi.get(__ret__, 'id'),
147
147
  private_link_access_points=pulumi.get(__ret__, 'private_link_access_points'))
148
148
  def get_dns_record_output(environment: Optional[pulumi.Input[Union['GetDnsRecordEnvironmentArgs', 'GetDnsRecordEnvironmentArgsDict']]] = None,
149
- id: Optional[pulumi.Input[str]] = None,
149
+ id: Optional[pulumi.Input[_builtins.str]] = None,
150
150
  opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetDnsRecordResult]:
151
151
  """
152
152
  [![General Availability](https://img.shields.io/badge/Lifecycle%20Stage-General%20Availability-%2345c6e8)](https://docs.confluent.io/cloud/current/api.html#section/Versioning/API-Lifecycle-Policy)
@@ -167,7 +167,7 @@ def get_dns_record_output(environment: Optional[pulumi.Input[Union['GetDnsRecord
167
167
  ```
168
168
 
169
169
 
170
- :param str id: The ID of the DNS Record, for example, `dnsrec-abc123`.
170
+ :param _builtins.str id: The ID of the DNS Record, for example, `dnsrec-abc123`.
171
171
  """
172
172
  __args__ = dict()
173
173
  __args__['environment'] = environment