pulumi-consul 3.12.0a1710156214__py3-none-any.whl → 3.13.0a1736832526__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-consul might be problematic. Click here for more details.

Files changed (71) hide show
  1. pulumi_consul/__init__.py +10 -0
  2. pulumi_consul/_inputs.py +1592 -31
  3. pulumi_consul/_utilities.py +41 -5
  4. pulumi_consul/acl_auth_method.py +17 -22
  5. pulumi_consul/acl_binding_rule.py +12 -9
  6. pulumi_consul/acl_policy.py +7 -6
  7. pulumi_consul/acl_role.py +37 -32
  8. pulumi_consul/acl_role_policy_attachment.py +13 -10
  9. pulumi_consul/acl_token.py +34 -29
  10. pulumi_consul/acl_token_policy_attachment.py +5 -0
  11. pulumi_consul/acl_token_role_attachment.py +5 -0
  12. pulumi_consul/admin_partition.py +11 -6
  13. pulumi_consul/agent_service.py +7 -4
  14. pulumi_consul/autopilot_config.py +5 -4
  15. pulumi_consul/catalog_entry.py +16 -66
  16. pulumi_consul/certificate_authority.py +8 -49
  17. pulumi_consul/config/__init__.pyi +5 -0
  18. pulumi_consul/config/outputs.py +5 -0
  19. pulumi_consul/config/vars.py +5 -0
  20. pulumi_consul/config_entry.py +57 -46
  21. pulumi_consul/config_entry_service_defaults.py +54 -49
  22. pulumi_consul/config_entry_service_intentions.py +80 -75
  23. pulumi_consul/config_entry_service_resolver.py +94 -91
  24. pulumi_consul/config_entry_service_router.py +31 -66
  25. pulumi_consul/config_entry_service_splitter.py +102 -95
  26. pulumi_consul/config_entry_v2_exported_services.py +479 -0
  27. pulumi_consul/get_acl_auth_method.py +26 -12
  28. pulumi_consul/get_acl_policy.py +20 -9
  29. pulumi_consul/get_acl_role.py +24 -9
  30. pulumi_consul/get_acl_token.py +25 -9
  31. pulumi_consul/get_acl_token_secret_id.py +29 -15
  32. pulumi_consul/get_agent_config.py +17 -9
  33. pulumi_consul/get_agent_self.py +82 -5
  34. pulumi_consul/get_autopilot_health.py +16 -9
  35. pulumi_consul/get_catalog_nodes.py +21 -9
  36. pulumi_consul/get_catalog_service.py +56 -13
  37. pulumi_consul/get_catalog_services.py +53 -9
  38. pulumi_consul/get_config_entry.py +20 -5
  39. pulumi_consul/get_config_entry_v2_exported_services.py +232 -0
  40. pulumi_consul/get_datacenters.py +12 -5
  41. pulumi_consul/get_key_prefix.py +55 -46
  42. pulumi_consul/get_keys.py +44 -34
  43. pulumi_consul/get_network_area_members.py +26 -20
  44. pulumi_consul/get_network_segments.py +22 -18
  45. pulumi_consul/get_nodes.py +21 -9
  46. pulumi_consul/get_peering.py +22 -9
  47. pulumi_consul/get_peerings.py +14 -9
  48. pulumi_consul/get_service.py +56 -13
  49. pulumi_consul/get_service_health.py +28 -5
  50. pulumi_consul/get_services.py +53 -9
  51. pulumi_consul/intention.py +15 -18
  52. pulumi_consul/key_prefix.py +42 -50
  53. pulumi_consul/keys.py +26 -34
  54. pulumi_consul/license.py +9 -6
  55. pulumi_consul/namespace.py +7 -4
  56. pulumi_consul/namespace_policy_attachment.py +5 -0
  57. pulumi_consul/namespace_role_attachment.py +5 -0
  58. pulumi_consul/network_area.py +11 -19
  59. pulumi_consul/node.py +17 -21
  60. pulumi_consul/outputs.py +30 -27
  61. pulumi_consul/peering.py +13 -22
  62. pulumi_consul/peering_token.py +55 -15
  63. pulumi_consul/prepared_query.py +99 -103
  64. pulumi_consul/provider.py +11 -6
  65. pulumi_consul/pulumi-plugin.json +2 -1
  66. pulumi_consul/service.py +90 -29
  67. {pulumi_consul-3.12.0a1710156214.dist-info → pulumi_consul-3.13.0a1736832526.dist-info}/METADATA +7 -6
  68. pulumi_consul-3.13.0a1736832526.dist-info/RECORD +72 -0
  69. {pulumi_consul-3.12.0a1710156214.dist-info → pulumi_consul-3.13.0a1736832526.dist-info}/WHEEL +1 -1
  70. pulumi_consul-3.12.0a1710156214.dist-info/RECORD +0 -70
  71. {pulumi_consul-3.12.0a1710156214.dist-info → pulumi_consul-3.13.0a1736832526.dist-info}/top_level.txt +0 -0
