pulumi-nomad 2.0.0a2__tar.gz → 2.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/PKG-INFO +6 -6
  2. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/_inputs.py +36 -0
  3. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/_utilities.py +41 -0
  4. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/acl_auth_method.py +64 -1
  5. pulumi_nomad-2.1.0/pulumi_nomad/config/__init__.pyi +87 -0
  6. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/csi_volume.py +90 -84
  7. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/csi_volume_registration.py +156 -82
  8. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_deployments.py +18 -0
  9. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_namespaces.py +26 -0
  10. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_regions.py +9 -0
  11. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_scheduler_policy.py +18 -0
  12. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/job.py +82 -3
  13. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/outputs.py +36 -0
  14. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/volume.py +0 -6
  15. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad.egg-info/PKG-INFO +7 -7
  16. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad.egg-info/SOURCES.txt +2 -2
  17. pulumi_nomad-2.1.0/pyproject.toml +22 -0
  18. pulumi_nomad-2.0.0a2/pulumi_nomad.egg-info/not-zip-safe +0 -1
  19. pulumi_nomad-2.0.0a2/setup.py +0 -44
  20. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/README.md +0 -0
  21. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/__init__.py +0 -0
  22. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/acl_binding_rule.py +0 -0
  23. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/acl_policy.py +0 -0
  24. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/acl_role.py +0 -0
  25. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/acl_token.py +0 -0
  26. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/config/__init__.py +0 -0
  27. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/config/outputs.py +0 -0
  28. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/config/vars.py +0 -0
  29. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/external_volume.py +0 -0
  30. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_acl_policies.py +0 -0
  31. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_acl_policy.py +0 -0
  32. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_acl_role.py +0 -0
  33. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_acl_roles.py +0 -0
  34. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_acl_token.py +0 -0
  35. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_acl_tokens.py +0 -0
  36. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_allocations.py +0 -0
  37. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_datacenters.py +0 -0
  38. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_job.py +0 -0
  39. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_job_parser.py +0 -0
  40. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_namespace.py +0 -0
  41. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_node_pool.py +0 -0
  42. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_node_pools.py +0 -0
  43. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_plugin.py +0 -0
  44. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_plugins.py +0 -0
  45. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_scaling_policies.py +0 -0
  46. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_scaling_policy.py +0 -0
  47. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_variable.py +0 -0
  48. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/get_volumes.py +0 -0
  49. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/namespace.py +0 -0
  50. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/node_pool.py +0 -0
  51. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/provider.py +0 -0
  52. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/pulumi-plugin.json +0 -0
  53. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/py.typed +0 -0
  54. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/quote_specification.py +0 -0
  55. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/scheduler_config.py +0 -0
  56. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/sentinel_policy.py +0 -0
  57. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad/variable.py +0 -0
  58. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad.egg-info/dependency_links.txt +0 -0
  59. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad.egg-info/requires.txt +0 -0
  60. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/pulumi_nomad.egg-info/top_level.txt +0 -0
  61. {pulumi_nomad-2.0.0a2 → pulumi_nomad-2.1.0}/setup.cfg +0 -0
@@ -1,14 +1,16 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_nomad
3
- Version: 2.0.0a2
3
+ Version: 2.1.0
4
4
  Summary: A Pulumi package for creating and managing nomad cloud resources.
5
- Home-page: https://pulumi.io
6
5
  License: Apache-2.0
6
+ Project-URL: Homepage, https://pulumi.io
7
7
  Project-URL: Repository, https://github.com/pulumi/pulumi-nomad
8
- Keywords: pulumi nomad
9
- Platform: UNKNOWN
8
+ Keywords: pulumi,nomad
10
9
  Requires-Python: >=3.7
11
10
  Description-Content-Type: text/markdown
11
+ Requires-Dist: parver>=0.2.1
12
+ Requires-Dist: pulumi<4.0.0,>=3.0.0
13
+ Requires-Dist: semver>=2.8.1
12
14
 
