pulumi-kafka 3.7.0a1710413939__tar.gz → 3.9.0a1736849387__tar.gz

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.

Files changed (24) hide show
  1. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/PKG-INFO +5 -4
  2. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka/_utilities.py +41 -5
  3. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka/acl.py +5 -4
  4. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka/config/__init__.pyi +26 -0
  5. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka/config/vars.py +34 -0
  6. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka/get_topic.py +17 -6
  7. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka/provider.py +127 -18
  8. pulumi_kafka-3.9.0a1736849387/pulumi_kafka/pulumi-plugin.json +5 -0
  9. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka/quota.py +25 -24
  10. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka/topic.py +29 -26
  11. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka/user_scram_credential.py +5 -0
  12. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka.egg-info/PKG-INFO +5 -4
  13. pulumi_kafka-3.9.0a1736849387/pulumi_kafka.egg-info/requires.txt +6 -0
  14. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pyproject.toml +3 -3
  15. pulumi_kafka-3.7.0a1710413939/pulumi_kafka/pulumi-plugin.json +0 -4
  16. pulumi_kafka-3.7.0a1710413939/pulumi_kafka.egg-info/requires.txt +0 -3
  17. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/README.md +0 -0
  18. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka/__init__.py +0 -0
  19. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka/config/__init__.py +0 -0
  20. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka/py.typed +0 -0
  21. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka.egg-info/SOURCES.txt +0 -0
  22. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka.egg-info/dependency_links.txt +0 -0
  23. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/pulumi_kafka.egg-info/top_level.txt +0 -0
  24. {pulumi_kafka-3.7.0a1710413939 → pulumi_kafka-3.9.0a1736849387}/setup.cfg +0 -0
@@ -1,16 +1,17 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: pulumi_kafka
3
- Version: 3.7.0a1710413939
3
+ Version: 3.9.0a1736849387
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
11
  Requires-Dist: parver>=0.2.1
12
- Requires-Dist: pulumi<4.0.0,>=3.0.0
12
+ Requires-Dist: pulumi<4.0.0,>=3.142.0
13
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)
@@ -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
@@ -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,6 +54,17 @@ 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
+
52
68
  saslAwsCredsDebug: Optional[bool]
53
69
  """
54
70
  Set this to true to turn AWS credentials debug.
@@ -69,6 +85,16 @@ saslAwsRoleArn: Optional[str]
69
85
  Arn of an AWS IAM role to assume
70
86
  """
71
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
+
72
98
  saslMechanism: str
73
99
  """
74
100
  SASL mechanism, can be plain, scram-sha512, scram-sha256, aws-iam
@@ -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,21 @@ 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
+
74
94
  @property
75
95
  def sasl_aws_creds_debug(self) -> Optional[bool]:
76
96
  """
@@ -99,6 +119,20 @@ class _ExportableConfig(types.ModuleType):
99
119
  """
100
120
  return __config__.get('saslAwsRoleArn')
101
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
+
102
136
  @property
103
137
  def sasl_mechanism(self) -> str:
104
138
  """
@@ -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')))
@@ -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,10 +27,14 @@ 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,
25
32
  sasl_aws_creds_debug: Optional[pulumi.Input[bool]] = None,
26
33
  sasl_aws_profile: Optional[pulumi.Input[str]] = None,
27
34
  sasl_aws_region: Optional[pulumi.Input[str]] = None,
28
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,
29
38
  sasl_mechanism: Optional[pulumi.Input[str]] = None,
30
39
  sasl_password: Optional[pulumi.Input[str]] = None,
31
40
  sasl_token_url: Optional[pulumi.Input[str]] = None,
@@ -43,10 +52,15 @@ class ProviderArgs:
43
52
  :param pulumi.Input[str] client_key: The private key that the certificate was issued for.
44
53
  :param pulumi.Input[str] client_key_file: Path to a file containing the private key that the certificate was issued for.