@@ -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
  from . import outputs
12
17
  from ._inputs import *
@@ -80,13 +85,11 @@ class AclAuthMethodArgs:
80
85
 
81
86
  @property
82
87
  @pulumi.getter
88
+ @_utilities.deprecated("""The config attribute is deprecated, please use `config_json` instead.""")
83
89
  def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
84
90
  """
85
91
  The raw configuration for this ACL auth method.
86
92
  """
87
- warnings.warn("""The config attribute is deprecated, please use `config_json` instead.""", DeprecationWarning)
88
- pulumi.log.warn("""config is deprecated: The config attribute is deprecated, please use `config_json` instead.""")
89
-
90
93
  return pulumi.get(self, "config")
91
94
 
92
95
  @config.setter
@@ -258,13 +261,11 @@ class _AclAuthMethodState:
258
261
 
259
262
  @property
260
263
  @pulumi.getter
264
+ @_utilities.deprecated("""The config attribute is deprecated, please use `config_json` instead.""")
261
265
  def config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
262
266
  """
263
267
  The raw configuration for this ACL auth method.
264
268
  """
265
- warnings.warn("""The config attribute is deprecated, please use `config_json` instead.""", DeprecationWarning)
266
- pulumi.log.warn("""config is deprecated: The config attribute is deprecated, please use `config_json` instead.""")
267
-
268
269
  return pulumi.get(self, "config")
269
270
 
270
271
  @config.setter
@@ -404,7 +405,7 @@ class AclAuthMethod(pulumi.CustomResource):
404
405
  max_token_ttl: Optional[pulumi.Input[str]] = None,
405
406
  name: Optional[pulumi.Input[str]] = None,
406
407
  namespace: Optional[pulumi.Input[str]] = None,
407
- namespace_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclAuthMethodNamespaceRuleArgs']]]]] = None,
408
+ namespace_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclAuthMethodNamespaceRuleArgs', 'AclAuthMethodNamespaceRuleArgsDict']]]]] = None,
408
409
  partition: Optional[pulumi.Input[str]] = None,
409
410
  token_locality: Optional[pulumi.Input[str]] = None,
410
411
  type: Optional[pulumi.Input[str]] = None,
@@ -416,13 +417,13 @@ class AclAuthMethod(pulumi.CustomResource):
416
417
 
417
418
  Define a `kubernetes` auth method:
418
419
 
419
- <!--Start PulumiCodeChooser -->
420
420
  ```python
421
421
  import pulumi
422
422
  import json
423
423
  import pulumi_consul as consul
424
424
 
425
425
  minikube = consul.AclAuthMethod("minikube",
426
+ name="minikube",
426
427
  type="kubernetes",
427
428
  description="dev minikube cluster",
428
429
  config_json=json.dumps({
@@ -433,17 +434,16 @@ class AclAuthMethod(pulumi.CustomResource):
433
434
  "ServiceAccountJWT": "eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9...",
434
435
  }))
435
436
  ```
436
- <!--End PulumiCodeChooser -->
437
437
 
438
438
  Define a `jwt` auth method:
439
439
 
440
- <!--Start PulumiCodeChooser -->
441
440
  ```python
442
441
  import pulumi
443
442
  import json
444
443
  import pulumi_consul as consul
445
444
 
446
445
  oidc = consul.AclAuthMethod("oidc",
446
+ name="auth0",
447
447
  type="oidc",
448
448
  max_token_ttl="5m",
449
449
  config_json=json.dumps({
@@ -464,7 +464,6 @@ class AclAuthMethod(pulumi.CustomResource):
464
464
  "OIDCDiscoveryURL": "https://my-corp-app-name.auth0.com/",
465
465
  }))
466
466
  ```
