pulumi-kafka 3.7.0a1710156443__py3-none-any.whl → 3.9.0a1736833688__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-kafka might be problematic. Click here for more details.

@@ -4,6 +4,7 @@
4
4
 
5
5
 
6
6
  import asyncio
7
+ import functools
7
8
  import importlib.metadata
8
9
  import importlib.util
9
10
  import inspect
@@ -11,14 +12,19 @@ import json
11
12
  import os
12
13
  import sys
13
14
  import typing
15
+ import warnings
16
+ import base64
14
17
 
15
18
  import pulumi
16
19
  import pulumi.runtime
17
20
  from pulumi.runtime.sync_await import _sync_await
21
+ from pulumi.runtime.proto import resource_pb2
18
22
 
19
23
  from semver import VersionInfo as SemverVersion
20
24
  from parver import Version as PEP440Version
21
25
 
26
+ C = typing.TypeVar("C", bound=typing.Callable)
27
+
22
28
 
23
29
  def get_env(*args):
24
30
  for v in args:
@@ -96,10 +102,6 @@ def _get_semver_version():
96
102
  _version = _get_semver_version()
97
103
  _version_str = str(_version)
98
104
 
99
-
100
- def get_version():
101
- return _version_str
102
-
103
105
  def get_resource_opts_defaults() -> pulumi.ResourceOptions:
104
106
  return pulumi.ResourceOptions(
105
107
  version=get_version(),
@@ -262,7 +264,7 @@ def call_plain(
262
264
  output = pulumi.runtime.call(tok, props, res, typ)
263
265
 
264
266
  # Ingoring deps silently. They are typically non-empty, r.f() calls include r as a dependency.
265
- result, known, secret, _ = _sync_await(asyncio.ensure_future(_await_output(output)))
267
+ result, known, secret, _ = _sync_await(asyncio.create_task(_await_output(output)))
266
268
 
267
269
  problem = None
268
270
  if not known:
@@ -287,5 +289,39 @@ async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bo
287
289
  await o._resources,
288
290
  )
289
291
 
292
+
293
+ # This is included to provide an upgrade path for users who are using a version
294
+ # of the Pulumi SDK (<3.121.0) that does not include the `deprecated` decorator.
295
+ def deprecated(message: str) -> typing.Callable[[C], C]:
296
+ """
297
+ Decorator to indicate a function is deprecated.
298
+
299
+ As well as inserting appropriate statements to indicate that the function is
300
+ deprecated, this decorator also tags the function with a special attribute
301
+ so that Pulumi code can detect that it is deprecated and react appropriately
302
+ in certain situations.
303
+
304
+ message is the deprecation message that should be printed if the function is called.
305
+ """
306
+
307
+ def decorator(fn: C) -> C:
308
+ if not callable(fn):
309
+ raise TypeError("Expected fn to be callable")
310
+
311
+ @functools.wraps(fn)
312
+ def deprecated_fn(*args, **kwargs):
313
+ warnings.warn(message)
314
+ pulumi.warn(f"{fn.__name__} is deprecated: {message}")
315
+
316
+ return fn(*args, **kwargs)
317
+
318
+ deprecated_fn.__dict__["_pulumi_deprecated_callable"] = fn
319
+ return typing.cast(C, deprecated_fn)
320
+
321
+ return decorator
322
+
290
323
  def get_plugin_download_url():
291
324
  return None
325
+
326
+ def get_version():
327
+ return _version_str
pulumi_kafka/acl.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['AclArgs', 'Acl']
@@ -287,7 +292,6 @@ class Acl(pulumi.CustomResource):
287
292
 
288
293
  ## Example Usage
289
294
 
290
- <!--Start PulumiCodeChooser -->
291
295
  ```python
292
296
  import pulumi
293
297
  import pulumi_kafka as kafka
@@ -300,7 +304,6 @@ class Acl(pulumi.CustomResource):
300
304
  acl_operation="Write",
301
305
  acl_permission_type="Deny")
302
306
  ```
303
- <!--End PulumiCodeChooser -->
304
307
 
305
308
  ## Import
306
309
 
@@ -342,7 +345,6 @@ class Acl(pulumi.CustomResource):
342
345
 
343
346
  ## Example Usage
344
347
 
345
- <!--Start PulumiCodeChooser -->
346
348
  ```python
347
349
  import pulumi
348
350
  import pulumi_kafka as kafka
@@ -355,7 +357,6 @@ class Acl(pulumi.CustomResource):
355
357
  acl_operation="Write",
356
358
  acl_permission_type="Deny")
357
359
  ```
358
- <!--End PulumiCodeChooser -->
359
360
 
360
361
  ## Import
361
362
 
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from .. import _utilities
11
16
 
12
17
  bootstrapServers: Optional[str]
@@ -49,11 +54,47 @@ clientKeyPassphrase: Optional[str]
49
54
  The passphrase for the private key that the certificate was issued for.
50
55
  """
51
56
 
57
+ kafkaVersion: Optional[str]
58
+ """
59
+ The version of Kafka protocol to use in `$MAJOR.$MINOR.$PATCH` format. Some features may not be available on older
60
+ versions. Default is 2.7.0.
61
+ """
62
+
63
+ saslAwsAccessKey: Optional[str]
64
+ """
65
+ The AWS access key.
66
+ """
67
+
68
+ saslAwsCredsDebug: Optional[bool]
69
+ """
70
+ Set this to true to turn AWS credentials debug.
71
+ """
72
+
73
+ saslAwsProfile: Optional[str]
74
+ """
75
+ AWS profile name to use
76
+ """
77
+
52
78
  saslAwsRegion: Optional[str]
53
79
  """
54
80
  AWS region where MSK is deployed.
55
81
  """
56
82
 
83
+ saslAwsRoleArn: Optional[str]
84
+ """
85
+ Arn of an AWS IAM role to assume
86
+ """
87
+
88
+ saslAwsSecretKey: Optional[str]
89
+ """
90
+ The AWS secret key.
91
+ """
92
+
93
+ saslAwsToken: Optional[str]
94
+ """
95
+ The AWS session token. Only required if you are using temporary security credentials.
96
+ """
97
+
57
98
  saslMechanism: str
58
99
  """
59
100
  SASL mechanism, can be plain, scram-sha512, scram-sha256, aws-iam
@@ -64,6 +105,11 @@ saslPassword: Optional[str]
64
105
  Password for SASL authentication.
65
106
  """
66
107
 
108
+ saslTokenUrl: Optional[str]
109
+ """
110
+ The url to retrieve oauth2 tokens from, when using sasl mechanism oauthbearer
111
+ """
112
+
67
113
  saslUsername: Optional[str]
68
114
  """
69
115
  Username for SASL authentication.
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from .. import _utilities
11
16
 
12
17
  import types
@@ -71,6 +76,35 @@ class _ExportableConfig(types.ModuleType):
71
76
  """
72
77
  return __config__.get('clientKeyPassphrase')
73
78
 
79
+ @property
80
+ def kafka_version(self) -> Optional[str]:
81
+ """
82
+ The version of Kafka protocol to use in `$MAJOR.$MINOR.$PATCH` format. Some features may not be available on older
83
+ versions. Default is 2.7.0.
84
+ """
85
+ return __config__.get('kafkaVersion')
86
+
87
+ @property
88
+ def sasl_aws_access_key(self) -> Optional[str]:
89
+ """
90
+ The AWS access key.
91
+ """
92
+ return __config__.get('saslAwsAccessKey')
93
+
94
+ @property
95
+ def sasl_aws_creds_debug(self) -> Optional[bool]:
96
+ """
97
+ Set this to true to turn AWS credentials debug.
98
+ """
99
+ return __config__.get_bool('saslAwsCredsDebug')
100
+
101
+ @property
102
+ def sasl_aws_profile(self) -> Optional[str]:
103
+ """
104
+ AWS profile name to use
105
+ """
106
+ return __config__.get('saslAwsProfile')
107
+
74
108
  @property
75
109
  def sasl_aws_region(self) -> Optional[str]:
76
110
  """
@@ -78,6 +112,27 @@ class _ExportableConfig(types.ModuleType):
78
112
  """
79
113
  return __config__.get('saslAwsRegion')
80
114
 
115
+ @property
116
+ def sasl_aws_role_arn(self) -> Optional[str]:
117
+ """
118
+ Arn of an AWS IAM role to assume
119
+ """
120
+ return __config__.get('saslAwsRoleArn')
121
+
122
+ @property
123
+ def sasl_aws_secret_key(self) -> Optional[str]:
124
+ """
125
+ The AWS secret key.
126
+ """
127
+ return __config__.get('saslAwsSecretKey')
128
+
129
+ @property
130
+ def sasl_aws_token(self) -> Optional[str]:
131
+ """
132
+ The AWS session token. Only required if you are using temporary security credentials.
133
+ """
134
+ return __config__.get('saslAwsToken')
135
+
81
136
  @property
82
137
  def sasl_mechanism(self) -> str:
83
138
  """
@@ -92,6 +147,13 @@ class _ExportableConfig(types.ModuleType):
92
147
  """
93
148
  return __config__.get('saslPassword')
94
149
 
150
+ @property
151
+ def sasl_token_url(self) -> Optional[str]:
152
+ """
153
+ The url to retrieve oauth2 tokens from, when using sasl mechanism oauthbearer
154
+ """
155
+ return __config__.get('saslTokenUrl')
156
+
95
157
  @property
96
158
  def sasl_username(self) -> Optional[str]:
97
159
  """
pulumi_kafka/get_topic.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = [
@@ -40,7 +45,7 @@ class GetTopicResult:
40
45
 
41
46
  @property
42
47
  @pulumi.getter
43
- def config(self) -> Mapping[str, Any]:
48
+ def config(self) -> Mapping[str, str]:
44
49
  return pulumi.get(self, "config")
45
50
 
46
51
  @property
@@ -96,12 +101,18 @@ def get_topic(name: Optional[str] = None,
96
101
  name=pulumi.get(__ret__, 'name'),
97
102
  partitions=pulumi.get(__ret__, 'partitions'),
98
103
  replication_factor=pulumi.get(__ret__, 'replication_factor'))
99
-
100
-
101
- @_utilities.lift_output_func(get_topic)
102
104
  def get_topic_output(name: Optional[pulumi.Input[str]] = None,
103
- opts: Optional[pulumi.InvokeOptions] = None) -> pulumi.Output[GetTopicResult]:
105
+ opts: Optional[Union[pulumi.InvokeOptions, pulumi.InvokeOutputOptions]] = None) -> pulumi.Output[GetTopicResult]:
104
106
  """
105
107
  Use this data source to access information about an existing resource.
106
108
  """
107
- ...
109
+ __args__ = dict()
110
+ __args__['name'] = name
111
+ opts = pulumi.InvokeOutputOptions.merge(_utilities.get_invoke_opts_defaults(), opts)
112
+ __ret__ = pulumi.runtime.invoke_output('kafka:index:getTopic', __args__, opts=opts, typ=GetTopicResult)
113
+ return __ret__.apply(lambda __response__: GetTopicResult(
114
+ config=pulumi.get(__response__, 'config'),
115
+ id=pulumi.get(__response__, 'id'),
116
+ name=pulumi.get(__response__, 'name'),
117
+ partitions=pulumi.get(__response__, 'partitions'),
118
+ replication_factor=pulumi.get(__response__, 'replication_factor')))
pulumi_kafka/provider.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['ProviderArgs', 'Provider']
@@ -22,9 +27,17 @@ class ProviderArgs:
22
27
  client_key: Optional[pulumi.Input[str]] = None,
23
28
  client_key_file: Optional[pulumi.Input[str]] = None,
24
29
  client_key_passphrase: Optional[pulumi.Input[str]] = None,
30
+ kafka_version: Optional[pulumi.Input[str]] = None,
31
+ sasl_aws_access_key: Optional[pulumi.Input[str]] = None,
32
+ sasl_aws_creds_debug: Optional[pulumi.Input[bool]] = None,
33
+ sasl_aws_profile: Optional[pulumi.Input[str]] = None,
25
34
  sasl_aws_region: Optional[pulumi.Input[str]] = None,
35
+ sasl_aws_role_arn: Optional[pulumi.Input[str]] = None,
36
+ sasl_aws_secret_key: Optional[pulumi.Input[str]] = None,
37
+ sasl_aws_token: Optional[pulumi.Input[str]] = None,
26
38
  sasl_mechanism: Optional[pulumi.Input[str]] = None,
27
39
  sasl_password: Optional[pulumi.Input[str]] = None,
40
+ sasl_token_url: Optional[pulumi.Input[str]] = None,
28
41
  sasl_username: Optional[pulumi.Input[str]] = None,
29
42
  skip_tls_verify: Optional[pulumi.Input[bool]] = None,
30
43
  timeout: Optional[pulumi.Input[int]] = None,
@@ -39,9 +52,18 @@ class ProviderArgs:
39
52
  :param pulumi.Input[str] client_key: The private key that the certificate was issued for.
40
53
  :param pulumi.Input[str] client_key_file: Path to a file containing the private key that the certificate was issued for.
41
54
  :param pulumi.Input[str] client_key_passphrase: The passphrase for the private key that the certificate was issued for.
55
+ :param pulumi.Input[str] kafka_version: The version of Kafka protocol to use in `$MAJOR.$MINOR.$PATCH` format. Some features may not be available on older
56
+ versions. Default is 2.7.0.
57
+ :param pulumi.Input[str] sasl_aws_access_key: The AWS access key.
58
+ :param pulumi.Input[bool] sasl_aws_creds_debug: Set this to true to turn AWS credentials debug.
59
+ :param pulumi.Input[str] sasl_aws_profile: AWS profile name to use
42
60
  :param pulumi.Input[str] sasl_aws_region: AWS region where MSK is deployed.
61
+ :param pulumi.Input[str] sasl_aws_role_arn: Arn of an AWS IAM role to assume
62
+ :param pulumi.Input[str] sasl_aws_secret_key: The AWS secret key.
63
+ :param pulumi.Input[str] sasl_aws_token: The AWS session token. Only required if you are using temporary security credentials.
43
64
  :param pulumi.Input[str] sasl_mechanism: SASL mechanism, can be plain, scram-sha512, scram-sha256, aws-iam
44
65
  :param pulumi.Input[str] sasl_password: Password for SASL authentication.
66
+ :param pulumi.Input[str] sasl_token_url: The url to retrieve oauth2 tokens from, when using sasl mechanism oauthbearer
45
67
  :param pulumi.Input[str] sasl_username: Username for SASL authentication.
46
68
  :param pulumi.Input[bool] skip_tls_verify: Set this to true only if the target Kafka server is an insecure development instance.
47
69
  :param pulumi.Input[int] timeout: Timeout in seconds
@@ -71,14 +93,30 @@ class ProviderArgs:
71
93
  pulumi.set(__self__, "client_key_file", client_key_file)
72
94
  if client_key_passphrase is not None:
73
95
  pulumi.set(__self__, "client_key_passphrase", client_key_passphrase)
96
+ if kafka_version is not None:
97
+ pulumi.set(__self__, "kafka_version", kafka_version)
98
+ if sasl_aws_access_key is not None:
99
+ pulumi.set(__self__, "sasl_aws_access_key", sasl_aws_access_key)
100
+ if sasl_aws_creds_debug is not None:
101
+ pulumi.set(__self__, "sasl_aws_creds_debug", sasl_aws_creds_debug)
102
+ if sasl_aws_profile is not None:
103
+ pulumi.set(__self__, "sasl_aws_profile", sasl_aws_profile)
74
104
  if sasl_aws_region is not None:
75
105
  pulumi.set(__self__, "sasl_aws_region", sasl_aws_region)
106
+ if sasl_aws_role_arn is not None:
107
+ pulumi.set(__self__, "sasl_aws_role_arn", sasl_aws_role_arn)
108
+ if sasl_aws_secret_key is not None:
109
+ pulumi.set(__self__, "sasl_aws_secret_key", sasl_aws_secret_key)
110
+ if sasl_aws_token is not None:
111
+ pulumi.set(__self__, "sasl_aws_token", sasl_aws_token)
76
112
  if sasl_mechanism is None:
77
113
  sasl_mechanism = (_utilities.get_env('KAFKA_SASL_MECHANISM') or 'plain')
78
114
  if sasl_mechanism is not None:
79
115
  pulumi.set(__self__, "sasl_mechanism", sasl_mechanism)
80
116
  if sasl_password is not None:
81
117
  pulumi.set(__self__, "sasl_password", sasl_password)
118
+ if sasl_token_url is not None:
119
+ pulumi.set(__self__, "sasl_token_url", sasl_token_url)
82
120
  if sasl_username is not None:
83
121
  pulumi.set(__self__, "sasl_username", sasl_username)
84
122
  if skip_tls_verify is None:
@@ -118,13 +156,11 @@ class ProviderArgs:
118
156
 
119
157
  @property
120
158
  @pulumi.getter(name="caCertFile")
159
+ @_utilities.deprecated("""This parameter is now deprecated and will be removed in a later release, please use `ca_cert` instead.""")
121
160
  def ca_cert_file(self) -> Optional[pulumi.Input[str]]:
122
161
  """
123
162
  Path to a CA certificate file to validate the server's certificate.
124
163
  """
125
- warnings.warn("""This parameter is now deprecated and will be removed in a later release, please use `ca_cert` instead.""", DeprecationWarning)
126
- pulumi.log.warn("""ca_cert_file is deprecated: This parameter is now deprecated and will be removed in a later release, please use `ca_cert` instead.""")
127
-
128
164
  return pulumi.get(self, "ca_cert_file")
129
165
 
130
166
  @ca_cert_file.setter
@@ -145,13 +181,11 @@ class ProviderArgs:
145
181
 
146
182
  @property
147
183
  @pulumi.getter(name="clientCertFile")
184
+ @_utilities.deprecated("""This parameter is now deprecated and will be removed in a later release, please use `client_cert` instead.""")
148
185
  def client_cert_file(self) -> Optional[pulumi.Input[str]]:
149
186
  """
150
187
  Path to a file containing the client certificate.
151
188
  """
152
- warnings.warn("""This parameter is now deprecated and will be removed in a later release, please use `client_cert` instead.""", DeprecationWarning)
153
- pulumi.log.warn("""client_cert_file is deprecated: This parameter is now deprecated and will be removed in a later release, please use `client_cert` instead.""")
154
-
155
189
  return pulumi.get(self, "client_cert_file")
156
190
 
157
191
  @client_cert_file.setter
@@ -172,13 +206,11 @@ class ProviderArgs:
172
206
 
173
207
  @property
174
208
  @pulumi.getter(name="clientKeyFile")
209
+ @_utilities.deprecated("""This parameter is now deprecated and will be removed in a later release, please use `client_key` instead.""")
175
210
  def client_key_file(self) -> Optional[pulumi.Input[str]]:
176
211
  """
177
212
  Path to a file containing the private key that the certificate was issued for.
178
213
  """
179
- warnings.warn("""This parameter is now deprecated and will be removed in a later release, please use `client_key` instead.""", DeprecationWarning)
180
- pulumi.log.warn("""client_key_file is deprecated: This parameter is now deprecated and will be removed in a later release, please use `client_key` instead.""")
181
-
182
214
  return pulumi.get(self, "client_key_file")
183
215
 
184
216
  @client_key_file.setter
@@ -197,6 +229,55 @@ class ProviderArgs:
197
229
  def client_key_passphrase(self, value: Optional[pulumi.Input[str]]):
198
230
  pulumi.set(self, "client_key_passphrase", value)
199
231
 
232
+ @property
233
+ @pulumi.getter(name="kafkaVersion")
234
+ def kafka_version(self) -> Optional[pulumi.Input[str]]:
235
+ """
236
+ The version of Kafka protocol to use in `$MAJOR.$MINOR.$PATCH` format. Some features may not be available on older
237
+ versions. Default is 2.7.0.
238
+ """
239
+ return pulumi.get(self, "kafka_version")
240
+
241
+ @kafka_version.setter
242
+ def kafka_version(self, value: Optional[pulumi.Input[str]]):
243
+ pulumi.set(self, "kafka_version", value)
244
+
245
+ @property
246
+ @pulumi.getter(name="saslAwsAccessKey")
247
+ def sasl_aws_access_key(self) -> Optional[pulumi.Input[str]]:
248
+ """
249
+ The AWS access key.
250
+ """
251
+ return pulumi.get(self, "sasl_aws_access_key")
252
+
253
+ @sasl_aws_access_key.setter
254
+ def sasl_aws_access_key(self, value: Optional[pulumi.Input[str]]):
255
+ pulumi.set(self, "sasl_aws_access_key", value)
256
+
257
+ @property
258
+ @pulumi.getter(name="saslAwsCredsDebug")
259
+ def sasl_aws_creds_debug(self) -> Optional[pulumi.Input[bool]]:
260
+ """
261
+ Set this to true to turn AWS credentials debug.
262
+ """
263
+ return pulumi.get(self, "sasl_aws_creds_debug")
264
+
265
+ @sasl_aws_creds_debug.setter
266
+ def sasl_aws_creds_debug(self, value: Optional[pulumi.Input[bool]]):
267
+ pulumi.set(self, "sasl_aws_creds_debug", value)
268
+
269
+ @property
270
+ @pulumi.getter(name="saslAwsProfile")
271
+ def sasl_aws_profile(self) -> Optional[pulumi.Input[str]]:
272
+ """
273
+ AWS profile name to use
274
+ """
275
+ return pulumi.get(self, "sasl_aws_profile")
276
+
277
+ @sasl_aws_profile.setter
278
+ def sasl_aws_profile(self, value: Optional[pulumi.Input[str]]):
279
+ pulumi.set(self, "sasl_aws_profile", value)
280
+
200
281
  @property
201
282
  @pulumi.getter(name="saslAwsRegion")
202
283
  def sasl_aws_region(self) -> Optional[pulumi.Input[str]]:
@@ -209,6 +290,42 @@ class ProviderArgs:
209
290
  def sasl_aws_region(self, value: Optional[pulumi.Input[str]]):
210
291
  pulumi.set(self, "sasl_aws_region", value)
211
292
 
293
+ @property
294
+ @pulumi.getter(name="saslAwsRoleArn")
295
+ def sasl_aws_role_arn(self) -> Optional[pulumi.Input[str]]:
296
+ """
297
+ Arn of an AWS IAM role to assume
298
+ """
299
+ return pulumi.get(self, "sasl_aws_role_arn")
300
+
301
+ @sasl_aws_role_arn.setter
302
+ def sasl_aws_role_arn(self, value: Optional[pulumi.Input[str]]):
303
+ pulumi.set(self, "sasl_aws_role_arn", value)
304
+
305
+ @property
306
+ @pulumi.getter(name="saslAwsSecretKey")
307
+ def sasl_aws_secret_key(self) -> Optional[pulumi.Input[str]]:
308
+ """
309
+ The AWS secret key.
310
+ """
311
+ return pulumi.get(self, "sasl_aws_secret_key")
312
+
313
+ @sasl_aws_secret_key.setter
314
+ def sasl_aws_secret_key(self, value: Optional[pulumi.Input[str]]):
315
+ pulumi.set(self, "sasl_aws_secret_key", value)
316
+
317
+ @property
318
+ @pulumi.getter(name="saslAwsToken")
319
+ def sasl_aws_token(self) -> Optional[pulumi.Input[str]]:
320
+ """
321
+ The AWS session token. Only required if you are using temporary security credentials.
322
+ """
323
+ return pulumi.get(self, "sasl_aws_token")
324
+
325
+ @sasl_aws_token.setter
326
+ def sasl_aws_token(self, value: Optional[pulumi.Input[str]]):
327
+ pulumi.set(self, "sasl_aws_token", value)
328
+
212
329
  @property
213
330
  @pulumi.getter(name="saslMechanism")
214
331
  def sasl_mechanism(self) -> Optional[pulumi.Input[str]]:
@@ -233,6 +350,18 @@ class ProviderArgs:
233
350
  def sasl_password(self, value: Optional[pulumi.Input[str]]):
234
351
  pulumi.set(self, "sasl_password", value)
235
352
 
353
+ @property
354
+ @pulumi.getter(name="saslTokenUrl")
355
+ def sasl_token_url(self) -> Optional[pulumi.Input[str]]:
356
+ """
357
+ The url to retrieve oauth2 tokens from, when using sasl mechanism oauthbearer
358
+ """
359
+ return pulumi.get(self, "sasl_token_url")
360
+
361
+ @sasl_token_url.setter
362
+ def sasl_token_url(self, value: Optional[pulumi.Input[str]]):
363
+ pulumi.set(self, "sasl_token_url", value)
364
+
236
365
  @property
237
366
  @pulumi.getter(name="saslUsername")
238
367
  def sasl_username(self) -> Optional[pulumi.Input[str]]:
@@ -295,9 +424,17 @@ class Provider(pulumi.ProviderResource):
295
424
  client_key: Optional[pulumi.Input[str]] = None,
296
425
  client_key_file: Optional[pulumi.Input[str]] = None,
297
426
  client_key_passphrase: Optional[pulumi.Input[str]] = None,
427
+ kafka_version: Optional[pulumi.Input[str]] = None,
428
+ sasl_aws_access_key: Optional[pulumi.Input[str]] = None,
429
+ sasl_aws_creds_debug: Optional[pulumi.Input[bool]] = None,
430
+ sasl_aws_profile: Optional[pulumi.Input[str]] = None,
298
431
  sasl_aws_region: Optional[pulumi.Input[str]] = None,
432
+ sasl_aws_role_arn: Optional[pulumi.Input[str]] = None,
433
+ sasl_aws_secret_key: Optional[pulumi.Input[str]] = None,
434
+ sasl_aws_token: Optional[pulumi.Input[str]] = None,
299
435
  sasl_mechanism: Optional[pulumi.Input[str]] = None,
300
436
  sasl_password: Optional[pulumi.Input[str]] = None,
437
+ sasl_token_url: Optional[pulumi.Input[str]] = None,
301
438
  sasl_username: Optional[pulumi.Input[str]] = None,
302
439
  skip_tls_verify: Optional[pulumi.Input[bool]] = None,
303
440
  timeout: Optional[pulumi.Input[int]] = None,
@@ -319,9 +456,18 @@ class Provider(pulumi.ProviderResource):
319
456
  :param pulumi.Input[str] client_key: The private key that the certificate was issued for.
320
457
  :param pulumi.Input[str] client_key_file: Path to a file containing the private key that the certificate was issued for.
321
458
  :param pulumi.Input[str] client_key_passphrase: The passphrase for the private key that the certificate was issued for.
459
+ :param pulumi.Input[str] kafka_version: The version of Kafka protocol to use in `$MAJOR.$MINOR.$PATCH` format. Some features may not be available on older
460
+ versions. Default is 2.7.0.
461
+ :param pulumi.Input[str] sasl_aws_access_key: The AWS access key.
462
+ :param pulumi.Input[bool] sasl_aws_creds_debug: Set this to true to turn AWS credentials debug.
463
+ :param pulumi.Input[str] sasl_aws_profile: AWS profile name to use
322
464
  :param pulumi.Input[str] sasl_aws_region: AWS region where MSK is deployed.
465
+ :param pulumi.Input[str] sasl_aws_role_arn: Arn of an AWS IAM role to assume
466
+ :param pulumi.Input[str] sasl_aws_secret_key: The AWS secret key.
467
+ :param pulumi.Input[str] sasl_aws_token: The AWS session token. Only required if you are using temporary security credentials.
323
468
  :param pulumi.Input[str] sasl_mechanism: SASL mechanism, can be plain, scram-sha512, scram-sha256, aws-iam
324
469
  :param pulumi.Input[str] sasl_password: Password for SASL authentication.
470
+ :param pulumi.Input[str] sasl_token_url: The url to retrieve oauth2 tokens from, when using sasl mechanism oauthbearer
325
471
  :param pulumi.Input[str] sasl_username: Username for SASL authentication.
326
472
  :param pulumi.Input[bool] skip_tls_verify: Set this to true only if the target Kafka server is an insecure development instance.
327
473
  :param pulumi.Input[int] timeout: Timeout in seconds
@@ -362,9 +508,17 @@ class Provider(pulumi.ProviderResource):
362
508
  client_key: Optional[pulumi.Input[str]] = None,
363
509
  client_key_file: Optional[pulumi.Input[str]] = None,
364
510
  client_key_passphrase: Optional[pulumi.Input[str]] = None,
511
+ kafka_version: Optional[pulumi.Input[str]] = None,
512
+ sasl_aws_access_key: Optional[pulumi.Input[str]] = None,
513
+ sasl_aws_creds_debug: Optional[pulumi.Input[bool]] = None,
514
+ sasl_aws_profile: Optional[pulumi.Input[str]] = None,
365
515
  sasl_aws_region: Optional[pulumi.Input[str]] = None,
516
+ sasl_aws_role_arn: Optional[pulumi.Input[str]] = None,
517
+ sasl_aws_secret_key: Optional[pulumi.Input[str]] = None,
518
+ sasl_aws_token: Optional[pulumi.Input[str]] = None,
366
519
  sasl_mechanism: Optional[pulumi.Input[str]] = None,
367
520
  sasl_password: Optional[pulumi.Input[str]] = None,
521
+ sasl_token_url: Optional[pulumi.Input[str]] = None,
368
522
  sasl_username: Optional[pulumi.Input[str]] = None,
369
523
  skip_tls_verify: Optional[pulumi.Input[bool]] = None,
370
524
  timeout: Optional[pulumi.Input[int]] = None,
@@ -388,11 +542,19 @@ class Provider(pulumi.ProviderResource):
388
542
  __props__.__dict__["client_key"] = client_key
389
543
  __props__.__dict__["client_key_file"] = client_key_file
390
544
  __props__.__dict__["client_key_passphrase"] = client_key_passphrase
545
+ __props__.__dict__["kafka_version"] = kafka_version
546
+ __props__.__dict__["sasl_aws_access_key"] = sasl_aws_access_key
547
+ __props__.__dict__["sasl_aws_creds_debug"] = pulumi.Output.from_input(sasl_aws_creds_debug).apply(pulumi.runtime.to_json) if sasl_aws_creds_debug is not None else None
548
+ __props__.__dict__["sasl_aws_profile"] = sasl_aws_profile
391
549
  __props__.__dict__["sasl_aws_region"] = sasl_aws_region
550
+ __props__.__dict__["sasl_aws_role_arn"] = sasl_aws_role_arn
551
+ __props__.__dict__["sasl_aws_secret_key"] = sasl_aws_secret_key
552
+ __props__.__dict__["sasl_aws_token"] = sasl_aws_token
392
553
  if sasl_mechanism is None:
393
554
  sasl_mechanism = (_utilities.get_env('KAFKA_SASL_MECHANISM') or 'plain')
394
555
  __props__.__dict__["sasl_mechanism"] = sasl_mechanism
395
556
  __props__.__dict__["sasl_password"] = sasl_password
557
+ __props__.__dict__["sasl_token_url"] = sasl_token_url
396
558
  __props__.__dict__["sasl_username"] = sasl_username
397
559
  if skip_tls_verify is None:
398
560
  skip_tls_verify = (_utilities.get_env_bool('KAFKA_SKIP_VERIFY') or False)
@@ -417,13 +579,11 @@ class Provider(pulumi.ProviderResource):
417
579
 
418
580
  @property
419
581
  @pulumi.getter(name="caCertFile")
582
+ @_utilities.deprecated("""This parameter is now deprecated and will be removed in a later release, please use `ca_cert` instead.""")
420
583
  def ca_cert_file(self) -> pulumi.Output[Optional[str]]:
421
584
  """
422
585
  Path to a CA certificate file to validate the server's certificate.
423
586
  """
424
- warnings.warn("""This parameter is now deprecated and will be removed in a later release, please use `ca_cert` instead.""", DeprecationWarning)
425
- pulumi.log.warn("""ca_cert_file is deprecated: This parameter is now deprecated and will be removed in a later release, please use `ca_cert` instead.""")
426
-
427
587
  return pulumi.get(self, "ca_cert_file")
428
588
 
429
589
  @property
@@ -436,13 +596,11 @@ class Provider(pulumi.ProviderResource):
436
596
 
437
597
  @property
438
598
  @pulumi.getter(name="clientCertFile")
599
+ @_utilities.deprecated("""This parameter is now deprecated and will be removed in a later release, please use `client_cert` instead.""")
439
600
  def client_cert_file(self) -> pulumi.Output[Optional[str]]:
440
601
  """
441
602
  Path to a file containing the client certificate.
442
603
  """
443
- warnings.warn("""This parameter is now deprecated and will be removed in a later release, please use `client_cert` instead.""", DeprecationWarning)
444
- pulumi.log.warn("""client_cert_file is deprecated: This parameter is now deprecated and will be removed in a later release, please use `client_cert` instead.""")
445
-
446
604
  return pulumi.get(self, "client_cert_file")
447
605
 
448
606
  @property
@@ -455,13 +613,11 @@ class Provider(pulumi.ProviderResource):
455
613
 
456
614
  @property
457
615
  @pulumi.getter(name="clientKeyFile")
616
+ @_utilities.deprecated("""This parameter is now deprecated and will be removed in a later release, please use `client_key` instead.""")
458
617
  def client_key_file(self) -> pulumi.Output[Optional[str]]:
459
618
  """
460
619
  Path to a file containing the private key that the certificate was issued for.
461
620
  """
462
- warnings.warn("""This parameter is now deprecated and will be removed in a later release, please use `client_key` instead.""", DeprecationWarning)
463
- pulumi.log.warn("""client_key_file is deprecated: This parameter is now deprecated and will be removed in a later release, please use `client_key` instead.""")
464
-
465
621
  return pulumi.get(self, "client_key_file")
466
622
 
467
623
  @property
@@ -472,6 +628,31 @@ class Provider(pulumi.ProviderResource):
472
628
  """
473
629
  return pulumi.get(self, "client_key_passphrase")
474
630
 
631
+ @property
632
+ @pulumi.getter(name="kafkaVersion")
633
+ def kafka_version(self) -> pulumi.Output[Optional[str]]:
634
+ """
635
+ The version of Kafka protocol to use in `$MAJOR.$MINOR.$PATCH` format. Some features may not be available on older
636
+ versions. Default is 2.7.0.
637
+ """
638
+ return pulumi.get(self, "kafka_version")
639
+
640
+ @property
641
+ @pulumi.getter(name="saslAwsAccessKey")
642
+ def sasl_aws_access_key(self) -> pulumi.Output[Optional[str]]:
643
+ """
644
+ The AWS access key.
645
+ """
646
+ return pulumi.get(self, "sasl_aws_access_key")
647
+
648
+ @property
649
+ @pulumi.getter(name="saslAwsProfile")
650
+ def sasl_aws_profile(self) -> pulumi.Output[Optional[str]]:
651
+ """
652
+ AWS profile name to use
653
+ """
654
+ return pulumi.get(self, "sasl_aws_profile")
655
+
475
656
  @property
476
657
  @pulumi.getter(name="saslAwsRegion")
477
658
  def sasl_aws_region(self) -> pulumi.Output[Optional[str]]:
@@ -480,6 +661,30 @@ class Provider(pulumi.ProviderResource):
480
661
  """
481
662
  return pulumi.get(self, "sasl_aws_region")
482
663
 
664
+ @property
665
+ @pulumi.getter(name="saslAwsRoleArn")
666
+ def sasl_aws_role_arn(self) -> pulumi.Output[Optional[str]]:
667
+ """
668
+ Arn of an AWS IAM role to assume
669
+ """
670
+ return pulumi.get(self, "sasl_aws_role_arn")
671
+
672
+ @property
673
+ @pulumi.getter(name="saslAwsSecretKey")
674
+ def sasl_aws_secret_key(self) -> pulumi.Output[Optional[str]]:
675
+ """
676
+ The AWS secret key.
677
+ """
678
+ return pulumi.get(self, "sasl_aws_secret_key")
679
+
680
+ @property
681
+ @pulumi.getter(name="saslAwsToken")
682
+ def sasl_aws_token(self) -> pulumi.Output[Optional[str]]:
683
+ """
684
+ The AWS session token. Only required if you are using temporary security credentials.
685
+ """
686
+ return pulumi.get(self, "sasl_aws_token")
687
+
483
688
  @property
484
689
  @pulumi.getter(name="saslMechanism")
485
690
  def sasl_mechanism(self) -> pulumi.Output[Optional[str]]:
@@ -496,6 +701,14 @@ class Provider(pulumi.ProviderResource):
496
701
  """
497
702
  return pulumi.get(self, "sasl_password")
498
703
 
704
+ @property
705
+ @pulumi.getter(name="saslTokenUrl")
706
+ def sasl_token_url(self) -> pulumi.Output[Optional[str]]:
707
+ """
708
+ The url to retrieve oauth2 tokens from, when using sasl mechanism oauthbearer
709
+ """
710
+ return pulumi.get(self, "sasl_token_url")
711
+
499
712
  @property
500
713
  @pulumi.getter(name="saslUsername")
501
714
  def sasl_username(self) -> pulumi.Output[Optional[str]]:
@@ -1,4 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
- "name": "kafka"
3
+ "name": "kafka",
4
+ "version": "3.9.0-alpha.1736833688"
4
5
  }
pulumi_kafka/quota.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['QuotaArgs', 'Quota']
@@ -16,12 +21,12 @@ class QuotaArgs:
16
21
  def __init__(__self__, *,
17
22
  entity_name: pulumi.Input[str],
18
23
  entity_type: pulumi.Input[str],
19
- config: Optional[pulumi.Input[Mapping[str, Any]]] = None):
24
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
20
25
  """
21
26
  The set of arguments for constructing a Quota resource.
22
27
  :param pulumi.Input[str] entity_name: The name of the entity to target.
23
28
  :param pulumi.Input[str] entity_type: The type of entity. Valid values are `client-id`, `user`, `ip`.
24
- :param pulumi.Input[Mapping[str, Any]] config: A map of string k/v attributes.
29
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: A map of string k/v attributes.
25
30
  """
26
31
  pulumi.set(__self__, "entity_name", entity_name)
27
32
  pulumi.set(__self__, "entity_type", entity_type)
@@ -54,26 +59,26 @@ class QuotaArgs:
54
59
 
55
60
  @property
56
61
  @pulumi.getter
57
- def config(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
62
+ def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
58
63
  """
59
64
  A map of string k/v attributes.
60
65
  """
61
66
  return pulumi.get(self, "config")
62
67
 
63
68
  @config.setter
64
- def config(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
69
+ def config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
65
70
  pulumi.set(self, "config", value)
66
71
 
67
72
 
68
73
  @pulumi.input_type
69
74
  class _QuotaState:
70
75
  def __init__(__self__, *,
71
- config: Optional[pulumi.Input[Mapping[str, Any]]] = None,
76
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
72
77
  entity_name: Optional[pulumi.Input[str]] = None,
73
78
  entity_type: Optional[pulumi.Input[str]] = None):
74
79
  """
75
80
  Input properties used for looking up and filtering Quota resources.
76
- :param pulumi.Input[Mapping[str, Any]] config: A map of string k/v attributes.
81
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: A map of string k/v attributes.
77
82
  :param pulumi.Input[str] entity_name: The name of the entity to target.
78
83
  :param pulumi.Input[str] entity_type: The type of entity. Valid values are `client-id`, `user`, `ip`.
79
84
  """
@@ -86,14 +91,14 @@ class _QuotaState:
86
91
 
87
92
  @property
88
93
  @pulumi.getter
89
- def config(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
94
+ def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
90
95
  """
91
96
  A map of string k/v attributes.
92
97
  """
93
98
  return pulumi.get(self, "config")
94
99
 
95
100
  @config.setter
96
- def config(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
101
+ def config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
97
102
  pulumi.set(self, "config", value)
98
103
 
99
104
  @property
@@ -126,7 +131,7 @@ class Quota(pulumi.CustomResource):
126
131
  def __init__(__self__,
127
132
  resource_name: str,
128
133
  opts: Optional[pulumi.ResourceOptions] = None,
129
- config: Optional[pulumi.Input[Mapping[str, Any]]] = None,
134
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
130
135
  entity_name: Optional[pulumi.Input[str]] = None,
131
136
  entity_type: Optional[pulumi.Input[str]] = None,
132
137
  __props__=None):
@@ -135,24 +140,22 @@ class Quota(pulumi.CustomResource):
135
140
 
136
141
  ## Example Usage
137
142
 
138
- <!--Start PulumiCodeChooser -->
139
143
  ```python
140
144
  import pulumi
141
145
  import pulumi_kafka as kafka
142
146
 
143
147
  quota = kafka.Quota("quota",
148
+ entity_name="app_consumer",
149
+ entity_type="client-id",
144
150
  config={
145
151
  "consumer_byte_rate": "5000000",
146
152
  "producer_byte_rate": "2500000",
147
- },
148
- entity_name="app_consumer",
149
- entity_type="client-id")
153
+ })
150
154
  ```
151
- <!--End PulumiCodeChooser -->
152
155
 
153
156
  :param str resource_name: The name of the resource.
154
157
  :param pulumi.ResourceOptions opts: Options for the resource.
155
- :param pulumi.Input[Mapping[str, Any]] config: A map of string k/v attributes.
158
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: A map of string k/v attributes.
156
159
  :param pulumi.Input[str] entity_name: The name of the entity to target.
157
160
  :param pulumi.Input[str] entity_type: The type of entity. Valid values are `client-id`, `user`, `ip`.
158
161
  """
@@ -167,20 +170,18 @@ class Quota(pulumi.CustomResource):
167
170
 
168
171
  ## Example Usage
169
172
 
170
- <!--Start PulumiCodeChooser -->
171
173
  ```python
172
174
  import pulumi
173
175
  import pulumi_kafka as kafka
174
176
 
175
177
  quota = kafka.Quota("quota",
178
+ entity_name="app_consumer",
179
+ entity_type="client-id",
176
180
  config={
177
181
  "consumer_byte_rate": "5000000",
178
182
  "producer_byte_rate": "2500000",
179
- },
180
- entity_name="app_consumer",
181
- entity_type="client-id")
183
+ })
182
184
  ```
183
- <!--End PulumiCodeChooser -->
184
185
 
185
186
  :param str resource_name: The name of the resource.
186
187
  :param QuotaArgs args: The arguments to use to populate this resource's properties.
@@ -197,7 +198,7 @@ class Quota(pulumi.CustomResource):
197
198
  def _internal_init(__self__,
198
199
  resource_name: str,
199
200
  opts: Optional[pulumi.ResourceOptions] = None,
200
- config: Optional[pulumi.Input[Mapping[str, Any]]] = None,
201
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
201
202
  entity_name: Optional[pulumi.Input[str]] = None,
202
203
  entity_type: Optional[pulumi.Input[str]] = None,
203
204
  __props__=None):
@@ -226,7 +227,7 @@ class Quota(pulumi.CustomResource):
226
227
  def get(resource_name: str,
227
228
  id: pulumi.Input[str],
228
229
  opts: Optional[pulumi.ResourceOptions] = None,
229
- config: Optional[pulumi.Input[Mapping[str, Any]]] = None,
230
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
230
231
  entity_name: Optional[pulumi.Input[str]] = None,
231
232
  entity_type: Optional[pulumi.Input[str]] = None) -> 'Quota':
232
233
  """
@@ -236,7 +237,7 @@ class Quota(pulumi.CustomResource):
236
237
  :param str resource_name: The unique name of the resulting resource.
237
238
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
238
239
  :param pulumi.ResourceOptions opts: Options for the resource.
239
- :param pulumi.Input[Mapping[str, Any]] config: A map of string k/v attributes.
240
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: A map of string k/v attributes.
240
241
  :param pulumi.Input[str] entity_name: The name of the entity to target.
241
242
  :param pulumi.Input[str] entity_type: The type of entity. Valid values are `client-id`, `user`, `ip`.
242
243
  """
@@ -251,7 +252,7 @@ class Quota(pulumi.CustomResource):
251
252
 
252
253
  @property
253
254
  @pulumi.getter
254
- def config(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
255
+ def config(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
255
256
  """
256
257
  A map of string k/v attributes.
257
258
  """
pulumi_kafka/topic.py CHANGED
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['TopicArgs', 'Topic']
@@ -16,13 +21,13 @@ class TopicArgs:
16
21
  def __init__(__self__, *,
17
22
  partitions: pulumi.Input[int],
18
23
  replication_factor: pulumi.Input[int],
19
- config: Optional[pulumi.Input[Mapping[str, Any]]] = None,
24
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
20
25
  name: Optional[pulumi.Input[str]] = None):
21
26
  """
22
27
  The set of arguments for constructing a Topic resource.
23
28
  :param pulumi.Input[int] partitions: The number of partitions the topic should have.
24
29
  :param pulumi.Input[int] replication_factor: The number of replicas the topic should have.
25
- :param pulumi.Input[Mapping[str, Any]] config: A map of string k/v attributes.
30
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: A map of string k/v attributes.
26
31
  :param pulumi.Input[str] name: The name of the topic.
27
32
  """
28
33
  pulumi.set(__self__, "partitions", partitions)
@@ -58,14 +63,14 @@ class TopicArgs:
58
63
 
59
64
  @property
60
65
  @pulumi.getter
61
- def config(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
66
+ def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
62
67
  """
63
68
  A map of string k/v attributes.
64
69
  """
65
70
  return pulumi.get(self, "config")
66
71
 
67
72
  @config.setter
68
- def config(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
73
+ def config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
69
74
  pulumi.set(self, "config", value)
70
75
 
71
76
  @property
@@ -84,13 +89,13 @@ class TopicArgs:
84
89
  @pulumi.input_type
85
90
  class _TopicState:
86
91
  def __init__(__self__, *,
87
- config: Optional[pulumi.Input[Mapping[str, Any]]] = None,
92
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
88
93
  name: Optional[pulumi.Input[str]] = None,
89
94
  partitions: Optional[pulumi.Input[int]] = None,
90
95
  replication_factor: Optional[pulumi.Input[int]] = None):
91
96
  """
92
97
  Input properties used for looking up and filtering Topic resources.
93
- :param pulumi.Input[Mapping[str, Any]] config: A map of string k/v attributes.
98
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: A map of string k/v attributes.
94
99
  :param pulumi.Input[str] name: The name of the topic.
95
100
  :param pulumi.Input[int] partitions: The number of partitions the topic should have.
96
101
  :param pulumi.Input[int] replication_factor: The number of replicas the topic should have.
@@ -106,14 +111,14 @@ class _TopicState:
106
111
 
107
112
  @property
108
113
  @pulumi.getter
109
- def config(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
114
+ def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
110
115
  """
111
116
  A map of string k/v attributes.
112
117
  """
113
118
  return pulumi.get(self, "config")
114
119
 
115
120
  @config.setter
116
- def config(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
121
+ def config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
117
122
  pulumi.set(self, "config", value)
118
123
 
119
124
  @property
@@ -158,7 +163,7 @@ class Topic(pulumi.CustomResource):
158
163
  def __init__(__self__,
159
164
  resource_name: str,
160
165
  opts: Optional[pulumi.ResourceOptions] = None,
161
- config: Optional[pulumi.Input[Mapping[str, Any]]] = None,
166
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
162
167
  name: Optional[pulumi.Input[str]] = None,
163
168
  partitions: Optional[pulumi.Input[int]] = None,
164
169
  replication_factor: Optional[pulumi.Input[int]] = None,
@@ -168,20 +173,19 @@ class Topic(pulumi.CustomResource):
168
173
 
169
174
  ## Example Usage
170
175
 
171
- <!--Start PulumiCodeChooser -->
172
176
  ```python
173
177
  import pulumi
174
178
  import pulumi_kafka as kafka
175
179
 
176
180
  logs = kafka.Topic("logs",
181
+ name="systemd_logs",
182
+ replication_factor=2,
183
+ partitions=100,
177
184
  config={
178
- "cleanup.policy": "compact",
179
185
  "segment.ms": "20000",
180
- },
181
- partitions=100,
182
- replication_factor=2)
186
+ "cleanup.policy": "compact",
187
+ })
183
188
  ```
184
- <!--End PulumiCodeChooser -->
185
189
 
186
190
  ## Import
187
191
 
@@ -193,7 +197,7 @@ class Topic(pulumi.CustomResource):
193
197
 
194
198
  :param str resource_name: The name of the resource.
195
199
  :param pulumi.ResourceOptions opts: Options for the resource.
196
- :param pulumi.Input[Mapping[str, Any]] config: A map of string k/v attributes.
200
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: A map of string k/v attributes.
197
201
  :param pulumi.Input[str] name: The name of the topic.
198
202
  :param pulumi.Input[int] partitions: The number of partitions the topic should have.
199
203
  :param pulumi.Input[int] replication_factor: The number of replicas the topic should have.
@@ -209,20 +213,19 @@ class Topic(pulumi.CustomResource):
209
213
 
210
214
  ## Example Usage
211
215
 
212
- <!--Start PulumiCodeChooser -->
213
216
  ```python
214
217
  import pulumi
215
218
  import pulumi_kafka as kafka
216
219
 
217
220
  logs = kafka.Topic("logs",
221
+ name="systemd_logs",
222
+ replication_factor=2,
223
+ partitions=100,
218
224
  config={
219
- "cleanup.policy": "compact",
220
225
  "segment.ms": "20000",
221
- },
222
- partitions=100,
223
- replication_factor=2)
226
+ "cleanup.policy": "compact",
227
+ })
224
228
  ```
225
- <!--End PulumiCodeChooser -->
226
229
 
227
230
  ## Import
228
231
 
@@ -247,7 +250,7 @@ class Topic(pulumi.CustomResource):
247
250
  def _internal_init(__self__,
248
251
  resource_name: str,
249
252
  opts: Optional[pulumi.ResourceOptions] = None,
250
- config: Optional[pulumi.Input[Mapping[str, Any]]] = None,
253
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
251
254
  name: Optional[pulumi.Input[str]] = None,
252
255
  partitions: Optional[pulumi.Input[int]] = None,
253
256
  replication_factor: Optional[pulumi.Input[int]] = None,
@@ -278,7 +281,7 @@ class Topic(pulumi.CustomResource):
278
281
  def get(resource_name: str,
279
282
  id: pulumi.Input[str],
280
283
  opts: Optional[pulumi.ResourceOptions] = None,
281
- config: Optional[pulumi.Input[Mapping[str, Any]]] = None,
284
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
282
285
  name: Optional[pulumi.Input[str]] = None,
283
286
  partitions: Optional[pulumi.Input[int]] = None,
284
287
  replication_factor: Optional[pulumi.Input[int]] = None) -> 'Topic':
@@ -289,7 +292,7 @@ class Topic(pulumi.CustomResource):
289
292
  :param str resource_name: The unique name of the resulting resource.
290
293
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
291
294
  :param pulumi.ResourceOptions opts: Options for the resource.
292
- :param pulumi.Input[Mapping[str, Any]] config: A map of string k/v attributes.
295
+ :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: A map of string k/v attributes.
293
296
  :param pulumi.Input[str] name: The name of the topic.
294
297
  :param pulumi.Input[int] partitions: The number of partitions the topic should have.
295
298
  :param pulumi.Input[int] replication_factor: The number of replicas the topic should have.
@@ -306,7 +309,7 @@ class Topic(pulumi.CustomResource):
306
309
 
307
310
  @property
308
311
  @pulumi.getter
309
- def config(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
312
+ def config(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
310
313
  """
311
314
  A map of string k/v attributes.
312
315
  """
@@ -4,9 +4,14 @@
4
4
 
5
5
  import copy
6
6
  import warnings
7
+ import sys
7
8
  import pulumi
8
9
  import pulumi.runtime
9
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
10
15
  from . import _utilities
11
16
 
12
17
  __all__ = ['UserScramCredentialArgs', 'UserScramCredential']
@@ -1,16 +1,17 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: pulumi_kafka
3
- Version: 3.7.0a1710156443
3
+ Version: 3.9.0a1736833688
4
4
  Summary: A Pulumi package for creating and managing Kafka.
5
5
  License: Apache-2.0
6
6
  Project-URL: Homepage, https://pulumi.io
7
7
  Project-URL: Repository, https://github.com/pulumi/pulumi-kafka
8
8
  Keywords: pulumi,kafka
9
- Requires-Python: >=3.8
9
+ Requires-Python: >=3.9
10
10
  Description-Content-Type: text/markdown
11
- Requires-Dist: parver >=0.2.1
12
- Requires-Dist: pulumi <4.0.0,>=3.0.0
13
- Requires-Dist: semver >=2.8.1
11
+ Requires-Dist: parver>=0.2.1
12
+ Requires-Dist: pulumi<4.0.0,>=3.142.0
13
+ Requires-Dist: semver>=2.8.1
14
+ Requires-Dist: typing-extensions>=4.11; python_version < "3.11"
14
15
 
15
16
  [![Actions Status](https://github.com/pulumi/pulumi-kafka/workflows/master/badge.svg)](https://github.com/pulumi/pulumi-kafka/actions)
16
17
  [![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com)
@@ -0,0 +1,17 @@
1
+ pulumi_kafka/__init__.py,sha256=2fx2CAxtcoc4r8E5SweqzjqQVL5mEUcGPtuJ5SLqWWw,1372
2
+ pulumi_kafka/_utilities.py,sha256=-gxwnD6__OYdSf8jJgJijNuu-UHUwi5pJ1H7-eIHDhg,10504
3
+ pulumi_kafka/acl.py,sha256=klUDB6ZYLSIQQJ7sct7G6rEBqhBSaHRW7WmlrLGH8_g,23291
4
+ pulumi_kafka/get_topic.py,sha256=FvXO65SbBE6xpOMmTzkp9n420c-6fsrOKZuSVpzJ77o,4396
5
+ pulumi_kafka/provider.py,sha256=U6PgXSx4qe4x6DHY26_maTRyCzXYVOrSmG_PApSDl2A,34153
6
+ pulumi_kafka/pulumi-plugin.json,sha256=Nn6BjyWEYvKldeltO5Iv_GluIRaU-F-JkHo6b-qShQ8,81
7
+ pulumi_kafka/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
+ pulumi_kafka/quota.py,sha256=8hH-J-bL8a9nvLWgGN1ghjtC5Pjj3acQZQSJ8ZPmqO4,10608
9
+ pulumi_kafka/topic.py,sha256=SsT7pBToxrPfHPcykWXF14ouun_hN8In-Rdqfok4oHE,12721
10
+ pulumi_kafka/user_scram_credential.py,sha256=AF-ZxKp6UoKLErZeIXZy-SzCIk3uLV4YeI5K55qiBaU,12537
11
+ pulumi_kafka/config/__init__.py,sha256=cfY0smRZD3fDVc93ZIAxEl_IM2pynmXB52n3Ahzi030,285
12
+ pulumi_kafka/config/__init__.pyi,sha256=9Ot5LeNbjmLMI7K4-lyY1Ga2ucl0kJ0pRJrmNrK6LgI,2564
13
+ pulumi_kafka/config/vars.py,sha256=RCk693NGnygdIDyiyhKlXIy5fmq_XhWzgT3Lsu2-UEQ,5237
14
+ pulumi_kafka-3.9.0a1736833688.dist-info/METADATA,sha256=ClvaYgXD4rQjiaqSI0BlctXRKtjazXvj0R1yX-0vi68,3493
15
+ pulumi_kafka-3.9.0a1736833688.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
16
+ pulumi_kafka-3.9.0a1736833688.dist-info/top_level.txt,sha256=HCtqWX3HYffzpLjMDhzwthd93lraTV-_-aUkZQZOveU,13
17
+ pulumi_kafka-3.9.0a1736833688.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.42.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,17 +0,0 @@
1
- pulumi_kafka/__init__.py,sha256=2fx2CAxtcoc4r8E5SweqzjqQVL5mEUcGPtuJ5SLqWWw,1372
2
- pulumi_kafka/_utilities.py,sha256=b6gJn0IIeM1t6Q7EVjqw3yhuGyP-uENQhtL5yp7aHR8,9248
3
- pulumi_kafka/acl.py,sha256=cRsXw-dqsWkUY0AdHio4W9dq_r-uIh6SuLXdgwCmT1I,23273
4
- pulumi_kafka/get_topic.py,sha256=4vn05XDI77L8owgghNsN00eJo7WWHmOn-s6uXs4Bs0g,3652
5
- pulumi_kafka/provider.py,sha256=k9AhTpEcf1KatkFvjG2vP3G_cX8dIop6zLuumxgJk5E,24858
6
- pulumi_kafka/pulumi-plugin.json,sha256=9gDn34S7hRqL4CQzFqVNPZlSylgg2ABMTtsucw9TKL8,42
7
- pulumi_kafka/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
8
- pulumi_kafka/quota.py,sha256=ahuHxoEtaDpH5Epba0JoyjsEr2g0YuNeyWgD0vA97GA,10408
9
- pulumi_kafka/topic.py,sha256=zkjYvI9ZN6A2qQVyiJdxF1DKHMBQJ8RMNCZRkZm2vbg,12455
10
- pulumi_kafka/user_scram_credential.py,sha256=OfUziNCzMoyC8Giz4WuM5zUfEzrK-rubEm0E1OtzrhM,12363
11
- pulumi_kafka/config/__init__.py,sha256=cfY0smRZD3fDVc93ZIAxEl_IM2pynmXB52n3Ahzi030,285
12
- pulumi_kafka/config/__init__.pyi,sha256=dUOYbdktss7PVKT78LdaCU36oiglWhlFvcRKBHSpPOA,1624
13
- pulumi_kafka/config/vars.py,sha256=nPGrk6Wn43el9PBMEYN0rL7ufBfq3VfLutHm4jbCy5s,3440
14
- pulumi_kafka-3.7.0a1710156443.dist-info/METADATA,sha256=-n8XQ-jeNfxnOlr-lwuTYj3D06gn_T7w0pm8cM4txJs,3430
15
- pulumi_kafka-3.7.0a1710156443.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
16
- pulumi_kafka-3.7.0a1710156443.dist-info/top_level.txt,sha256=HCtqWX3HYffzpLjMDhzwthd93lraTV-_-aUkZQZOveU,13
17
- pulumi_kafka-3.7.0a1710156443.dist-info/RECORD,,