45
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.
46
58
  :param pulumi.Input[bool] sasl_aws_creds_debug: Set this to true to turn AWS credentials debug.
47
59
  :param pulumi.Input[str] sasl_aws_profile: AWS profile name to use
48
60
  :param pulumi.Input[str] sasl_aws_region: AWS region where MSK is deployed.
49
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.
50
64
  :param pulumi.Input[str] sasl_mechanism: SASL mechanism, can be plain, scram-sha512, scram-sha256, aws-iam
51
65
  :param pulumi.Input[str] sasl_password: Password for SASL authentication.
52
66
  :param pulumi.Input[str] sasl_token_url: The url to retrieve oauth2 tokens from, when using sasl mechanism oauthbearer
@@ -79,6 +93,10 @@ class ProviderArgs:
79
93
  pulumi.set(__self__, "client_key_file", client_key_file)
80
94
  if client_key_passphrase is not None:
81
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)
82
100
  if sasl_aws_creds_debug is not None:
83
101
  pulumi.set(__self__, "sasl_aws_creds_debug", sasl_aws_creds_debug)
84
102
  if sasl_aws_profile is not None:
@@ -87,6 +105,10 @@ class ProviderArgs:
87
105
  pulumi.set(__self__, "sasl_aws_region", sasl_aws_region)
88
106
  if sasl_aws_role_arn is not None:
89
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)
90
112
  if sasl_mechanism is None:
91
113
  sasl_mechanism = (_utilities.get_env('KAFKA_SASL_MECHANISM') or 'plain')
92
114
  if sasl_mechanism is not None:
@@ -134,13 +156,11 @@ class ProviderArgs:
134
156
 
135
157
  @property
136
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.""")
137
160
  def ca_cert_file(self) -> Optional[pulumi.Input[str]]:
138
161
  """
139
162
  Path to a CA certificate file to validate the server's certificate.
140
163
  """
141
- warnings.warn("""This parameter is now deprecated and will be removed in a later release, please use `ca_cert` instead.""", DeprecationWarning)
142
- 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.""")
143
-
144
164
  return pulumi.get(self, "ca_cert_file")
145
165
 
146
166
  @ca_cert_file.setter
@@ -161,13 +181,11 @@ class ProviderArgs:
161
181
 
162
182
  @property
163
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.""")
164
185
  def client_cert_file(self) -> Optional[pulumi.Input[str]]:
165
186
  """
166
187
  Path to a file containing the client certificate.
167
188
  """
168
- warnings.warn("""This parameter is now deprecated and will be removed in a later release, please use `client_cert` instead.""", DeprecationWarning)
169
- 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.""")
170
-
171
189
  return pulumi.get(self, "client_cert_file")
172
190
 
173
191
  @client_cert_file.setter
@@ -188,13 +206,11 @@ class ProviderArgs:
188
206
 
189
207
  @property
190
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.""")
191
210
  def client_key_file(self) -> Optional[pulumi.Input[str]]:
192
211
  """
193
212
  Path to a file containing the private key that the certificate was issued for.
194
213
  """
195
- warnings.warn("""This parameter is now deprecated and will be removed in a later release, please use `client_key` instead.""", DeprecationWarning)
196
- 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.""")
197
-
198
214
  return pulumi.get(self, "client_key_file")
199
215
 
200
216
  @client_key_file.setter
@@ -213,6 +229,31 @@ class ProviderArgs:
213
229
  def client_key_passphrase(self, value: Optional[pulumi.Input[str]]):
214
230
  pulumi.set(self, "client_key_passphrase", value)
215
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
+
216
257
  @property
217
258
  @pulumi.getter(name="saslAwsCredsDebug")
218
259
  def sasl_aws_creds_debug(self) -> Optional[pulumi.Input[bool]]:
@@ -261,6 +302,30 @@ class ProviderArgs:
261
302
  def sasl_aws_role_arn(self, value: Optional[pulumi.Input[str]]):