467
- <!--End PulumiCodeChooser -->
468
467
 
469
468
  :param str resource_name: The name of the resource.
470
469
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -475,7 +474,7 @@ class AclAuthMethod(pulumi.CustomResource):
475
474
  :param pulumi.Input[str] max_token_ttl: The maximum life of any token created by this auth method. **This attribute is required and must be set to a nonzero for the OIDC auth method.**
476
475
  :param pulumi.Input[str] name: The name of the ACL auth method.
477
476
  :param pulumi.Input[str] namespace: The namespace in which to create the auth method.
478
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclAuthMethodNamespaceRuleArgs']]]] namespace_rules: A set of rules that control which namespace tokens created via this auth method will be created within.
477
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AclAuthMethodNamespaceRuleArgs', 'AclAuthMethodNamespaceRuleArgsDict']]]] namespace_rules: A set of rules that control which namespace tokens created via this auth method will be created within.
479
478
  :param pulumi.Input[str] partition: The partition the ACL auth method is associated with.
480
479
  :param pulumi.Input[str] token_locality: The kind of token that this auth method produces. This can be either 'local' or 'global'.
481
480
  :param pulumi.Input[str] type: The type of the ACL auth method.
@@ -493,13 +492,13 @@ class AclAuthMethod(pulumi.CustomResource):
493
492
 
494
493
  Define a `kubernetes` auth method:
495
494
 
496
- <!--Start PulumiCodeChooser -->
497
495
  ```python
498
496
  import pulumi
499
497
  import json
500
498
  import pulumi_consul as consul
501
499
 
502
500
  minikube = consul.AclAuthMethod("minikube",
501
+ name="minikube",
503
502
  type="kubernetes",
504
503
  description="dev minikube cluster",
505
504
  config_json=json.dumps({
@@ -510,17 +509,16 @@ class AclAuthMethod(pulumi.CustomResource):
510
509
  "ServiceAccountJWT": "eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9...",
511
510
  }))
512
511
  ```
513
- <!--End PulumiCodeChooser -->
514
512
 
515
513
  Define a `jwt` auth method:
516
514
 
517
- <!--Start PulumiCodeChooser -->
518
515
  ```python
519
516
  import pulumi
520
517
  import json
521
518
  import pulumi_consul as consul
522
519
 
523
520
  oidc = consul.AclAuthMethod("oidc",
521
+ name="auth0",
524
522
  type="oidc",
525
523
  max_token_ttl="5m",
526
524
  config_json=json.dumps({
@@ -541,7 +539,6 @@ class AclAuthMethod(pulumi.CustomResource):
541
539
  "OIDCDiscoveryURL": "https://my-corp-app-name.auth0.com/",
542
540
  }))
543
541
  ```
544
- <!--End PulumiCodeChooser -->
545
542
 
546
543
  :param str resource_name: The name of the resource.
547
544
  :param AclAuthMethodArgs args: The arguments to use to populate this resource's properties.
@@ -565,7 +562,7 @@ class AclAuthMethod(pulumi.CustomResource):
565
562
  max_token_ttl: Optional[pulumi.Input[str]] = None,
566
563
  name: Optional[pulumi.Input[str]] = None,
567
564
  namespace: Optional[pulumi.Input[str]] = None,
568
- namespace_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclAuthMethodNamespaceRuleArgs']]]]] = None,
565
+ namespace_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclAuthMethodNamespaceRuleArgs', 'AclAuthMethodNamespaceRuleArgsDict']]]]] = None,
569
566
  partition: Optional[pulumi.Input[str]] = None,
570
567
  token_locality: Optional[pulumi.Input[str]] = None,
571
568
  type: Optional[pulumi.Input[str]] = None,
@@ -608,7 +605,7 @@ class AclAuthMethod(pulumi.CustomResource):
608
605
  max_token_ttl: Optional[pulumi.Input[str]] = None,
609
606
  name: Optional[pulumi.Input[str]] = None,
610
607
  namespace: Optional[pulumi.Input[str]] = None,
