pulumi-kafka 3.9.0a1736849387__py3-none-any.whl → 3.13.0a1763619276__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.
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "kafka",
4
- "version": "3.9.0-alpha.1736849387"
4
+ "version": "3.13.0-alpha.1763619276"
5
5
  }
pulumi_kafka/quota.py CHANGED
@@ -1,8 +1,8 @@
1
1
  # coding=utf-8
2
- # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
- import copy
5
+ import builtins as _builtins
6
6
  import warnings
7
7
  import sys
8
8
  import pulumi
@@ -19,68 +19,69 @@ __all__ = ['QuotaArgs', 'Quota']
19
19
  @pulumi.input_type
20
20
  class QuotaArgs:
21
21
  def __init__(__self__, *,
22
- entity_name: pulumi.Input[str],
23
- entity_type: pulumi.Input[str],
24
- config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None):
22
+ entity_type: pulumi.Input[_builtins.str],
23
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
24
+ entity_name: Optional[pulumi.Input[_builtins.str]] = None):
25
25
  """
26
26
  The set of arguments for constructing a Quota resource.
27
- :param pulumi.Input[str] entity_name: The name of the entity to target.
28
- :param pulumi.Input[str] entity_type: The type of entity. Valid values are `client-id`, `user`, `ip`.
29
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: A map of string k/v attributes.
27
+ :param pulumi.Input[_builtins.str] entity_type: The type of the entity (client-id, user, ip)
28
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] config: A map of string k/v properties.
29
+ :param pulumi.Input[_builtins.str] entity_name: The name of the entity (if entity_name is not provided, it will create entity-default Kafka quota)
30
30
  """
31
- pulumi.set(__self__, "entity_name", entity_name)
32
31
  pulumi.set(__self__, "entity_type", entity_type)
33
32
  if config is not None:
34
33
  pulumi.set(__self__, "config", config)
34
+ if entity_name is not None:
35
+ pulumi.set(__self__, "entity_name", entity_name)
35
36
 
36
- @property
37
- @pulumi.getter(name="entityName")
38
- def entity_name(self) -> pulumi.Input[str]:
39
- """
40
- The name of the entity to target.
41
- """
42
- return pulumi.get(self, "entity_name")
43
-
44
- @entity_name.setter
45
- def entity_name(self, value: pulumi.Input[str]):
46
- pulumi.set(self, "entity_name", value)
47
-
48
- @property
37
+ @_builtins.property
49
38
  @pulumi.getter(name="entityType")
50
- def entity_type(self) -> pulumi.Input[str]:
39
+ def entity_type(self) -> pulumi.Input[_builtins.str]:
51
40
  """
52
- The type of entity. Valid values are `client-id`, `user`, `ip`.
41
+ The type of the entity (client-id, user, ip)
53
42
  """
54
43
  return pulumi.get(self, "entity_type")
55
44
 
56
45
  @entity_type.setter
57
- def entity_type(self, value: pulumi.Input[str]):
46
+ def entity_type(self, value: pulumi.Input[_builtins.str]):
58
47
  pulumi.set(self, "entity_type", value)
59
48
 
60
- @property
49
+ @_builtins.property
61
50
  @pulumi.getter
62
- def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
51
+ def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
63
52
  """
64
- A map of string k/v attributes.
53
+ A map of string k/v properties.
65
54
  """
66
55
  return pulumi.get(self, "config")
67
56
 
68
57
  @config.setter
69
- def config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
58
+ def config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
70
59
  pulumi.set(self, "config", value)
71
60
 
61
+ @_builtins.property
62
+ @pulumi.getter(name="entityName")
63
+ def entity_name(self) -> Optional[pulumi.Input[_builtins.str]]:
64
+ """
65
+ The name of the entity (if entity_name is not provided, it will create entity-default Kafka quota)
66
+ """
67
+ return pulumi.get(self, "entity_name")
68
+
69
+ @entity_name.setter
70
+ def entity_name(self, value: Optional[pulumi.Input[_builtins.str]]):
71
+ pulumi.set(self, "entity_name", value)
72
+
72
73
 