262
303
  pulumi.set(self, "sasl_aws_role_arn", value)
263
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
+
264
329
  @property
265
330
  @pulumi.getter(name="saslMechanism")
266
331
  def sasl_mechanism(self) -> Optional[pulumi.Input[str]]:
@@ -359,10 +424,14 @@ class Provider(pulumi.ProviderResource):
359
424
  client_key: Optional[pulumi.Input[str]] = None,
360
425
  client_key_file: Optional[pulumi.Input[str]] = None,
361
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,
362
429
  sasl_aws_creds_debug: Optional[pulumi.Input[bool]] = None,
363
430
  sasl_aws_profile: Optional[pulumi.Input[str]] = None,
364
431
  sasl_aws_region: Optional[pulumi.Input[str]] = None,
365
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,
366
435
  sasl_mechanism: Optional[pulumi.Input[str]] = None,
367
436
  sasl_password: Optional[pulumi.Input[str]] = None,
368
437
  sasl_token_url: Optional[pulumi.Input[str]] = None,
@@ -387,10 +456,15 @@ class Provider(pulumi.ProviderResource):
387
456
  :param pulumi.Input[str] client_key: The private key that the certificate was issued for.
388
457
  :param pulumi.Input[str] client_key_file: Path to a file containing the private key that the certificate was issued for.
389
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.
390
462
  :param pulumi.Input[bool] sasl_aws_creds_debug: Set this to true to turn AWS credentials debug.
391
463
  :param pulumi.Input[str] sasl_aws_profile: AWS profile name to use
392
464
  :param pulumi.Input[str] sasl_aws_region: AWS region where MSK is deployed.
393
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.
394
468
  :param pulumi.Input[str] sasl_mechanism: SASL mechanism, can be plain, scram-sha512, scram-sha256, aws-iam
395
469
  :param pulumi.Input[str] sasl_password: Password for SASL authentication.
396
470
  :param pulumi.Input[str] sasl_token_url: The url to retrieve oauth2 tokens from, when using sasl mechanism oauthbearer
@@ -434,10 +508,14 @@ class Provider(pulumi.ProviderResource):
434
508
  client_key: Optional[pulumi.Input[str]] = None,
435
509
  client_key_file: Optional[pulumi.Input[str]] = None,
436
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,
437
513
  sasl_aws_creds_debug: Optional[pulumi.Input[bool]] = None,
438
514
  sasl_aws_profile: Optional[pulumi.Input[str]] = None,
439
515
  sasl_aws_region: Optional[pulumi.Input[str]] = None,
440
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,
441
519
  sasl_mechanism: Optional[pulumi.Input[str]] = None,
442
520
  sasl_password: Optional[pulumi.Input[str]] = None,
443
521
  sasl_token_url: Optional[pulumi.Input[str]] = None,
@@ -464,10 +542,14 @@ class Provider(pulumi.ProviderResource):
464
542
  __props__.__dict__["client_key"] = client_key
465
543
  __props__.__dict__["client_key_file"] = client_key_file
466
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
467
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
468
548
  __props__.__dict__["sasl_aws_profile"] = sasl_aws_profile
469
549
  __props__.__dict__["sasl_aws_region"] = sasl_aws_region
470
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
471
553
  if sasl_mechanism is None:
472
554
  sasl_mechanism = (_utilities.get_env('KAFKA_SASL_MECHANISM') or 'plain')
473
555
  __props__.__dict__["sasl_mechanism"] = sasl_mechanism
@@ -497,13 +579,11 @@ class Provider(pulumi.ProviderResource):
497
579
 
498
580
  @property
499
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.""")
500
583
  def ca_cert_file(self) -> pulumi.Output[Optional[str]]:
501
584
  """
502
585
  Path to a CA certificate file to validate the server's certificate.
503
586
  """
504
- warnings.warn("""This parameter is now deprecated and will be removed in a later release, please use `ca_cert` instead.""", DeprecationWarning)
505
- 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.""")
506
-
507
587
  return pulumi.get(self, "ca_cert_file")