611
- namespace_rules: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclAuthMethodNamespaceRuleArgs']]]]] = None,
608
+ namespace_rules: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclAuthMethodNamespaceRuleArgs', 'AclAuthMethodNamespaceRuleArgsDict']]]]] = None,
612
609
  partition: Optional[pulumi.Input[str]] = None,
613
610
  token_locality: Optional[pulumi.Input[str]] = None,
614
611
  type: Optional[pulumi.Input[str]] = None) -> 'AclAuthMethod':
@@ -626,7 +623,7 @@ class AclAuthMethod(pulumi.CustomResource):
626
623
  :param pulumi.Input[str] max_token_ttl: The maximum life of any token created by this auth method. **This attribute is required and must be set to a nonzero for the OIDC auth method.**
627
624
  :param pulumi.Input[str] name: The name of the ACL auth method.
628
625
  :param pulumi.Input[str] namespace: The namespace in which to create the auth method.
629
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclAuthMethodNamespaceRuleArgs']]]] namespace_rules: A set of rules that control which namespace tokens created via this auth method will be created within.
626
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AclAuthMethodNamespaceRuleArgs', 'AclAuthMethodNamespaceRuleArgsDict']]]] namespace_rules: A set of rules that control which namespace tokens created via this auth method will be created within.
630
627
  :param pulumi.Input[str] partition: The partition the ACL auth method is associated with.
631
628
  :param pulumi.Input[str] token_locality: The kind of token that this auth method produces. This can be either 'local' or 'global'.
632
629
  :param pulumi.Input[str] type: The type of the ACL auth method.
@@ -650,13 +647,11 @@ class AclAuthMethod(pulumi.CustomResource):
650
647
 
651
648
  @property
652
649
  @pulumi.getter