73
74
  @pulumi.input_type
74
75
  class _QuotaState:
75
76
  def __init__(__self__, *,
76
- config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
77
- entity_name: Optional[pulumi.Input[str]] = None,
78
- entity_type: Optional[pulumi.Input[str]] = None):
77
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
78
+ entity_name: Optional[pulumi.Input[_builtins.str]] = None,
79
+ entity_type: Optional[pulumi.Input[_builtins.str]] = None):
79
80
  """
80
81
  Input properties used for looking up and filtering Quota resources.
81
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: A map of string k/v attributes.
82
- :param pulumi.Input[str] entity_name: The name of the entity to target.
83
- :param pulumi.Input[str] entity_type: The type of entity. Valid values are `client-id`, `user`, `ip`.
82
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] config: A map of string k/v properties.
83
+ :param pulumi.Input[_builtins.str] entity_name: The name of the entity (if entity_name is not provided, it will create entity-default Kafka quota)
84
+ :param pulumi.Input[_builtins.str] entity_type: The type of the entity (client-id, user, ip)
84
85
  """
85
86
  if config is not None:
86
87
  pulumi.set(__self__, "config", config)
@@ -89,75 +90,181 @@ class _QuotaState:
89
90
  if entity_type is not None:
90
91
  pulumi.set(__self__, "entity_type", entity_type)
91
92
 
92
- @property
93
+ @_builtins.property
93
94
  @pulumi.getter
94
- def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
95
+ def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
95
96
  """
96
- A map of string k/v attributes.
97
+ A map of string k/v properties.
97
98
  """
98
99
  return pulumi.get(self, "config")
99
100
 
100
101
  @config.setter
101
- def config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
102
+ def config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
102
103
  pulumi.set(self, "config", value)
103
104
 
104
- @property
105
+ @_builtins.property
105
106
  @pulumi.getter(name="entityName")
106
- def entity_name(self) -> Optional[pulumi.Input[str]]:
107
+ def entity_name(self) -> Optional[pulumi.Input[_builtins.str]]:
107
108
  """
108
- The name of the entity to target.
109
+ The name of the entity (if entity_name is not provided, it will create entity-default Kafka quota)
109
110
  """
110
111
  return pulumi.get(self, "entity_name")
111
112
 
112
113
  @entity_name.setter
113
- def entity_name(self, value: Optional[pulumi.Input[str]]):
114
+ def entity_name(self, value: Optional[pulumi.Input[_builtins.str]]):
114
115
  pulumi.set(self, "entity_name", value)
115
116
 
116
- @property
117
+ @_builtins.property
117
118
  @pulumi.getter(name="entityType")
118
- def entity_type(self) -> Optional[pulumi.Input[str]]:
119
+ def entity_type(self) -> Optional[pulumi.Input[_builtins.str]]:
119
120
  """
120
- The type of entity. Valid values are `client-id`, `user`, `ip`.
121
+ The type of the entity (client-id, user, ip)
121
122
  """
122
123
  return pulumi.get(self, "entity_type")
123
124
 
124
125
  @entity_type.setter
125
- def entity_type(self, value: Optional[pulumi.Input[str]]):
126
+ def entity_type(self, value: Optional[pulumi.Input[_builtins.str]]):
126
127
  pulumi.set(self, "entity_type", value)
127
128
 
128
129
 
130
+ @pulumi.type_token("kafka:index/quota:Quota")
129
131
  class Quota(pulumi.CustomResource):
130
132
  @overload