508
588
 
509
589
  @property
@@ -516,13 +596,11 @@ class Provider(pulumi.ProviderResource):
516
596
 
517
597
  @property
518
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.""")
519
600
  def client_cert_file(self) -> pulumi.Output[Optional[str]]:
520
601
  """
521
602
  Path to a file containing the client certificate.
522
603
  """
523
- warnings.warn("""This parameter is now deprecated and will be removed in a later release, please use `client_cert` instead.""", DeprecationWarning)
524
- 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.""")
525
-
526
604
  return pulumi.get(self, "client_cert_file")
527
605
 
528
606
  @property
@@ -535,13 +613,11 @@ class Provider(pulumi.ProviderResource):
535
613
 
536
614
  @property
537
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.""")
538
617
  def client_key_file(self) -> pulumi.Output[Optional[str]]:
539
618
  """
540
619
  Path to a file containing the private key that the certificate was issued for.
541
620
  """
542
- warnings.warn("""This parameter is now deprecated and will be removed in a later release, please use `client_key` instead.""", DeprecationWarning)
543
- 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.""")
544
-
545
621
  return pulumi.get(self, "client_key_file")
546
622
 
547
623
  @property
@@ -552,6 +628,23 @@ class Provider(pulumi.ProviderResource):
552
628
  """
553
629
  return pulumi.get(self, "client_key_passphrase")
554
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
+
555
648
  @property
556
649
  @pulumi.getter(name="saslAwsProfile")
557
650
  def sasl_aws_profile(self) -> pulumi.Output[Optional[str]]:
@@ -576,6 +669,22 @@ class Provider(pulumi.ProviderResource):
576
669
  """
577
670
  return pulumi.get(self, "sasl_aws_role_arn")
578
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
+
579
688
  @property
580
689
  @pulumi.getter(name="saslMechanism")
581
690
  def sasl_mechanism(self) -> pulumi.Output[Optional[str]]:
@@ -0,0 +1,5 @@
1
+ {
2
+ "resource": true,
3
+ "name": "kafka",
4
+ "version": "3.9.0-alpha.1736849387"
5
+ }
@@ -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
  """
@@ -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.0a1710413939
3
+ Version: 3.9.0a1736849387
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
11
  Requires-Dist: parver>=0.2.1
12
- Requires-Dist: pulumi<4.0.0,>=3.0.0
12
+ Requires-Dist: pulumi<4.0.0,>=3.142.0
13
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,6 @@
1
+ parver>=0.2.1
2
+ pulumi<4.0.0,>=3.142.0
3
+ semver>=2.8.1
4
+
5
+ [:python_version < "3.11"]
6
+ typing-extensions>=4.11
@@ -1,11 +1,11 @@
1
1
  [project]
2
2
  name = "pulumi_kafka"
3
3
  description = "A Pulumi package for creating and managing Kafka."
4
- dependencies = ["parver>=0.2.1", "pulumi>=3.0.0,<4.0.0", "semver>=2.8.1"]
4
+ dependencies = ["parver>=0.2.1", "pulumi>=3.142.0,<4.0.0", "semver>=2.8.1", "typing-extensions>=4.11; python_version < \"3.11\""]
5
5
  keywords = ["pulumi", "kafka"]
6
6
  readme = "README.md"
7
- requires-python = ">=3.8"
8
- version = "3.7.0a1710413939"
7
+ requires-python = ">=3.9"
8
+ version = "3.9.0a1736849387"
9
9
  [project.license]
10
10
  text = "Apache-2.0"
11
11
  [project.urls]
@@ -1,4 +0,0 @@
1
- {
2
- "resource": true,
3
- "name": "kafka"
4
- }
@@ -1,3 +0,0 @@
1
- parver>=0.2.1
2
- pulumi<4.0.0,>=3.0.0
3
- semver>=2.8.1