650
+ @_utilities.deprecated("""The config attribute is deprecated, please use `config_json` instead.""")
653
651
  def config(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
654
652
  """
655
653
  The raw configuration for this ACL auth method.
656
654
  """
657
- warnings.warn("""The config attribute is deprecated, please use `config_json` instead.""", DeprecationWarning)
658
- pulumi.log.warn("""config is deprecated: The config attribute is deprecated, please use `config_json` instead.""")
659
-
660
655
  return pulumi.get(self, "config")
661
656
 
662
657
  @property
@@ -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
  from . import outputs
12
17
  from ._inputs import *
@@ -290,7 +295,7 @@ class AclBindingRule(pulumi.CustomResource):
290
295
  auth_method: Optional[pulumi.Input[str]] = None,
291
296
  bind_name: Optional[pulumi.Input[str]] = None,
292
297
  bind_type: Optional[pulumi.Input[str]] = None,
293
- bind_vars: Optional[pulumi.Input[pulumi.InputType['AclBindingRuleBindVarsArgs']]] = None,
298
+ bind_vars: Optional[pulumi.Input[Union['AclBindingRuleBindVarsArgs', 'AclBindingRuleBindVarsArgsDict']]] = None,
294
299
  description: Optional[pulumi.Input[str]] = None,
295
300
  namespace: Optional[pulumi.Input[str]] = None,
296
301
  partition: Optional[pulumi.Input[str]] = None,
@@ -301,12 +306,12 @@ class AclBindingRule(pulumi.CustomResource):
301
306
 
302
307
  ## Example Usage
303
308
 
304
- <!--Start PulumiCodeChooser -->
305
309
  ```python
306
310
  import pulumi
307
311
  import pulumi_consul as consul
308
312
 
309
313
  minikube = consul.AclAuthMethod("minikube",
314
+ name="minikube",
310
315
  type="kubernetes",
311
316
  description="dev minikube cluster",
312
317
  config={
@@ -323,14 +328,13 @@ class AclBindingRule(pulumi.CustomResource):
323
328
  bind_type="service",
324
329
  bind_name="minikube")
325
330
  ```
326
- <!--End PulumiCodeChooser -->
327
331
 
328
332
  :param str resource_name: The name of the resource.
329
333
  :param pulumi.ResourceOptions opts: Options for the resource.
330
334
  :param pulumi.Input[str] auth_method: The name of the ACL auth method this rule apply.
331
335
  :param pulumi.Input[str] bind_name: The name to bind to a token at login-time.
332
336
  :param pulumi.Input[str] bind_type: Specifies the way the binding rule affects a token created at login.
333
- :param pulumi.Input[pulumi.InputType['AclBindingRuleBindVarsArgs']] bind_vars: The variables used when binding rule type is `templated-policy`. Can be lightly templated using HIL `${foo}` syntax from available field names.
337
+ :param pulumi.Input[Union['AclBindingRuleBindVarsArgs', 'AclBindingRuleBindVarsArgsDict']] bind_vars: The variables used when binding rule type is `templated-policy`. Can be lightly templated using HIL `${foo}` syntax from available field names.
334
338
  :param pulumi.Input[str] description: A free form human readable description of the binding rule.
335
339
  :param pulumi.Input[str] namespace: The namespace to create the binding rule within.
336
340
  :param pulumi.Input[str] partition: The partition the ACL binding rule is associated with.
@@ -347,12 +351,12 @@ class AclBindingRule(pulumi.CustomResource):
347
351
 
348
352
  ## Example Usage
349
353
 
350
- <!--Start PulumiCodeChooser -->
351
354
  ```python
352
355
  import pulumi
353
356
  import pulumi_consul as consul
354
357
 
355
358
  minikube = consul.AclAuthMethod("minikube",
359
+ name="minikube",
356
360
  type="kubernetes",
357
361
  description="dev minikube cluster",
358
362
  config={
@@ -369,7 +373,6 @@ class AclBindingRule(pulumi.CustomResource):
369
373
  bind_type="service",
370
374
  bind_name="minikube")
371
375
  ```
372
- <!--End PulumiCodeChooser -->
373
376
 
374
377
  :param str resource_name: The name of the resource.
375
378
  :param AclBindingRuleArgs args: The arguments to use to populate this resource's properties.
@@ -389,7 +392,7 @@ class AclBindingRule(pulumi.CustomResource):
389
392
  auth_method: Optional[pulumi.Input[str]] = None,
390
393
  bind_name: Optional[pulumi.Input[str]] = None,
391
394
  bind_type: Optional[pulumi.Input[str]] = None,
392
- bind_vars: Optional[pulumi.Input[pulumi.InputType['AclBindingRuleBindVarsArgs']]] = None,
395
+ bind_vars: Optional[pulumi.Input[Union['AclBindingRuleBindVarsArgs', 'AclBindingRuleBindVarsArgsDict']]] = None,
393
396
  description: Optional[pulumi.Input[str]] = None,
394
397
  namespace: Optional[pulumi.Input[str]] = None,
395
398
  partition: Optional[pulumi.Input[str]] = None,
@@ -430,7 +433,7 @@ class AclBindingRule(pulumi.CustomResource):
430
433
  auth_method: Optional[pulumi.Input[str]] = None,
431
434
  bind_name: Optional[pulumi.Input[str]] = None,
432
435
  bind_type: Optional[pulumi.Input[str]] = None,
433
- bind_vars: Optional[pulumi.Input[pulumi.InputType['AclBindingRuleBindVarsArgs']]] = None,
436
+ bind_vars: Optional[pulumi.Input[Union['AclBindingRuleBindVarsArgs', 'AclBindingRuleBindVarsArgsDict']]] = None,
434
437
  description: Optional[pulumi.Input[str]] = None,
435
438
  namespace: Optional[pulumi.Input[str]] = None,
436
439
  partition: Optional[pulumi.Input[str]] = None,
@@ -445,7 +448,7 @@ class AclBindingRule(pulumi.CustomResource):
445
448
  :param pulumi.Input[str] auth_method: The name of the ACL auth method this rule apply.
446
449
  :param pulumi.Input[str] bind_name: The name to bind to a token at login-time.
447
450
  :param pulumi.Input[str] bind_type: Specifies the way the binding rule affects a token created at login.
448
- :param pulumi.Input[pulumi.InputType['AclBindingRuleBindVarsArgs']] bind_vars: The variables used when binding rule type is `templated-policy`. Can be lightly templated using HIL `${foo}` syntax from available field names.
451
+ :param pulumi.Input[Union['AclBindingRuleBindVarsArgs', 'AclBindingRuleBindVarsArgsDict']] bind_vars: The variables used when binding rule type is `templated-policy`. Can be lightly templated using HIL `${foo}` syntax from available field names.
449
452
  :param pulumi.Input[str] description: A free form human readable description of the binding rule.
450
453
  :param pulumi.Input[str] namespace: The namespace to create the binding rule within.
451
454
  :param pulumi.Input[str] partition: The partition the ACL binding rule is associated with.
@@ -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__ = ['AclPolicyArgs', 'AclPolicy']
@@ -235,20 +240,18 @@ class AclPolicy(pulumi.CustomResource):
235
240
 
236
241
  ## Example Usage
237
242
 
238
- <!--Start PulumiCodeChooser -->
239
243
  ```python
240
244
  import pulumi
241
245
  import pulumi_consul as consul
242
246
 
243
247
  test = consul.AclPolicy("test",
248
+ name="my_policy",
244
249
  datacenters=["dc1"],
245
250
  rules=\"\"\"node_prefix "" {
246
251
  policy = "read"
247
252
  }
248
-
249
253
  \"\"\")
250
254
  ```
251
- <!--End PulumiCodeChooser -->
252
255
 
253
256
  ## Import
254
257
 
@@ -278,20 +281,18 @@ class AclPolicy(pulumi.CustomResource):
278
281
 
279
282
  ## Example Usage
280
283
 
281
- <!--Start PulumiCodeChooser -->
282
284
  ```python
283
285
  import pulumi
284
286
  import pulumi_consul as consul
285
287
 
286
288
  test = consul.AclPolicy("test",
289
+ name="my_policy",
287
290
  datacenters=["dc1"],
288
291
  rules=\"\"\"node_prefix "" {
289
292
  policy = "read"
290
293
  }
291
-
292
294
  \"\"\")
293
295
  ```
294
- <!--End PulumiCodeChooser -->
295
296
 
296
297
  ## Import
297
298
 
pulumi_consul/acl_role.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
  from . import outputs
12
17
  from ._inputs import *
@@ -27,7 +32,7 @@ class AclRoleArgs:
27
32
  """
28
33
  The set of arguments for constructing a AclRole resource.
29
34
  :param pulumi.Input[str] description: A free form human readable description of the role.
30
- :param pulumi.Input[str] name: The name of node, workload identity or service.
35
+ :param pulumi.Input[str] name: The name of the ACL role.
31
36
  :param pulumi.Input[str] namespace: The namespace to create the role within.
32
37
  :param pulumi.Input[Sequence[pulumi.Input['AclRoleNodeIdentityArgs']]] node_identities: The list of node identities that should be applied to the role.
33
38
  :param pulumi.Input[str] partition: The partition the ACL role is associated with.
@@ -68,7 +73,7 @@ class AclRoleArgs:
68
73
  @pulumi.getter
69
74
  def name(self) -> Optional[pulumi.Input[str]]:
70
75
  """
71
- The name of node, workload identity or service.
76
+ The name of the ACL role.
72
77
  """
73
78
  return pulumi.get(self, "name")
74
79
 
@@ -163,7 +168,7 @@ class _AclRoleState:
163
168
  """
164
169
  Input properties used for looking up and filtering AclRole resources.
165
170
  :param pulumi.Input[str] description: A free form human readable description of the role.
166
- :param pulumi.Input[str] name: The name of node, workload identity or service.
171
+ :param pulumi.Input[str] name: The name of the ACL role.
167
172
  :param pulumi.Input[str] namespace: The namespace to create the role within.
168
173
  :param pulumi.Input[Sequence[pulumi.Input['AclRoleNodeIdentityArgs']]] node_identities: The list of node identities that should be applied to the role.
169
174
  :param pulumi.Input[str] partition: The partition the ACL role is associated with.
@@ -204,7 +209,7 @@ class _AclRoleState:
204
209
  @pulumi.getter
205
210
  def name(self) -> Optional[pulumi.Input[str]]:
206
211
  """
207
- The name of node, workload identity or service.
212
+ The name of the ACL role.
208
213
  """
209
214
  return pulumi.get(self, "name")
210
215
 
@@ -293,31 +298,31 @@ class AclRole(pulumi.CustomResource):
293
298
  description: Optional[pulumi.Input[str]] = None,
294
299
  name: Optional[pulumi.Input[str]] = None,
295
300
  namespace: Optional[pulumi.Input[str]] = None,
296
- node_identities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleNodeIdentityArgs']]]]] = None,
301
+ node_identities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclRoleNodeIdentityArgs', 'AclRoleNodeIdentityArgsDict']]]]] = None,
297
302
  partition: Optional[pulumi.Input[str]] = None,
298
303
  policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
299
- service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleServiceIdentityArgs']]]]] = None,
300
- templated_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleTemplatedPolicyArgs']]]]] = None,
304
+ service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclRoleServiceIdentityArgs', 'AclRoleServiceIdentityArgsDict']]]]] = None,
305
+ templated_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclRoleTemplatedPolicyArgs', 'AclRoleTemplatedPolicyArgsDict']]]]] = None,
301
306
  __props__=None):
