pulumi-consul 3.12.0a1709360320__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 -14
  5. pulumi_consul/acl_binding_rule.py +12 -5
  6. pulumi_consul/acl_policy.py +9 -4
  7. pulumi_consul/acl_role.py +39 -30
  8. pulumi_consul/acl_role_policy_attachment.py +15 -8
  9. pulumi_consul/acl_token.py +36 -27
  10. pulumi_consul/acl_token_policy_attachment.py +7 -2
  11. pulumi_consul/acl_token_role_attachment.py +11 -4
  12. pulumi_consul/admin_partition.py +13 -4
  13. pulumi_consul/agent_service.py +7 -0
  14. pulumi_consul/autopilot_config.py +5 -0
  15. pulumi_consul/catalog_entry.py +16 -62
  16. pulumi_consul/certificate_authority.py +10 -51
  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 +75 -26
  21. pulumi_consul/config_entry_service_defaults.py +58 -51
  22. pulumi_consul/config_entry_service_intentions.py +80 -71
  23. pulumi_consul/config_entry_service_resolver.py +94 -87
  24. pulumi_consul/config_entry_service_router.py +31 -62
  25. pulumi_consul/config_entry_service_splitter.py +104 -93
  26. pulumi_consul/config_entry_v2_exported_services.py +479 -0
  27. pulumi_consul/get_acl_auth_method.py +26 -8
  28. pulumi_consul/get_acl_policy.py +20 -5
  29. pulumi_consul/get_acl_role.py +24 -5
  30. pulumi_consul/get_acl_token.py +25 -5
  31. pulumi_consul/get_acl_token_secret_id.py +29 -11
  32. pulumi_consul/get_agent_config.py +17 -5
  33. pulumi_consul/get_agent_self.py +82 -5
  34. pulumi_consul/get_autopilot_health.py +16 -5
  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 -38
  42. pulumi_consul/get_keys.py +44 -30
  43. pulumi_consul/get_network_area_members.py +26 -16
  44. pulumi_consul/get_network_segments.py +22 -14
  45. pulumi_consul/get_nodes.py +21 -9
  46. pulumi_consul/get_peering.py +22 -5
  47. pulumi_consul/get_peerings.py +14 -5
  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 +17 -12
  52. pulumi_consul/key_prefix.py +48 -50
  53. pulumi_consul/keys.py +26 -30
  54. pulumi_consul/license.py +9 -2
  55. pulumi_consul/namespace.py +13 -4
  56. pulumi_consul/namespace_policy_attachment.py +11 -4
  57. pulumi_consul/namespace_role_attachment.py +11 -4
  58. pulumi_consul/network_area.py +11 -15
  59. pulumi_consul/node.py +19 -19
  60. pulumi_consul/outputs.py +30 -27
  61. pulumi_consul/peering.py +13 -18
  62. pulumi_consul/peering_token.py +55 -11
  63. pulumi_consul/prepared_query.py +101 -101
  64. pulumi_consul/provider.py +11 -6
  65. pulumi_consul/pulumi-plugin.json +2 -1
  66. pulumi_consul/service.py +144 -19
  67. {pulumi_consul-3.12.0a1709360320.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.0a1709360320.dist-info → pulumi_consul-3.13.0a1736832526.dist-info}/WHEEL +1 -1
  70. pulumi_consul-3.12.0a1709360320.dist-info/RECORD +0 -70
  71. {pulumi_consul-3.12.0a1709360320.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,
@@ -422,6 +423,7 @@ class AclAuthMethod(pulumi.CustomResource):
422
423
  import pulumi_consul as consul
423
424
 
424
425
  minikube = consul.AclAuthMethod("minikube",
426
+ name="minikube",
425
427
  type="kubernetes",
426
428
  description="dev minikube cluster",
427
429
  config_json=json.dumps({
@@ -441,6 +443,7 @@ class AclAuthMethod(pulumi.CustomResource):
441
443
  import pulumi_consul as consul
442
444
 
443
445
  oidc = consul.AclAuthMethod("oidc",
446
+ name="auth0",
444
447
  type="oidc",
445
448
  max_token_ttl="5m",
446
449
  config_json=json.dumps({
@@ -471,7 +474,7 @@ class AclAuthMethod(pulumi.CustomResource):
471
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.**
472
475
  :param pulumi.Input[str] name: The name of the ACL auth method.
473
476
  :param pulumi.Input[str] namespace: The namespace in which to create the auth method.
474
- :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.
475
478
  :param pulumi.Input[str] partition: The partition the ACL auth method is associated with.
476
479
  :param pulumi.Input[str] token_locality: The kind of token that this auth method produces. This can be either 'local' or 'global'.
477
480
  :param pulumi.Input[str] type: The type of the ACL auth method.
@@ -495,6 +498,7 @@ class AclAuthMethod(pulumi.CustomResource):
495
498
  import pulumi_consul as consul
496
499
 
497
500
  minikube = consul.AclAuthMethod("minikube",
501
+ name="minikube",
498
502
  type="kubernetes",
499
503
  description="dev minikube cluster",
500
504
  config_json=json.dumps({
@@ -514,6 +518,7 @@ class AclAuthMethod(pulumi.CustomResource):
514
518
  import pulumi_consul as consul
515
519
 
516
520
  oidc = consul.AclAuthMethod("oidc",
521
+ name="auth0",
517
522
  type="oidc",
518
523
  max_token_ttl="5m",
519
524
  config_json=json.dumps({
@@ -557,7 +562,7 @@ class AclAuthMethod(pulumi.CustomResource):
557
562
  max_token_ttl: Optional[pulumi.Input[str]] = None,
558
563
  name: Optional[pulumi.Input[str]] = None,
559
564
  namespace: Optional[pulumi.Input[str]] = None,
560
- 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,
561
566
  partition: Optional[pulumi.Input[str]] = None,
562
567
  token_locality: Optional[pulumi.Input[str]] = None,
563
568
  type: Optional[pulumi.Input[str]] = None,
@@ -600,7 +605,7 @@ class AclAuthMethod(pulumi.CustomResource):
600
605
  max_token_ttl: Optional[pulumi.Input[str]] = None,
601
606
  name: Optional[pulumi.Input[str]] = None,
602
607
  namespace: Optional[pulumi.Input[str]] = None,
603
- 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,
604
609
  partition: Optional[pulumi.Input[str]] = None,
605
610
  token_locality: Optional[pulumi.Input[str]] = None,
606
611
  type: Optional[pulumi.Input[str]] = None) -> 'AclAuthMethod':
@@ -618,7 +623,7 @@ class AclAuthMethod(pulumi.CustomResource):
618
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.**
619
624
  :param pulumi.Input[str] name: The name of the ACL auth method.
620
625
  :param pulumi.Input[str] namespace: The namespace in which to create the auth method.
621
- :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.
622
627
  :param pulumi.Input[str] partition: The partition the ACL auth method is associated with.
623
628
  :param pulumi.Input[str] token_locality: The kind of token that this auth method produces. This can be either 'local' or 'global'.
624
629
  :param pulumi.Input[str] type: The type of the ACL auth method.
@@ -642,13 +647,11 @@ class AclAuthMethod(pulumi.CustomResource):
642
647
 
643
648
  @property
644
649
  @pulumi.getter
650
+ @_utilities.deprecated("""The config attribute is deprecated, please use `config_json` instead.""")
645
651
  def config(self) -> pulumi.Output[Optional[Mapping[str, str]]]:
646
652
  """
647
653
  The raw configuration for this ACL auth method.
648
654
  """
649
- warnings.warn("""The config attribute is deprecated, please use `config_json` instead.""", DeprecationWarning)
650
- pulumi.log.warn("""config is deprecated: The config attribute is deprecated, please use `config_json` instead.""")
651
-
652
655
  return pulumi.get(self, "config")
653
656
 
654
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,
@@ -306,6 +311,7 @@ class AclBindingRule(pulumi.CustomResource):
306
311
  import pulumi_consul as consul
307
312
 
308
313
  minikube = consul.AclAuthMethod("minikube",
314
+ name="minikube",
309
315
  type="kubernetes",
310
316
  description="dev minikube cluster",
311
317
  config={
@@ -328,7 +334,7 @@ class AclBindingRule(pulumi.CustomResource):
328
334
  :param pulumi.Input[str] auth_method: The name of the ACL auth method this rule apply.
329
335
  :param pulumi.Input[str] bind_name: The name to bind to a token at login-time.
330
336
  :param pulumi.Input[str] bind_type: Specifies the way the binding rule affects a token created at login.
331
- :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.
332
338
  :param pulumi.Input[str] description: A free form human readable description of the binding rule.
333
339
  :param pulumi.Input[str] namespace: The namespace to create the binding rule within.
334
340
  :param pulumi.Input[str] partition: The partition the ACL binding rule is associated with.
@@ -350,6 +356,7 @@ class AclBindingRule(pulumi.CustomResource):
350
356
  import pulumi_consul as consul
351
357
 
352
358
  minikube = consul.AclAuthMethod("minikube",
359
+ name="minikube",
353
360
  type="kubernetes",
354
361
  description="dev minikube cluster",
355
362
  config={
@@ -385,7 +392,7 @@ class AclBindingRule(pulumi.CustomResource):
385
392
  auth_method: Optional[pulumi.Input[str]] = None,
386
393
  bind_name: Optional[pulumi.Input[str]] = None,
387
394
  bind_type: Optional[pulumi.Input[str]] = None,
388
- bind_vars: Optional[pulumi.Input[pulumi.InputType['AclBindingRuleBindVarsArgs']]] = None,
395
+ bind_vars: Optional[pulumi.Input[Union['AclBindingRuleBindVarsArgs', 'AclBindingRuleBindVarsArgsDict']]] = None,
389
396
  description: Optional[pulumi.Input[str]] = None,
390
397
  namespace: Optional[pulumi.Input[str]] = None,
391
398
  partition: Optional[pulumi.Input[str]] = None,
@@ -426,7 +433,7 @@ class AclBindingRule(pulumi.CustomResource):
426
433
  auth_method: Optional[pulumi.Input[str]] = None,
427
434
  bind_name: Optional[pulumi.Input[str]] = None,
428
435
  bind_type: Optional[pulumi.Input[str]] = None,
429
- bind_vars: Optional[pulumi.Input[pulumi.InputType['AclBindingRuleBindVarsArgs']]] = None,
436
+ bind_vars: Optional[pulumi.Input[Union['AclBindingRuleBindVarsArgs', 'AclBindingRuleBindVarsArgsDict']]] = None,
430
437
  description: Optional[pulumi.Input[str]] = None,
431
438
  namespace: Optional[pulumi.Input[str]] = None,
432
439
  partition: Optional[pulumi.Input[str]] = None,
@@ -441,7 +448,7 @@ class AclBindingRule(pulumi.CustomResource):
441
448
  :param pulumi.Input[str] auth_method: The name of the ACL auth method this rule apply.
442
449
  :param pulumi.Input[str] bind_name: The name to bind to a token at login-time.
443
450
  :param pulumi.Input[str] bind_type: Specifies the way the binding rule affects a token created at login.
444
- :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.
445
452
  :param pulumi.Input[str] description: A free form human readable description of the binding rule.
446
453
  :param pulumi.Input[str] namespace: The namespace to create the binding rule within.
447
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']
@@ -240,11 +245,11 @@ class AclPolicy(pulumi.CustomResource):
240
245
  import pulumi_consul as consul
241
246
 
242
247
  test = consul.AclPolicy("test",
248
+ name="my_policy",
243
249
  datacenters=["dc1"],
244
250
  rules=\"\"\"node_prefix "" {
245
251
  policy = "read"
246
252
  }
247
-
248
253
  \"\"\")
249
254
  ```
250
255
 
@@ -253,7 +258,7 @@ class AclPolicy(pulumi.CustomResource):
253
258
  `consul_acl_policy` can be imported:
254
259
 
255
260
  ```sh
256
- $ pulumi import consul:index/aclPolicy:AclPolicy my-policy 1c90ef03-a6dd-6a8c-ac49-042ad3752896
261
+ $ pulumi import consul:index/aclPolicy:AclPolicy my-policy 1c90ef03-a6dd-6a8c-ac49-042ad3752896
257
262
  ```
258
263
 
259
264
  :param str resource_name: The name of the resource.
@@ -281,11 +286,11 @@ class AclPolicy(pulumi.CustomResource):
281
286
  import pulumi_consul as consul
282
287
 
283
288
  test = consul.AclPolicy("test",
289
+ name="my_policy",
284
290
  datacenters=["dc1"],
285
291
  rules=\"\"\"node_prefix "" {
286
292
  policy = "read"
287
293
  }
288
-
289
294
  \"\"\")
290
295
  ```
291
296
 
@@ -294,7 +299,7 @@ class AclPolicy(pulumi.CustomResource):
294
299
  `consul_acl_policy` can be imported:
295
300
 
296
301
  ```sh
297
- $ pulumi import consul:index/aclPolicy:AclPolicy my-policy 1c90ef03-a6dd-6a8c-ac49-042ad3752896
302
+ $ pulumi import consul:index/aclPolicy:AclPolicy my-policy 1c90ef03-a6dd-6a8c-ac49-042ad3752896
298
303
  ```
299
304
 
300
305
  :param str resource_name: The name of the resource.
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,11 +298,11 @@ 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
@@ -307,32 +312,34 @@ class AclRole(pulumi.CustomResource):
307
312
  import pulumi_consul as consul
308
313
 
309
314
  read_policy = consul.AclPolicy("read-policy",
315
+ name="read-policy",
310
316
  rules="node \\"\\" { policy = \\"read\\" }",
311
317
  datacenters=["dc1"])
312
318
  read = consul.AclRole("read",
319
+ name="foo",
313
320
  description="bar",
314
321
  policies=[read_policy.id],
315
- service_identities=[consul.AclRoleServiceIdentityArgs(
316
- service_name="foo",
317
- )])
322
+ service_identities=[{
323
+ "service_name": "foo",
324
+ }])
318
325
  ```
319
326
 
320
327
  ## Import
321
328
 
322
329
  ```sh
323
- $ pulumi import consul:index/aclRole:AclRole read 816a195f-6cb1-2e8d-92af-3011ae706318
330
+ $ pulumi import consul:index/aclRole:AclRole read 816a195f-6cb1-2e8d-92af-3011ae706318
324
331
  ```
325
332
 
326
333
  :param str resource_name: The name of the resource.
327
334
  :param pulumi.ResourceOptions opts: Options for the resource.
328
335
  :param pulumi.Input[str] description: A free form human readable description of the role.
329
- :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.
330
337
  :param pulumi.Input[str] namespace: The namespace to create the role within.
331
- :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.
332
339
  :param pulumi.Input[str] partition: The partition the ACL role is associated with.
333
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.
334
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleServiceIdentityArgs']]]] service_identities: The list of service identities that should be applied to the role.
335
- :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.
336
343
  """
337
344
  ...
338
345
  @overload
@@ -348,20 +355,22 @@ class AclRole(pulumi.CustomResource):
348
355
  import pulumi_consul as consul
349
356
 
350
357
  read_policy = consul.AclPolicy("read-policy",
358
+ name="read-policy",
351
359
  rules="node \\"\\" { policy = \\"read\\" }",
352
360
  datacenters=["dc1"])
353
361
  read = consul.AclRole("read",
362
+ name="foo",
354
363
  description="bar",
355
364
  policies=[read_policy.id],
356
- service_identities=[consul.AclRoleServiceIdentityArgs(
357
- service_name="foo",
358
- )])
365
+ service_identities=[{
366
+ "service_name": "foo",
367
+ }])
359
368
  ```
360
369
 
361
370
  ## Import
362
371
 
363
372
  ```sh
364
- $ pulumi import consul:index/aclRole:AclRole read 816a195f-6cb1-2e8d-92af-3011ae706318
373
+ $ pulumi import consul:index/aclRole:AclRole read 816a195f-6cb1-2e8d-92af-3011ae706318
365
374
  ```
366
375
 
367
376
  :param str resource_name: The name of the resource.
@@ -382,11 +391,11 @@ class AclRole(pulumi.CustomResource):
382
391
  description: Optional[pulumi.Input[str]] = None,
383
392
  name: Optional[pulumi.Input[str]] = None,
384
393
  namespace: Optional[pulumi.Input[str]] = None,
385
- 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,
386
395
  partition: Optional[pulumi.Input[str]] = None,
387
396
  policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
388
- service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleServiceIdentityArgs']]]]] = None,
389
- 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,
390
399
  __props__=None):
391
400
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
392
401
  if not isinstance(opts, pulumi.ResourceOptions):
@@ -417,11 +426,11 @@ class AclRole(pulumi.CustomResource):
417
426
  description: Optional[pulumi.Input[str]] = None,
418
427
  name: Optional[pulumi.Input[str]] = None,
419
428
  namespace: Optional[pulumi.Input[str]] = None,
420
- 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,
421
430
  partition: Optional[pulumi.Input[str]] = None,
422
431
  policies: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
423
- service_identities: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleServiceIdentityArgs']]]]] = None,
424
- 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':
425
434
  """
426
435
  Get an existing AclRole resource's state with the given name, id, and optional extra
427
436
  properties used to qualify the lookup.
@@ -430,13 +439,13 @@ class AclRole(pulumi.CustomResource):
430
439
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
431
440
  :param pulumi.ResourceOptions opts: Options for the resource.
432
441
  :param pulumi.Input[str] description: A free form human readable description of the role.
433
- :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.
434
443
  :param pulumi.Input[str] namespace: The namespace to create the role within.
435
- :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.
436
445
  :param pulumi.Input[str] partition: The partition the ACL role is associated with.
437
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.
438
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['AclRoleServiceIdentityArgs']]]] service_identities: The list of service identities that should be applied to the role.
439
- :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.
440
449
  """
441
450
  opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
442
451
 
@@ -464,7 +473,7 @@ class AclRole(pulumi.CustomResource):
464
473
  @pulumi.getter
465
474
  def name(self) -> pulumi.Output[str]:
466
475
  """
467
- The name of node, workload identity or service.
476
+ The name of the ACL role.
468
477
  """
469
478
  return pulumi.get(self, "name")
470
479
 
@@ -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__ = ['AclRolePolicyAttachmentArgs', 'AclRolePolicyAttachment']
@@ -105,18 +110,19 @@ class AclRolePolicyAttachment(pulumi.CustomResource):
105
110
  import pulumi_consul as consul
106
111
 
107
112
  my_role = consul.get_acl_role(name="my_role")
108
- read_policy = consul.AclPolicy("readPolicy",
113
+ read_policy = consul.AclPolicy("read_policy",
114
+ name="read-policy",
109
115
  rules="node \\"\\" { policy = \\"read\\" }",
110
116
  datacenters=["dc1"])
111
- my_role_read_policy = consul.AclRolePolicyAttachment("myRoleReadPolicy",
112
- role_id=data["consul_acl_role"]["test"]["id"],
117
+ my_role_read_policy = consul.AclRolePolicyAttachment("my_role_read_policy",
118
+ role_id=test["id"],
113
119
  policy=read_policy.name)
114
120
  ```
115
121
 
116
122
  ## Import
117
123
 
118
124
  ```sh
119
- $ pulumi import consul:index/aclRolePolicyAttachment:AclRolePolicyAttachment my_role_read_policy 624d94ca-bc5c-f960-4e83-0a609cf588be:policy_name
125
+ $ pulumi import consul:index/aclRolePolicyAttachment:AclRolePolicyAttachment my_role_read_policy 624d94ca-bc5c-f960-4e83-0a609cf588be:policy_name
120
126
  ```
121
127
 
122
128
  :param str resource_name: The name of the resource.
@@ -138,18 +144,19 @@ class AclRolePolicyAttachment(pulumi.CustomResource):
138
144
  import pulumi_consul as consul
139
145
 
140
146
  my_role = consul.get_acl_role(name="my_role")
141
- read_policy = consul.AclPolicy("readPolicy",
147
+ read_policy = consul.AclPolicy("read_policy",
148
+ name="read-policy",
142
149
  rules="node \\"\\" { policy = \\"read\\" }",
143
150
  datacenters=["dc1"])
144
- my_role_read_policy = consul.AclRolePolicyAttachment("myRoleReadPolicy",
145
- role_id=data["consul_acl_role"]["test"]["id"],
151
+ my_role_read_policy = consul.AclRolePolicyAttachment("my_role_read_policy",
152
+ role_id=test["id"],
146
153
  policy=read_policy.name)
147
154
  ```
148
155
 
149
156
  ## Import
150
157
 
151
158
  ```sh
152
- $ pulumi import consul:index/aclRolePolicyAttachment:AclRolePolicyAttachment my_role_read_policy 624d94ca-bc5c-f960-4e83-0a609cf588be:policy_name
159
+ $ pulumi import consul:index/aclRolePolicyAttachment:AclRolePolicyAttachment my_role_read_policy 624d94ca-bc5c-f960-4e83-0a609cf588be:policy_name
153
160
  ```
154
161
 
155
162
  :param str resource_name: The name of the resource.