131
133
  def __init__(__self__,
132
134
  resource_name: str,
133
135
  opts: Optional[pulumi.ResourceOptions] = None,
134
- config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
135
- entity_name: Optional[pulumi.Input[str]] = None,
136
- entity_type: Optional[pulumi.Input[str]] = None,
136
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
137
+ entity_name: Optional[pulumi.Input[_builtins.str]] = None,
138
+ entity_type: Optional[pulumi.Input[_builtins.str]] = None,
137
139
  __props__=None):
138
140
  """
139
- A resource for managing Kafka quotas.
141
+ The `Quota` resource manages Kafka quotas, which are used to limit resource usage and prevent any single client from monopolizing broker resources. Quotas can be applied to clients, users, or IP addresses to control bandwidth and request rates.
140
142
 
141
143
  ## Example Usage
142
144
 
145
+ ### Client ID Quota
146
+
143
147
  ```python
144
148
  import pulumi
145
149
  import pulumi_kafka as kafka
146
150
 
147
- quota = kafka.Quota("quota",
148
- entity_name="app_consumer",
151
+ # Limit a specific client's bandwidth
152
+ mobile_app = kafka.Quota("mobile_app",
153
+ entity_name="mobile-app-v1",
149
154
  entity_type="client-id",
150
155
  config={
151
156
  "consumer_byte_rate": "5000000",
152
157
  "producer_byte_rate": "2500000",
158
+ "request_percentage": "200",
153
159
  })
154
160
  ```
155
161
 
162
+ ### User Quota
163
+
164
+ ```python
165
+ import pulumi
166
+ import pulumi_kafka as kafka
167
+
168
+ # Set quotas for a specific user
169
+ service_account = kafka.Quota("service_account",
170
+ entity_name="payment-service",
171
+ entity_type="user",
172
+ config={
173
+ "consumer_byte_rate": "10000000",
174
+ "producer_byte_rate": "10000000",
175
+ "request_percentage": "400",
176
+ })
177
+ ```
178
+
179
+ ### Default User Quota
180
+
181
+ ```python
182
+ import pulumi
183
+ import pulumi_kafka as kafka
184
+
185
+ # Set default quotas for all users (when entity_name is omitted)
186
+ default_user = kafka.Quota("default_user",
187
+ entity_type="user",
188
+ config={
189
+ "consumer_byte_rate": "2000000",
190
+ "producer_byte_rate": "1000000",
191
+ "request_percentage": "100",
192
+ })
193
+ ```
194
+
195
+ ### IP Address Quota
196
+
197
+ ```python
198
+ import pulumi
199
+ import pulumi_kafka as kafka
200
+
201
+ # Rate limit connections from a specific IP
202
+ external_ip = kafka.Quota("external_ip",
203
+ entity_name="203.0.113.0",
204
+ entity_type="ip",
205
+ config={
206
+ "connection_creation_rate": "10",
207
+ })
208
+ ```
209
+
210
+ ## Quota Configuration Options
211
+
212
+ ### Bandwidth Quotas
213
+ - `producer_byte_rate` - The maximum bytes per second that can be produced by the entity
214
+ - `consumer_byte_rate` - The maximum bytes per second that can be consumed by the entity
215
+
216
+ ### Request Rate Quotas
217
+ - `request_percentage` - The percentage of CPU time on each broker that the entity can use for requests. Values > 100% indicate multiple CPUs (e.g., 200% = 2 CPUs)
218
+
219
+ ### Connection Quotas (IP-based only)
220
+ - `connection_creation_rate` - The maximum rate of new connections per second from the IP address
221
+
222
+ ## Quota Precedence
223
+
224
+ When multiple quotas apply to a request, Kafka uses the most specific quota:
225
+
226
+ 1. `/config/users/<user>/clients/<client-id>` (most specific)
227
+ 2. `/config/users/<user>/clients/<default>`
228
+ 3. `/config/users/<user>`
229
+ 4. `/config/users/<default>/clients/<client-id>`
230
+ 5. `/config/users/<default>/clients/<default>`
231
+ 6. `/config/users/<default>` (least specific)
232
+
233
+ ## Best Practices
234
+
235
+ 1. **Start with Conservative Defaults**: Set reasonable default quotas for all users/clients and then create specific quotas for services that need higher limits.
236
+
237
+ 2. **Monitor Quota Usage**: Use Kafka metrics to monitor quota utilization and adjust as needed. Look for throttling metrics to identify when quotas are being hit.
238
+
239
+ 3. **Use Request Percentage Carefully**: The `request_percentage` quota affects CPU usage. Values over 100% mean the client can use more than one CPU core.
240
+
241
+ 4. **Plan for Growth**: Set quotas with some headroom to accommodate traffic growth, but not so high that a misbehaving client can impact the cluster.
242
+
243
+ 5. **Different Quotas for Different Environments**: Use stricter quotas in development/staging environments compared to production.
244
+
245
+ > **Note:** Quotas are applied immediately but may take a few seconds to propagate across all brokers.
246
+
247
+ ## Import
248
+
249
+ Kafka quotas can be imported using the entity type and name:
250
+
251
+ For named entities
252
+
253
+ ```sh
254
+ $ pulumi import kafka:index/quota:Quota example client-id:my-client
255
+ ```
256
+
257
+ For default quotas (no entity name)
258
+
259
+ ```sh
260
+ $ pulumi import kafka:index/quota:Quota default_user user:
261
+ ```
262
+
156
263
  :param str resource_name: The name of the resource.
157
264
  :param pulumi.ResourceOptions opts: Options for the resource.
158
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: A map of string k/v attributes.
159
- :param pulumi.Input[str] entity_name: The name of the entity to target.
160
- :param pulumi.Input[str] entity_type: The type of entity. Valid values are `client-id`, `user`, `ip`.
265
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] config: A map of string k/v properties.
266
+ :param pulumi.Input[_builtins.str] entity_name: The name of the entity (if entity_name is not provided, it will create entity-default Kafka quota)
267
+ :param pulumi.Input[_builtins.str] entity_type: The type of the entity (client-id, user, ip)
161
268
  """