302
307
  """
303
308
  ## Example Usage
304
309
 
305
- <!--Start PulumiCodeChooser -->
306
310
  ```python
307
311
  import pulumi
308
312
  import pulumi_consul as consul
309
313
 
310
314
  read_policy = consul.AclPolicy("read-policy",
315
+ name="read-policy",
311
316
  rules="node \\"\\" { policy = \\"read\\" }",
312
317
  datacenters=["dc1"])
313
318
  read = consul.AclRole("read",
319
+ name="foo",
314
320
  description="bar",
315
321
  policies=[read_policy.id],
316
- service_identities=[consul.AclRoleServiceIdentityArgs(
317
- service_name="foo",
318
- )])
322
+ service_identities=[{
323
+ "service_name": "foo",
324
+ }])
319
325
  ```
320
- <!--End PulumiCodeChooser -->
321
326
 
322
327
  ## Import
323
328
 
@@ -328,13 +333,13 @@ class AclRole(pulumi.CustomResource):
328
333
  :param str resource_name: The name of the resource.
329
334
  :param pulumi.ResourceOptions opts: Options for the resource.
330
335
  :param pulumi.Input[str] description: A free form human readable description of the role.
331
- :param pulumi.Input[str] name: The name of node, workload identity or service.
336
+ :param pulumi.Input[str] name: The name of the ACL role.
332
337
  :param pulumi.Input[str] namespace: The namespace to create the role within.
333
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleNodeIdentityArgs']]]] node_identities: The list of node identities that should be applied to the role.
338
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AclRoleNodeIdentityArgs', 'AclRoleNodeIdentityArgsDict']]]] node_identities: The list of node identities that should be applied to the role.
334
339
  :param pulumi.Input[str] partition: The partition the ACL role is associated with.
335
340
  :param pulumi.Input[Sequence[pulumi.Input[str]]] policies: The list of policies that should be applied to the role. Both the policy ID or its name can be used.
336
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleServiceIdentityArgs']]]] service_identities: The list of service identities that should be applied to the role.
337
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleTemplatedPolicyArgs']]]] templated_policies: The list of templated policies that should be applied to the token.
341
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AclRoleServiceIdentityArgs', 'AclRoleServiceIdentityArgsDict']]]] service_identities: The list of service identities that should be applied to the role.
342
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AclRoleTemplatedPolicyArgs', 'AclRoleTemplatedPolicyArgsDict']]]] templated_policies: The list of templated policies that should be applied to the token.
338
343
  """