13
15
  [![Actions Status](https://github.com/pulumi/pulumi-nomad/workflows/master/badge.svg)](https://github.com/pulumi/pulumi-nomad/actions)
14
16
  [![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com)
@@ -90,5 +92,3 @@ The `nomad:headers` configuration block accepts the following arguments:
90
92
 
91
93
  For further information, please visit [the Nomad provider docs](https://www.pulumi.com/docs/intro/cloud-providers/nomad)
92
94
  or for detailed reference documentation, please visit [the API docs](https://www.pulumi.com/docs/reference/pkg/nomad).
93
-
94
-
@@ -548,11 +548,17 @@ class CsiVolumeRegistrationTopologyRequestArgs:
548
548
  class CsiVolumeRegistrationTopologyRequestRequiredArgs:
549
549
  def __init__(__self__, *,
550
550
  topologies: pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs']]]):
551
+ """
552
+ :param pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs']]] topologies: `(List of segments: <required>)` - Defines the location for the volume.
553
+ """
551
554
  pulumi.set(__self__, "topologies", topologies)
552
555
 
553
556
  @property
554
557
  @pulumi.getter
555
558
  def topologies(self) -> pulumi.Input[Sequence[pulumi.Input['CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs']]]:
559
+ """
560
+ `(List of segments: <required>)` - Defines the location for the volume.
561
+ """
556
562
  return pulumi.get(self, "topologies")
557
563
 
558
564
  @topologies.setter
@@ -660,11 +666,17 @@ class CsiVolumeTopologyRequestArgs:
660
666
  class CsiVolumeTopologyRequestPreferredArgs:
661
667
  def __init__(__self__, *,
662
668
  topologies: pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyRequestPreferredTopologyArgs']]]):
669
+ """
670
+ :param pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyRequestPreferredTopologyArgs']]] topologies: `(List of segments: <required>)` - Defines the location for the volume.
671
+ """
663
672
  pulumi.set(__self__, "topologies", topologies)
664
673
 
665
674
  @property
666
675
  @pulumi.getter
667
676
  def topologies(self) -> pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyRequestPreferredTopologyArgs']]]:
677
+ """
678
+ `(List of segments: <required>)` - Defines the location for the volume.
679
+ """
668
680
  return pulumi.get(self, "topologies")
669
681
 
670
682
  @topologies.setter
@@ -704,11 +716,17 @@ class CsiVolumeTopologyRequestPreferredTopologyArgs:
704
716
  class CsiVolumeTopologyRequestRequiredArgs:
705
717
  def __init__(__self__, *,
706
718
  topologies: pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyRequestRequiredTopologyArgs']]]):
719
+ """
720
+ :param pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyRequestRequiredTopologyArgs']]] topologies: `(List of segments: <required>)` - Defines the location for the volume.
721
+ """
707
722
  pulumi.set(__self__, "topologies", topologies)
708
723
 
709
724
  @property
710
725
  @pulumi.getter
711
726
  def topologies(self) -> pulumi.Input[Sequence[pulumi.Input['CsiVolumeTopologyRequestRequiredTopologyArgs']]]:
727
+ """
728
+ `(List of segments: <required>)` - Defines the location for the volume.
729
+ """
712
730
  return pulumi.get(self, "topologies")
713
731
 
714
732
  @topologies.setter
@@ -906,11 +924,17 @@ class ExternalVolumeTopologyRequestArgs:
906
924
  class ExternalVolumeTopologyRequestPreferredArgs:
907
925
  def __init__(__self__, *,
908
926
  topologies: pulumi.Input[Sequence[pulumi.Input['ExternalVolumeTopologyRequestPreferredTopologyArgs']]]):
927
+ """
928
+ :param pulumi.Input[Sequence[pulumi.Input['ExternalVolumeTopologyRequestPreferredTopologyArgs']]] topologies: `(List of segments: <required>)` - Defines the location for the volume.
929
+ """
909
930
  pulumi.set(__self__, "topologies", topologies)
910
931
 
911
932
  @property
912
933
  @pulumi.getter
913
934
  def topologies(self) -> pulumi.Input[Sequence[pulumi.Input['ExternalVolumeTopologyRequestPreferredTopologyArgs']]]:
935
+ """
936
+ `(List of segments: <required>)` - Defines the location for the volume.
937
+ """
914
938
  return pulumi.get(self, "topologies")
915
939
 
916
940
  @topologies.setter
@@ -950,11 +974,17 @@ class ExternalVolumeTopologyRequestPreferredTopologyArgs:
950
974
  class ExternalVolumeTopologyRequestRequiredArgs:
951
975
  def __init__(__self__, *,
952
976
  topologies: pulumi.Input[Sequence[pulumi.Input['ExternalVolumeTopologyRequestRequiredTopologyArgs']]]):
977
+ """
978
+ :param pulumi.Input[Sequence[pulumi.Input['ExternalVolumeTopologyRequestRequiredTopologyArgs']]] topologies: `(List of segments: <required>)` - Defines the location for the volume.
979
+ """
953
980
  pulumi.set(__self__, "topologies", topologies)
954
981
 
955
982
  @property
956
983
  @pulumi.getter
957
984
  def topologies(self) -> pulumi.Input[Sequence[pulumi.Input['ExternalVolumeTopologyRequestRequiredTopologyArgs']]]:
985
+ """
986
+ `(List of segments: <required>)` - Defines the location for the volume.
987
+ """
958
988
  return pulumi.get(self, "topologies")
959
989
 
960
990
  @topologies.setter
@@ -1673,11 +1703,17 @@ class VolumeTopologyRequestArgs:
1673
1703
  class VolumeTopologyRequestRequiredArgs:
1674
1704
  def __init__(__self__, *,
1675
1705
  topologies: pulumi.Input[Sequence[pulumi.Input['VolumeTopologyRequestRequiredTopologyArgs']]]):
1706
+ """
1707
+ :param pulumi.Input[Sequence[pulumi.Input['VolumeTopologyRequestRequiredTopologyArgs']]] topologies: `(List of segments: <required>)` - Defines the location for the volume.
1708
+ """
1676
1709
  pulumi.set(__self__, "topologies", topologies)
1677
1710
 
1678
1711
  @property
1679
1712
  @pulumi.getter
1680
1713
  def topologies(self) -> pulumi.Input[Sequence[pulumi.Input['VolumeTopologyRequestRequiredTopologyArgs']]]:
1714
+ """
1715
+ `(List of segments: <required>)` - Defines the location for the volume.
1716
+ """
1681
1717
  return pulumi.get(self, "topologies")
1682
1718
 
1683
1719
  @topologies.setter
@@ -3,6 +3,7 @@
3
3
  # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
4
 
5
5
 
6
+ import asyncio
6
7
  import importlib.util
7
8
  import inspect
8
9
  import json
@@ -13,6 +14,7 @@ import typing
13
14
 
14
15
  import pulumi
15
16
  import pulumi.runtime
17
+ from pulumi.runtime.sync_await import _sync_await
16
18
 
17
19
  from semver import VersionInfo as SemverVersion
18
20
  from parver import Version as PEP440Version
@@ -246,5 +248,44 @@ def lift_output_func(func: typing.Any) -> typing.Callable[[_F], _F]:
246
248
 
247
249
  return (lambda _: lifted_func)
248
250
 
251
+
252
+ def call_plain(
253
+ tok: str,
254
+ props: pulumi.Inputs,
255
+ res: typing.Optional[pulumi.Resource] = None,
256
+ typ: typing.Optional[type] = None,
257
+ ) -> typing.Any:
258
+ """
259
+ Wraps pulumi.runtime.plain to force the output and return it plainly.
260
+ """
261
+
262
+ output = pulumi.runtime.call(tok, props, res, typ)
263
+
264
+ # 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)))
266
+
267
+ problem = None
268
+ if not known:
269
+ problem = ' an unknown value'
270
+ elif secret:
271
+ problem = ' a secret value'
272
+
273
+ if problem:
274
+ raise AssertionError(
275
+ f"Plain resource method '{tok}' incorrectly returned {problem}. "
276
+ + "This is an error in the provider, please report this to the provider developer."
277
+ )
278
+
279
+ return result
280
+
281
+
282
+ async def _await_output(o: pulumi.Output[typing.Any]) -> typing.Tuple[object, bool, bool, set]:
283
+ return (
284
+ await o._future,
285
+ await o._is_known,
286
+ await o._is_secret,
287
+ await o._resources,
288
+ )
289
+
249
290
  def get_plugin_download_url():
250
291
  return None
@@ -21,7 +21,8 @@ class AclAuthMethodArgs:
21
21
  token_locality: pulumi.Input[str],
22
22
  type: pulumi.Input[str],
23
23
  default: Optional[pulumi.Input[bool]] = None,
24
- name: Optional[pulumi.Input[str]] = None):
24
+ name: Optional[pulumi.Input[str]] = None,
25
+ token_name_format: Optional[pulumi.Input[str]] = None):
25
26
  """
26
27
  The set of arguments for constructing a AclAuthMethod resource.
27
28
  :param pulumi.Input['AclAuthMethodConfigArgs'] config: Configuration specific to the auth method provider.
@@ -35,6 +36,9 @@ class AclAuthMethodArgs:
35
36
  :param pulumi.Input[bool] default: `(bool: false)` - Defines whether this ACL Auth Method is to be set
36
37
  as default.
37
38
  :param pulumi.Input[str] name: `(string: <required>)` - The identifier of the ACL Auth Method.
39
+ :param pulumi.Input[str] token_name_format: `(string: <optional>)` - Defines the token name format for the
40
+ generated tokens This can be lightly templated using HIL '${foo}' syntax.
41
+ Defaults to `${auth_method_type}-${auth_method_name}`.
38
42
  """
39
43
  pulumi.set(__self__, "config", config)
40
44
  pulumi.set(__self__, "max_token_ttl", max_token_ttl)
@@ -44,6 +48,8 @@ class AclAuthMethodArgs:
44
48
  pulumi.set(__self__, "default", default)
45
49
  if name is not None:
46
50
  pulumi.set(__self__, "name", name)
51
+ if token_name_format is not None:
52
+ pulumi.set(__self__, "token_name_format", token_name_format)
47
53
 
48
54
  @property
49
55
  @pulumi.getter
@@ -122,6 +128,20 @@ class AclAuthMethodArgs:
122
128
  def name(self, value: Optional[pulumi.Input[str]]):
123
129
  pulumi.set(self, "name", value)
124
130
 
131
+ @property
132
+ @pulumi.getter(name="tokenNameFormat")
133
+ def token_name_format(self) -> Optional[pulumi.Input[str]]:
134
+ """
135
+ `(string: <optional>)` - Defines the token name format for the
136
+ generated tokens This can be lightly templated using HIL '${foo}' syntax.
137
+ Defaults to `${auth_method_type}-${auth_method_name}`.
138
+ """
139
+ return pulumi.get(self, "token_name_format")
140
+
141
+ @token_name_format.setter
142
+ def token_name_format(self, value: Optional[pulumi.Input[str]]):
143
+ pulumi.set(self, "token_name_format", value)
144
+
125
145
 
126
146
  @pulumi.input_type
127
147
  class _AclAuthMethodState:
@@ -131,6 +151,7 @@ class _AclAuthMethodState:
131
151
  max_token_ttl: Optional[pulumi.Input[str]] = None,
132
152
  name: Optional[pulumi.Input[str]] = None,
133
153
  token_locality: Optional[pulumi.Input[str]] = None,
154
+ token_name_format: Optional[pulumi.Input[str]] = None,
134
155
  type: Optional[pulumi.Input[str]] = None):
135
156
  """
136
157
  Input properties used for looking up and filtering AclAuthMethod resources.
@@ -143,6 +164,9 @@ class _AclAuthMethodState:
143
164
  :param pulumi.Input[str] token_locality: `(string: <required>)` - Defines whether the ACL Auth Method
144
165
  creates a local or global token when performing SSO login. This field must be
145
166
  set to either `local` or `global`.
167
+ :param pulumi.Input[str] token_name_format: `(string: <optional>)` - Defines the token name format for the
168
+ generated tokens This can be lightly templated using HIL '${foo}' syntax.
169
+ Defaults to `${auth_method_type}-${auth_method_name}`.
146
170
  :param pulumi.Input[str] type: `(string: <required>)` - ACL Auth Method SSO workflow type. Currently,
147
171
  the only supported type is `OIDC`.
148
172
  """
@@ -156,6 +180,8 @@ class _AclAuthMethodState:
156
180
  pulumi.set(__self__, "name", name)
157
181
  if token_locality is not None:
158
182
  pulumi.set(__self__, "token_locality", token_locality)
183
+ if token_name_format is not None:
184
+ pulumi.set(__self__, "token_name_format", token_name_format)
159
185
  if type is not None:
160
186
  pulumi.set(__self__, "type", type)
161
187
 
@@ -223,6 +249,20 @@ class _AclAuthMethodState:
223
249
  def token_locality(self, value: Optional[pulumi.Input[str]]):
224
250
  pulumi.set(self, "token_locality", value)
225
251
 
252
+ @property
253
+ @pulumi.getter(name="tokenNameFormat")
254
+ def token_name_format(self) -> Optional[pulumi.Input[str]]:
255
+ """
256
+ `(string: <optional>)` - Defines the token name format for the
257
+ generated tokens This can be lightly templated using HIL '${foo}' syntax.
258
+ Defaults to `${auth_method_type}-${auth_method_name}`.
259
+ """
260
+ return pulumi.get(self, "token_name_format")
261
+
262
+ @token_name_format.setter
263
+ def token_name_format(self, value: Optional[pulumi.Input[str]]):
264
+ pulumi.set(self, "token_name_format", value)
265
+
226
266
  @property
227
267
  @pulumi.getter
228
268
  def type(self) -> Optional[pulumi.Input[str]]:
@@ -247,6 +287,7 @@ class AclAuthMethod(pulumi.CustomResource):
247
287
  max_token_ttl: Optional[pulumi.Input[str]] = None,
248
288
  name: Optional[pulumi.Input[str]] = None,
249
289
  token_locality: Optional[pulumi.Input[str]] = None,
290
+ token_name_format: Optional[pulumi.Input[str]] = None,
250
291
  type: Optional[pulumi.Input[str]] = None,
251
292
  __props__=None):
252
293
  """
@@ -264,6 +305,7 @@ class AclAuthMethod(pulumi.CustomResource):
264
305
  type="OIDC",
265
306
  token_locality="global",
266
307
  max_token_ttl="10m0s",
308
+ token_name_format="${auth_method_type}-${value.user}",
267
309
  default=True,
268
310
  config=nomad.AclAuthMethodConfigArgs(
269
311
  oidc_discovery_url="https://uk.auth0.com/",
@@ -291,6 +333,9 @@ class AclAuthMethod(pulumi.CustomResource):
291
333
  :param pulumi.Input[str] token_locality: `(string: <required>)` - Defines whether the ACL Auth Method
292
334
  creates a local or global token when performing SSO login. This field must be
293
335
  set to either `local` or `global`.
336
+ :param pulumi.Input[str] token_name_format: `(string: <optional>)` - Defines the token name format for the
337
+ generated tokens This can be lightly templated using HIL '${foo}' syntax.
338
+ Defaults to `${auth_method_type}-${auth_method_name}`.
294
339
  :param pulumi.Input[str] type: `(string: <required>)` - ACL Auth Method SSO workflow type. Currently,
295
340
  the only supported type is `OIDC`.
296
341
  """
@@ -315,6 +360,7 @@ class AclAuthMethod(pulumi.CustomResource):
315
360
  type="OIDC",
316
361
  token_locality="global",
317
362
  max_token_ttl="10m0s",
363
+ token_name_format="${auth_method_type}-${value.user}",
318
364
  default=True,
319
365
  config=nomad.AclAuthMethodConfigArgs(
320
366
  oidc_discovery_url="https://uk.auth0.com/",
@@ -351,6 +397,7 @@ class AclAuthMethod(pulumi.CustomResource):
351
397
  max_token_ttl: Optional[pulumi.Input[str]] = None,
352
398
  name: Optional[pulumi.Input[str]] = None,
353
399
  token_locality: Optional[pulumi.Input[str]] = None,
400
+ token_name_format: Optional[pulumi.Input[str]] = None,
354
401
  type: Optional[pulumi.Input[str]] = None,
355
402
  __props__=None):
356
403
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -372,6 +419,7 @@ class AclAuthMethod(pulumi.CustomResource):
372
419
  if token_locality is None and not opts.urn:
373
420
  raise TypeError("Missing required property 'token_locality'")
374
421
  __props__.__dict__["token_locality"] = token_locality
422
+ __props__.__dict__["token_name_format"] = token_name_format
375
423
  if type is None and not opts.urn:
376
424
  raise TypeError("Missing required property 'type'")
377
425
  __props__.__dict__["type"] = type
@@ -390,6 +438,7 @@ class AclAuthMethod(pulumi.CustomResource):
390
438
  max_token_ttl: Optional[pulumi.Input[str]] = None,
391
439
  name: Optional[pulumi.Input[str]] = None,
392
440
  token_locality: Optional[pulumi.Input[str]] = None,
441
+ token_name_format: Optional[pulumi.Input[str]] = None,
393
442
  type: Optional[pulumi.Input[str]] = None) -> 'AclAuthMethod':
394
443
  """
395
444
  Get an existing AclAuthMethod resource's state with the given name, id, and optional extra
@@ -407,6 +456,9 @@ class AclAuthMethod(pulumi.CustomResource):
407
456
  :param pulumi.Input[str] token_locality: `(string: <required>)` - Defines whether the ACL Auth Method
408
457
  creates a local or global token when performing SSO login. This field must be
409
458
  set to either `local` or `global`.
459
+ :param pulumi.Input[str] token_name_format: `(string: <optional>)` - Defines the token name format for the
460
+ generated tokens This can be lightly templated using HIL '${foo}' syntax.
461
+ Defaults to `${auth_method_type}-${auth_method_name}`.
410
462
  :param pulumi.Input[str] type: `(string: <required>)` - ACL Auth Method SSO workflow type. Currently,
411
463
  the only supported type is `OIDC`.
412
464
  """
@@ -419,6 +471,7 @@ class AclAuthMethod(pulumi.CustomResource):
419
471
  __props__.__dict__["max_token_ttl"] = max_token_ttl
420
472
  __props__.__dict__["name"] = name
421
473
  __props__.__dict__["token_locality"] = token_locality
474
+ __props__.__dict__["token_name_format"] = token_name_format
422
475
  __props__.__dict__["type"] = type
423
476
  return AclAuthMethod(resource_name, opts=opts, __props__=__props__)
424
477
 
@@ -466,6 +519,16 @@ class AclAuthMethod(pulumi.CustomResource):
466
519
  """
467
520
  return pulumi.get(self, "token_locality")
468
521
 
522
+ @property
523
+ @pulumi.getter(name="tokenNameFormat")
524
+ def token_name_format(self) -> pulumi.Output[Optional[str]]:
525
+ """
526
+ `(string: <optional>)` - Defines the token name format for the
527
+ generated tokens This can be lightly templated using HIL '${foo}' syntax.
528
+ Defaults to `${auth_method_type}-${auth_method_name}`.
529
+ """
530
+ return pulumi.get(self, "token_name_format")
531
+
469
532
  @property
470
533
  @pulumi.getter
471
534
  def type(self) -> pulumi.Output[str]:
@@ -0,0 +1,87 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from .. import _utilities
11
+ from . import outputs
12
+
13
+ address: Optional[str]
14
+ """
15
+ URL of the root of the target Nomad agent.
16
+ """
17
+
18
+ caFile: Optional[str]
19
+ """
20
+ A path to a PEM-encoded certificate authority used to verify the remote agent's certificate.
21
+ """
22
+
23
+ caPem: Optional[str]
24
+ """
25
+ PEM-encoded certificate authority used to verify the remote agent's certificate.
26
+ """
27
+
28
+ certFile: Optional[str]
29
+ """
30
+ A path to a PEM-encoded certificate provided to the remote agent; requires use of key_file or key_pem.
31
+ """
32
+
33
+ certPem: Optional[str]
34
+ """
35
+ PEM-encoded certificate provided to the remote agent; requires use of key_file or key_pem.
36
+ """
37
+
38
+ consulToken: Optional[str]
39
+ """
40
+ Consul token to validate Consul Connect Service Identity policies specified in the job file.
41
+ """
42
+
43
+ headers: Optional[str]
44
+ """
45
+ The headers to send with each Nomad request.
46
+ """
47
+
48
+ httpAuth: Optional[str]
49
+ """
50
+ HTTP basic auth configuration.
51
+ """
52
+
53
+ ignoreEnvVars: Optional[str]
54
+ """
55
+ A set of environment variables that are ignored by the provider when configuring the Nomad API client.
56
+ """
57
+
58
+ keyFile: Optional[str]
59
+ """
60
+ A path to a PEM-encoded private key, required if cert_file or cert_pem is specified.
61
+ """
62
+
63
+ keyPem: Optional[str]
64
+ """
65
+ PEM-encoded private key, required if cert_file or cert_pem is specified.
66
+ """
67
+
68
+ region: Optional[str]
69
+ """
70
+ Region of the target Nomad agent.
71
+ """
72
+
73
+ secretId: Optional[str]
74
+ """
75
+ ACL token secret for API requests.
76
+ """
77
+
78
+ skipVerify: Optional[bool]
79
+ """
80
+ Skip TLS verification on client side.
81
+ """
82
+
83
+ vaultToken: Optional[str]
84
+ """
85
+ Vault token if policies are specified in the job file.
86
+ """
87
+