162
269
  ...
163
270
  @overload
@@ -166,23 +273,128 @@ class Quota(pulumi.CustomResource):
166
273
  args: QuotaArgs,
167
274
  opts: Optional[pulumi.ResourceOptions] = None):
168
275
  """
169
- A resource for managing Kafka quotas.
276
+ The `Quota` resource manages Kafka quotas, which are used to limit resource usage and prevent any single client from monopolizing broker resources. Quotas can be applied to clients, users, or IP addresses to control bandwidth and request rates.
170
277
 
171
278
  ## Example Usage
172
279
 
280
+ ### Client ID Quota
281
+
173
282
  ```python
174
283
  import pulumi
175
284
  import pulumi_kafka as kafka
176
285
 
177
- quota = kafka.Quota("quota",
178
- entity_name="app_consumer",
286
+ # Limit a specific client's bandwidth
287
+ mobile_app = kafka.Quota("mobile_app",
288
+ entity_name="mobile-app-v1",
179
289
  entity_type="client-id",
180
290
  config={
181
291
  "consumer_byte_rate": "5000000",
182
292
  "producer_byte_rate": "2500000",
293
+ "request_percentage": "200",
294
+ })
295
+ ```
296
+
297
+ ### User Quota
298
+
299
+ ```python
300
+ import pulumi
301
+ import pulumi_kafka as kafka
302
+
303
+ # Set quotas for a specific user
304
+ service_account = kafka.Quota("service_account",
305
+ entity_name="payment-service",
306
+ entity_type="user",
307
+ config={
308
+ "consumer_byte_rate": "10000000",
309
+ "producer_byte_rate": "10000000",
310
+ "request_percentage": "400",
183
311
  })
184
312
  ```
185
313
 
314
+ ### Default User Quota
315
+
316
+ ```python
317
+ import pulumi
318
+ import pulumi_kafka as kafka
319
+
320
+ # Set default quotas for all users (when entity_name is omitted)
321
+ default_user = kafka.Quota("default_user",
322
+ entity_type="user",
323
+ config={
324
+ "consumer_byte_rate": "2000000",
325
+ "producer_byte_rate": "1000000",
326
+ "request_percentage": "100",
327
+ })
328
+ ```
329
+
330
+ ### IP Address Quota
331
+
332
+ ```python
333
+ import pulumi
334
+ import pulumi_kafka as kafka
335
+
336
+ # Rate limit connections from a specific IP
337
+ external_ip = kafka.Quota("external_ip",
338
+ entity_name="203.0.113.0",
339
+ entity_type="ip",
340
+ config={
341
+ "connection_creation_rate": "10",
342
+ })
343
+ ```
344
+
345
+ ## Quota Configuration Options
346
+
347
+ ### Bandwidth Quotas
348
+ - `producer_byte_rate` - The maximum bytes per second that can be produced by the entity
349
+ - `consumer_byte_rate` - The maximum bytes per second that can be consumed by the entity
350
+
351
+ ### Request Rate Quotas
352
+ - `request_percentage` - The percentage of CPU time on each broker that the entity can use for requests. Values > 100% indicate multiple CPUs (e.g., 200% = 2 CPUs)
353
+
354
+ ### Connection Quotas (IP-based only)
355
+ - `connection_creation_rate` - The maximum rate of new connections per second from the IP address
356
+
357
+ ## Quota Precedence
358
+
359
+ When multiple quotas apply to a request, Kafka uses the most specific quota:
360
+
361
+ 1. `/config/users/<user>/clients/<client-id>` (most specific)
362
+ 2. `/config/users/<user>/clients/<default>`
363
+ 3. `/config/users/<user>`
364
+ 4. `/config/users/<default>/clients/<client-id>`
365
+ 5. `/config/users/<default>/clients/<default>`
366
+ 6. `/config/users/<default>` (least specific)
367
+
368
+ ## Best Practices
369
+
370
+ 1. **Start with Conservative Defaults**: Set reasonable default quotas for all users/clients and then create specific quotas for services that need higher limits.
371
+
372
+ 2. **Monitor Quota Usage**: Use Kafka metrics to monitor quota utilization and adjust as needed. Look for throttling metrics to identify when quotas are being hit.
373
+
374
+ 3. **Use Request Percentage Carefully**: The `request_percentage` quota affects CPU usage. Values over 100% mean the client can use more than one CPU core.
375
+
376
+ 4. **Plan for Growth**: Set quotas with some headroom to accommodate traffic growth, but not so high that a misbehaving client can impact the cluster.
377
+
378
+ 5. **Different Quotas for Different Environments**: Use stricter quotas in development/staging environments compared to production.
379
+
380
+ > **Note:** Quotas are applied immediately but may take a few seconds to propagate across all brokers.
381
+
382
+ ## Import
383
+
384
+ Kafka quotas can be imported using the entity type and name:
385
+
386
+ For named entities
387
+
388
+ ```sh
389
+ $ pulumi import kafka:index/quota:Quota example client-id:my-client
390
+ ```
391
+
392
+ For default quotas (no entity name)
393
+
394
+ ```sh
395
+ $ pulumi import kafka:index/quota:Quota default_user user:
396
+ ```
397
+
186
398
  :param str resource_name: The name of the resource.
187
399
  :param QuotaArgs args: The arguments to use to populate this resource's properties.
188
400
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -198,9 +410,9 @@ class Quota(pulumi.CustomResource):
198
410
  def _internal_init(__self__,
199
411
  resource_name: str,
200
412
  opts: Optional[pulumi.ResourceOptions] = None,
201
- config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
202
- entity_name: Optional[pulumi.Input[str]] = None,
203
- entity_type: Optional[pulumi.Input[str]] = None,
413
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
414
+ entity_name: Optional[pulumi.Input[_builtins.str]] = None,
415
+ entity_type: Optional[pulumi.Input[_builtins.str]] = None,
204
416
  __props__=None):
205
417
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
206
418
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -211,8 +423,6 @@ class Quota(pulumi.CustomResource):
211
423
  __props__ = QuotaArgs.__new__(QuotaArgs)
212
424
 
213
425
  __props__.__dict__["config"] = config
214
- if entity_name is None and not opts.urn:
215
- raise TypeError("Missing required property 'entity_name'")
216
426
  __props__.__dict__["entity_name"] = entity_name
217
427
  if entity_type is None and not opts.urn:
218
428
  raise TypeError("Missing required property 'entity_type'")
@@ -227,9 +437,9 @@ class Quota(pulumi.CustomResource):
227
437
  def get(resource_name: str,
228
438
  id: pulumi.Input[str],
229
439
  opts: Optional[pulumi.ResourceOptions] = None,
230
- config: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
231
- entity_name: Optional[pulumi.Input[str]] = None,
232
- entity_type: Optional[pulumi.Input[str]] = None) -> 'Quota':
440
+ config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
441
+ entity_name: Optional[pulumi.Input[_builtins.str]] = None,
442
+ entity_type: Optional[pulumi.Input[_builtins.str]] = None) -> 'Quota':
233
443
  """