339
344
  ...
340
345
  @overload
@@ -345,22 +350,22 @@ class AclRole(pulumi.CustomResource):
345
350
  """
346
351
  ## Example Usage
347
352
 
348
- <!--Start PulumiCodeChooser -->
349
353
  ```python
350
354
  import pulumi
351
355
  import pulumi_consul as consul
352
356
 
353
357
  read_policy = consul.AclPolicy("read-policy",
358
+ name="read-policy",
354
359
  rules="node \\"\\" { policy = \\"read\\" }",
355
360
  datacenters=["dc1"])
356
361
  read = consul.AclRole("read",
362
+ name="foo",
357
363
  description="bar",
358
364
  policies=[read_policy.id],
359
- service_identities=[consul.AclRoleServiceIdentityArgs(
360
- service_name="foo",
361
- )])
365
+ service_identities=[{
366
+ "service_name": "foo",
367
+ }])
362
368
  ```
363
- <!--End PulumiCodeChooser -->
364
369
 
365
370
  ## Import
366
371
 
@@ -386,11 +391,11 @@ class AclRole(pulumi.CustomResource):
386
391
  description: Optional[pulumi.Input[str]] = None,
387
392
  name: Optional[pulumi.Input[str]] = None,
388
393
  namespace: Optional[pulumi.Input[str]] = None,
389
- node_identities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleNodeIdentityArgs']]]]] = None,
394
+ node_identities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclRoleNodeIdentityArgs', 'AclRoleNodeIdentityArgsDict']]]]] = None,
390
395
  partition: Optional[pulumi.Input[str]] = None,
391
396
  policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
392
- service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleServiceIdentityArgs']]]]] = None,
393
- templated_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleTemplatedPolicyArgs']]]]] = None,
397
+ service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclRoleServiceIdentityArgs', 'AclRoleServiceIdentityArgsDict']]]]] = None,
398
+ templated_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclRoleTemplatedPolicyArgs', 'AclRoleTemplatedPolicyArgsDict']]]]] = None,
394
399
  __props__=None):
395
400
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
396
401
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -421,11 +426,11 @@ class AclRole(pulumi.CustomResource):
421
426
  description: Optional[pulumi.Input[str]] = None,
422
427
  name: Optional[pulumi.Input[str]] = None,
423
428
  namespace: Optional[pulumi.Input[str]] = None,
424
- node_identities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleNodeIdentityArgs']]]]] = None,
429
+ node_identities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclRoleNodeIdentityArgs', 'AclRoleNodeIdentityArgsDict']]]]] = None,
425
430
  partition: Optional[pulumi.Input[str]] = None,
426
431
  policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
427
- service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleServiceIdentityArgs']]]]] = None,
428
- templated_policies: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleTemplatedPolicyArgs']]]]] = None) -> 'AclRole':
432
+ service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclRoleServiceIdentityArgs', 'AclRoleServiceIdentityArgsDict']]]]] = None,
433
+ templated_policies: Optional[pulumi.Input[Sequence[pulumi.Input[Union['AclRoleTemplatedPolicyArgs', 'AclRoleTemplatedPolicyArgsDict']]]]] = None) -> 'AclRole':
429
434
  """