234
444
  Get an existing Quota resource's state with the given name, id, and optional extra
235
445
  properties used to qualify the lookup.
@@ -237,9 +447,9 @@ class Quota(pulumi.CustomResource):
237
447
  :param str resource_name: The unique name of the resulting resource.
238
448
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
239
449
  :param pulumi.ResourceOptions opts: Options for the resource.
240
- :param pulumi.Input[Mapping[str, pulumi.Input[str]]] config: A map of string k/v attributes.
241
- :param pulumi.Input[str] entity_name: The name of the entity to target.
242
- :param pulumi.Input[str] entity_type: The type of entity. Valid values are `client-id`, `user`, `ip`.
450
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] config: A map of string k/v properties.
451
+ :param pulumi.Input[_builtins.str] entity_name: The name of the entity (if entity_name is not provided, it will create entity-default Kafka quota)
452
+ :param pulumi.Input[_builtins.str] entity_type: The type of the entity (client-id, user, ip)
243
453
  """
244
454
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
245
455
 
@@ -250,27 +460,27 @@ class Quota(pulumi.CustomResource):
250
460
  __props__.__dict__["entity_type"] = entity_type
251
461
  return Quota(resource_name, opts=opts, __props__=__props__)
252
462
 
253
- @property
463
+ @_builtins.property
254
464
  @pulumi.getter
255
- def config(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
465
+ def config(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
256
466
  """
257
- A map of string k/v attributes.
467
+ A map of string k/v properties.
258
468
  """
259
469
  return pulumi.get(self, "config")
260
470
 
261
- @property
471
+ @_builtins.property
262
472
  @pulumi.getter(name="entityName")
263
- def entity_name(self) -> pulumi.Output[str]:
473
+ def entity_name(self) -> pulumi.Output[Optional[_builtins.str]]:
264
474
  """
265
- The name of the entity to target.
475
+ The name of the entity (if entity_name is not provided, it will create entity-default Kafka quota)
266
476
  """
267
477
  return pulumi.get(self, "entity_name")
268
478
 
269
- @property
479
+ @_builtins.property
270
480
  @pulumi.getter(name="entityType")
271
- def entity_type(self) -> pulumi.Output[str]:
481
+ def entity_type(self) -> pulumi.Output[_builtins.str]:
272
482
  """
273
- The type of entity. Valid values are `client-id`, `user`, `ip`.
483
+ The type of the entity (client-id, user, ip)
274
484
  """
275
485
  return pulumi.get(self, "entity_type")
276
486