430
435
  Get an existing AclRole resource's state with the given name, id, and optional extra
431
436
  properties used to qualify the lookup.
@@ -434,13 +439,13 @@ class AclRole(pulumi.CustomResource):
434
439
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
435
440
  :param pulumi.ResourceOptions opts: Options for the resource.
436
441
  :param pulumi.Input[str] description: A free form human readable description of the role.
437
- :param pulumi.Input[str] name: The name of node, workload identity or service.
442
+ :param pulumi.Input[str] name: The name of the ACL role.
438
443
  :param pulumi.Input[str] namespace: The namespace to create the role within.
439
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleNodeIdentityArgs']]]] node_identities: The list of node identities that should be applied to the role.
444
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AclRoleNodeIdentityArgs', 'AclRoleNodeIdentityArgsDict']]]] node_identities: The list of node identities that should be applied to the role.
440
445
  :param pulumi.Input[str] partition: The partition the ACL role is associated with.
441
446
  :param pulumi.Input[Sequence[pulumi.Input[str]]] policies: The list of policies that should be applied to the role. Both the policy ID or its name can be used.
442
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleServiceIdentityArgs']]]] service_identities: The list of service identities that should be applied to the role.
443
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleTemplatedPolicyArgs']]]] templated_policies: The list of templated policies that should be applied to the token.
447
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AclRoleServiceIdentityArgs', 'AclRoleServiceIdentityArgsDict']]]] service_identities: The list of service identities that should be applied to the role.
448
+ :param pulumi.Input[Sequence[pulumi.Input[Union['AclRoleTemplatedPolicyArgs', 'AclRoleTemplatedPolicyArgsDict']]]] templated_policies: The list of templated policies that should be applied to the token.
444
449
  """
445
450
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
446
451
 
@@ -468,7 +473,7 @@ class AclRole(pulumi.CustomResource):
468
473
  @pulumi.getter
469
474
  def name(self) -> pulumi.Output[str]:
470
475
  """
471
- The name of node, workload identity or service.
476
+ The name of the ACL role.
472
477
  """
473
478
  return pulumi.get(self, "name")
474
479