pulumi-nomad 2.3.0a1710649436__py3-none-any.whl → 2.5.0a1736834448__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.
Files changed (54) hide show
  1. pulumi_nomad/__init__.py +1 -0
  2. pulumi_nomad/_inputs.py +896 -175
  3. pulumi_nomad/_utilities.py +41 -5
  4. pulumi_nomad/acl_auth_method.py +44 -41
  5. pulumi_nomad/acl_binding_rule.py +5 -0
  6. pulumi_nomad/acl_policy.py +10 -69
  7. pulumi_nomad/acl_role.py +10 -5
  8. pulumi_nomad/acl_token.py +28 -31
  9. pulumi_nomad/config/__init__.pyi +5 -0
  10. pulumi_nomad/config/outputs.py +5 -0
  11. pulumi_nomad/config/vars.py +5 -0
  12. pulumi_nomad/csi_volume.py +21 -88
  13. pulumi_nomad/csi_volume_registration.py +21 -88
  14. pulumi_nomad/external_volume.py +65 -132
  15. pulumi_nomad/get_acl_policies.py +14 -9
  16. pulumi_nomad/get_acl_policy.py +15 -9
  17. pulumi_nomad/get_acl_role.py +15 -9
  18. pulumi_nomad/get_acl_roles.py +14 -9
  19. pulumi_nomad/get_acl_token.py +22 -9
  20. pulumi_nomad/get_acl_tokens.py +14 -9
  21. pulumi_nomad/get_allocations.py +18 -9
  22. pulumi_nomad/get_datacenters.py +20 -13
  23. pulumi_nomad/get_deployments.py +18 -10
  24. pulumi_nomad/get_job.py +34 -9
  25. pulumi_nomad/get_job_parser.py +16 -29
  26. pulumi_nomad/get_jwks.py +124 -0
  27. pulumi_nomad/get_namespace.py +18 -9
  28. pulumi_nomad/get_namespaces.py +14 -9
  29. pulumi_nomad/get_node_pool.py +16 -9
  30. pulumi_nomad/get_node_pools.py +16 -9
  31. pulumi_nomad/get_plugin.py +25 -9
  32. pulumi_nomad/get_plugins.py +15 -10
  33. pulumi_nomad/get_regions.py +46 -5
  34. pulumi_nomad/get_scaling_policies.py +16 -9
  35. pulumi_nomad/get_scaling_policy.py +19 -10
  36. pulumi_nomad/get_scheduler_policy.py +14 -9
  37. pulumi_nomad/get_variable.py +17 -10
  38. pulumi_nomad/get_volumes.py +21 -10
  39. pulumi_nomad/job.py +22 -88
  40. pulumi_nomad/namespace.py +43 -40
  41. pulumi_nomad/node_pool.py +12 -9
  42. pulumi_nomad/outputs.py +293 -165
  43. pulumi_nomad/provider.py +8 -3
  44. pulumi_nomad/pulumi-plugin.json +2 -1
  45. pulumi_nomad/quote_specification.py +28 -25
  46. pulumi_nomad/scheduler_config.py +11 -10
  47. pulumi_nomad/sentinel_policy.py +11 -10
  48. pulumi_nomad/variable.py +33 -32
  49. pulumi_nomad/volume.py +73 -152
  50. {pulumi_nomad-2.3.0a1710649436.dist-info → pulumi_nomad-2.5.0a1736834448.dist-info}/METADATA +7 -6
  51. pulumi_nomad-2.5.0a1736834448.dist-info/RECORD +55 -0
  52. {pulumi_nomad-2.3.0a1710649436.dist-info → pulumi_nomad-2.5.0a1736834448.dist-info}/WHEEL +1 -1
  53. pulumi_nomad-2.3.0a1710649436.dist-info/RECORD +0 -54
  54. {pulumi_nomad-2.3.0a1710649436.dist-info → pulumi_nomad-2.5.0a1736834448.dist-info}/top_level.txt +0 -0
pulumi_nomad/outputs.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
 
@@ -67,6 +72,7 @@ __all__ = [
67
72
  'GetJobTaskGroupTaskResult',
68
73
  'GetJobTaskGroupTaskVolumeMountResult',
69
74
  'GetJobTaskGroupVolumeResult',
75
+ 'GetJwksKeyResult',
70
76
  'GetNamespaceCapabilityResult',
71
77
  'GetNamespaceNodePoolConfigResult',
72
78
  'GetNodePoolSchedulerConfigResult',
@@ -83,22 +89,36 @@ class AclAuthMethodConfig(dict):
83
89
  suggest = None
84
90
  if key == "allowedRedirectUris":
85
91
  suggest = "allowed_redirect_uris"
86
- elif key == "oidcClientId":
87
- suggest = "oidc_client_id"
88
- elif key == "oidcClientSecret":
89
- suggest = "oidc_client_secret"
90
- elif key == "oidcDiscoveryUrl":
91
- suggest = "oidc_discovery_url"
92
92
  elif key == "boundAudiences":
93
93
  suggest = "bound_audiences"
94
+ elif key == "boundIssuers":
95
+ suggest = "bound_issuers"
94
96
  elif key == "claimMappings":
95
97
  suggest = "claim_mappings"
98
+ elif key == "clockSkewLeeway":
99
+ suggest = "clock_skew_leeway"
96
100
  elif key == "discoveryCaPems":
97
101
  suggest = "discovery_ca_pems"
102
+ elif key == "expirationLeeway":
103
+ suggest = "expiration_leeway"
104
+ elif key == "jwksCaCert":
105
+ suggest = "jwks_ca_cert"
106
+ elif key == "jwksUrl":
107
+ suggest = "jwks_url"
108
+ elif key == "jwtValidationPubKeys":
109
+ suggest = "jwt_validation_pub_keys"
98
110
  elif key == "listClaimMappings":
99
111
  suggest = "list_claim_mappings"
112
+ elif key == "notBeforeLeeway":
113
+ suggest = "not_before_leeway"
114
+ elif key == "oidcClientId":
115
+ suggest = "oidc_client_id"
116
+ elif key == "oidcClientSecret":
117
+ suggest = "oidc_client_secret"
100
118
  elif key == "oidcDisableUserinfo":
101
119
  suggest = "oidc_disable_userinfo"
120
+ elif key == "oidcDiscoveryUrl":
121
+ suggest = "oidc_discovery_url"
102
122
  elif key == "oidcScopes":
103
123
  suggest = "oidc_scopes"
104
124
  elif key == "signingAlgs":
@@ -116,56 +136,93 @@ class AclAuthMethodConfig(dict):
116
136
  return super().get(key, default)
117
137
 
118
138
  def __init__(__self__, *,
119
- allowed_redirect_uris: Sequence[str],
120
- oidc_client_id: str,
121
- oidc_client_secret: str,
122
- oidc_discovery_url: str,
139
+ allowed_redirect_uris: Optional[Sequence[str]] = None,
123
140
  bound_audiences: Optional[Sequence[str]] = None,
141
+ bound_issuers: Optional[Sequence[str]] = None,
124
142
  claim_mappings: Optional[Mapping[str, str]] = None,
143
+ clock_skew_leeway: Optional[str] = None,
125
144
  discovery_ca_pems: Optional[Sequence[str]] = None,
145
+ expiration_leeway: Optional[str] = None,
146
+ jwks_ca_cert: Optional[str] = None,
147
+ jwks_url: Optional[str] = None,
148
+ jwt_validation_pub_keys: Optional[Sequence[str]] = None,
126
149
  list_claim_mappings: Optional[Mapping[str, str]] = None,
150
+ not_before_leeway: Optional[str] = None,
151
+ oidc_client_id: Optional[str] = None,
152
+ oidc_client_secret: Optional[str] = None,
127
153
  oidc_disable_userinfo: Optional[bool] = None,
154
+ oidc_discovery_url: Optional[str] = None,
128
155
  oidc_scopes: Optional[Sequence[str]] = None,
129
156
  signing_algs: Optional[Sequence[str]] = None):
130
157
  """
131
158
  :param Sequence[str] allowed_redirect_uris: `([]string: <optional>)` - A list of allowed values
132
159
  that can be used for the redirect URI.
133
- :param str oidc_client_id: `(string: <required>)` - The OAuth Client ID configured
134
- with the OIDC provider.
135
- :param str oidc_client_secret: `(string: <required>)` - The OAuth Client Secret
136
- configured with the OIDC provider.
137
- :param str oidc_discovery_url: `(string: <required>)` - The OIDC Discovery URL,
138
- without any .well-known component (base path).
139
160
  :param Sequence[str] bound_audiences: `([]string: <optional>)` - List of auth claims that are
140
161
  valid for login.
141
- :param Mapping[str, str] claim_mappings: `(map[string]string: <optional>)` - Mappings of claims (key)
142
- that will be copied to a metadata field (value).
162
+ :param Sequence[str] bound_issuers: `([]string: <optional>)` - The value against which to match
163
+ the iss claim in a JWT.
164
+ :param Mapping[str, str] claim_mappings: Mappings of claims (key) that will be copied to a metadata field (value).
165
+ :param str clock_skew_leeway: `(string: <optional>)` - Duration of leeway when validating
166
+ all claims in the form of a time duration such as "5m" or "1h".
143
167
  :param Sequence[str] discovery_ca_pems: `([]string: <optional>)` - PEM encoded CA certs for use
144
168
  by the TLS client used to talk with the OIDC Discovery URL.
145
- :param Mapping[str, str] list_claim_mappings: `(map[string]string: <optional>)` - Mappings of list
146
- claims (key) that will be copied to a metadata field (value).
169
+ :param str expiration_leeway: `(string: <optional>)` - Duration of leeway when validating
170
+ expiration of a JWT in the form of a time duration such as "5m" or "1h".
171
+ :param str jwks_ca_cert: `(string: <optional>)` - PEM encoded CA cert for use by the
172
+ TLS client used to talk with the JWKS server.
173
+ :param str jwks_url: `(string: <optional>)` - JSON Web Key Sets url for authenticating
174
+ signatures.
175
+ :param Sequence[str] jwt_validation_pub_keys: `([]string: <optional>)` - List of PEM-encoded
176
+ public keys to use to authenticate signatures locally.
177
+ :param Mapping[str, str] list_claim_mappings: Mappings of list claims (key) that will be copied to a metadata field (value).
178
+ :param str not_before_leeway: `(string: <optional>)` - Duration of leeway when validating
179
+ not before values of a token in the form of a time duration such as "5m" or "1h".
180
+ :param str oidc_client_id: `(string: <optional>)` - The OAuth Client ID configured
181
+ with the OIDC provider.
182
+ :param str oidc_client_secret: `(string: <optional>)` - The OAuth Client Secret
183
+ configured with the OIDC provider.
147
184
  :param bool oidc_disable_userinfo: `(bool: false)` - When set to `true`, Nomad will
148
185
  not make a request to the identity provider to get OIDC `UserInfo`.
149
186
  You may wish to set this if your identity provider doesn't send any
150
187
  additional claims from the `UserInfo` endpoint.
188
+ :param str oidc_discovery_url: `(string: <optional>)` - The OIDC Discovery URL,
189
+ without any .well-known component (base path).
151
190
  :param Sequence[str] oidc_scopes: `([]string: <optional>)` - List of OIDC scopes.
152
191
  :param Sequence[str] signing_algs: `([]string: <optional>)` - A list of supported signing
153
192
  algorithms.
154
193
  """
155
- pulumi.set(__self__, "allowed_redirect_uris", allowed_redirect_uris)
156
- pulumi.set(__self__, "oidc_client_id", oidc_client_id)
157
- pulumi.set(__self__, "oidc_client_secret", oidc_client_secret)
158
- pulumi.set(__self__, "oidc_discovery_url", oidc_discovery_url)
194
+ if allowed_redirect_uris is not None:
195
+ pulumi.set(__self__, "allowed_redirect_uris", allowed_redirect_uris)
159
196
  if bound_audiences is not None:
160
197
  pulumi.set(__self__, "bound_audiences", bound_audiences)
198
+ if bound_issuers is not None:
199
+ pulumi.set(__self__, "bound_issuers", bound_issuers)
161
200
  if claim_mappings is not None:
162
201
  pulumi.set(__self__, "claim_mappings", claim_mappings)
202
+ if clock_skew_leeway is not None:
203
+ pulumi.set(__self__, "clock_skew_leeway", clock_skew_leeway)
163
204
  if discovery_ca_pems is not None:
164
205
  pulumi.set(__self__, "discovery_ca_pems", discovery_ca_pems)
206
+ if expiration_leeway is not None:
207
+ pulumi.set(__self__, "expiration_leeway", expiration_leeway)
208
+ if jwks_ca_cert is not None:
209
+ pulumi.set(__self__, "jwks_ca_cert", jwks_ca_cert)
210
+ if jwks_url is not None:
211
+ pulumi.set(__self__, "jwks_url", jwks_url)
212
+ if jwt_validation_pub_keys is not None:
213
+ pulumi.set(__self__, "jwt_validation_pub_keys", jwt_validation_pub_keys)
165
214
  if list_claim_mappings is not None:
166
215
  pulumi.set(__self__, "list_claim_mappings", list_claim_mappings)
216
+ if not_before_leeway is not None:
217
+ pulumi.set(__self__, "not_before_leeway", not_before_leeway)
218
+ if oidc_client_id is not None:
219
+ pulumi.set(__self__, "oidc_client_id", oidc_client_id)
220
+ if oidc_client_secret is not None:
221
+ pulumi.set(__self__, "oidc_client_secret", oidc_client_secret)
167
222
  if oidc_disable_userinfo is not None:
168
223
  pulumi.set(__self__, "oidc_disable_userinfo", oidc_disable_userinfo)
224
+ if oidc_discovery_url is not None:
225
+ pulumi.set(__self__, "oidc_discovery_url", oidc_discovery_url)
169
226
  if oidc_scopes is not None:
170
227
  pulumi.set(__self__, "oidc_scopes", oidc_scopes)
171
228
  if signing_algs is not None:
@@ -173,40 +230,13 @@ class AclAuthMethodConfig(dict):
173
230
 
174
231
  @property
175
232
  @pulumi.getter(name="allowedRedirectUris")
176
- def allowed_redirect_uris(self) -> Sequence[str]:
233
+ def allowed_redirect_uris(self) -> Optional[Sequence[str]]:
177
234
  """
178
235
  `([]string: <optional>)` - A list of allowed values
179
236
  that can be used for the redirect URI.
180
237
  """
181
238
  return pulumi.get(self, "allowed_redirect_uris")
182
239
 
183
- @property
184
- @pulumi.getter(name="oidcClientId")
185
- def oidc_client_id(self) -> str:
186
- """
187
- `(string: <required>)` - The OAuth Client ID configured
188
- with the OIDC provider.
189
- """
190
- return pulumi.get(self, "oidc_client_id")
191
-
192
- @property
193
- @pulumi.getter(name="oidcClientSecret")
194
- def oidc_client_secret(self) -> str:
195
- """
196
- `(string: <required>)` - The OAuth Client Secret
197
- configured with the OIDC provider.
198
- """
199
- return pulumi.get(self, "oidc_client_secret")
200
-
201
- @property
202
- @pulumi.getter(name="oidcDiscoveryUrl")
203
- def oidc_discovery_url(self) -> str:
204
- """
205
- `(string: <required>)` - The OIDC Discovery URL,
206
- without any .well-known component (base path).
207
- """
208
- return pulumi.get(self, "oidc_discovery_url")
209
-
210
240
  @property
211
241
  @pulumi.getter(name="boundAudiences")
212
242
  def bound_audiences(self) -> Optional[Sequence[str]]:
@@ -216,15 +246,32 @@ class AclAuthMethodConfig(dict):
216
246
  """
217
247
  return pulumi.get(self, "bound_audiences")
218
248
 
249
+ @property
250
+ @pulumi.getter(name="boundIssuers")
251
+ def bound_issuers(self) -> Optional[Sequence[str]]:
252
+ """
253
+ `([]string: <optional>)` - The value against which to match
254
+ the iss claim in a JWT.
255
+ """
256
+ return pulumi.get(self, "bound_issuers")
257
+
219
258
  @property
220
259
  @pulumi.getter(name="claimMappings")
221
260
  def claim_mappings(self) -> Optional[Mapping[str, str]]:
222
261
  """
223
- `(map[string]string: <optional>)` - Mappings of claims (key)
224
- that will be copied to a metadata field (value).
262
+ Mappings of claims (key) that will be copied to a metadata field (value).
225
263
  """
226
264
  return pulumi.get(self, "claim_mappings")
227
265
 
266
+ @property
267
+ @pulumi.getter(name="clockSkewLeeway")
268
+ def clock_skew_leeway(self) -> Optional[str]:
269
+ """
270
+ `(string: <optional>)` - Duration of leeway when validating
271
+ all claims in the form of a time duration such as "5m" or "1h".
272
+ """
273
+ return pulumi.get(self, "clock_skew_leeway")
274
+
228
275
  @property
229
276
  @pulumi.getter(name="discoveryCaPems")
230
277
  def discovery_ca_pems(self) -> Optional[Sequence[str]]:
@@ -234,15 +281,77 @@ class AclAuthMethodConfig(dict):
234
281
  """
235
282
  return pulumi.get(self, "discovery_ca_pems")
236
283
 
284
+ @property
285
+ @pulumi.getter(name="expirationLeeway")
286
+ def expiration_leeway(self) -> Optional[str]:
287
+ """
288
+ `(string: <optional>)` - Duration of leeway when validating
289
+ expiration of a JWT in the form of a time duration such as "5m" or "1h".
290
+ """
291
+ return pulumi.get(self, "expiration_leeway")
292
+
293
+ @property
294
+ @pulumi.getter(name="jwksCaCert")
295
+ def jwks_ca_cert(self) -> Optional[str]:
296
+ """
297
+ `(string: <optional>)` - PEM encoded CA cert for use by the
298
+ TLS client used to talk with the JWKS server.
299
+ """
300
+ return pulumi.get(self, "jwks_ca_cert")
301
+
302
+ @property
303
+ @pulumi.getter(name="jwksUrl")
304
+ def jwks_url(self) -> Optional[str]:
305
+ """
306
+ `(string: <optional>)` - JSON Web Key Sets url for authenticating
307
+ signatures.
308
+ """
309
+ return pulumi.get(self, "jwks_url")
310
+
311
+ @property
312
+ @pulumi.getter(name="jwtValidationPubKeys")
313
+ def jwt_validation_pub_keys(self) -> Optional[Sequence[str]]:
314
+ """
315
+ `([]string: <optional>)` - List of PEM-encoded
316
+ public keys to use to authenticate signatures locally.
317
+ """
318
+ return pulumi.get(self, "jwt_validation_pub_keys")
319
+
237
320
  @property
238
321
  @pulumi.getter(name="listClaimMappings")
239
322
  def list_claim_mappings(self) -> Optional[Mapping[str, str]]:
240
323
  """
241
- `(map[string]string: <optional>)` - Mappings of list
242
- claims (key) that will be copied to a metadata field (value).
324
+ Mappings of list claims (key) that will be copied to a metadata field (value).
243
325
  """
244
326
  return pulumi.get(self, "list_claim_mappings")
245
327
 
328
+ @property
329
+ @pulumi.getter(name="notBeforeLeeway")
330
+ def not_before_leeway(self) -> Optional[str]:
331
+ """
332
+ `(string: <optional>)` - Duration of leeway when validating
333
+ not before values of a token in the form of a time duration such as "5m" or "1h".
334
+ """
335
+ return pulumi.get(self, "not_before_leeway")
336
+
337
+ @property
338
+ @pulumi.getter(name="oidcClientId")
339
+ def oidc_client_id(self) -> Optional[str]:
340
+ """
341
+ `(string: <optional>)` - The OAuth Client ID configured
342
+ with the OIDC provider.
343
+ """
344
+ return pulumi.get(self, "oidc_client_id")
345
+
346
+ @property
347
+ @pulumi.getter(name="oidcClientSecret")
348
+ def oidc_client_secret(self) -> Optional[str]:
349
+ """
350
+ `(string: <optional>)` - The OAuth Client Secret
351
+ configured with the OIDC provider.
352
+ """
353
+ return pulumi.get(self, "oidc_client_secret")
354
+
246
355
  @property
247
356
  @pulumi.getter(name="oidcDisableUserinfo")
248
357
  def oidc_disable_userinfo(self) -> Optional[bool]:
@@ -254,6 +363,15 @@ class AclAuthMethodConfig(dict):
254
363
  """
255
364
  return pulumi.get(self, "oidc_disable_userinfo")
256
365
 
366
+ @property
367
+ @pulumi.getter(name="oidcDiscoveryUrl")
368
+ def oidc_discovery_url(self) -> Optional[str]:
369
+ """
370
+ `(string: <optional>)` - The OIDC Discovery URL,
371
+ without any .well-known component (base path).
372
+ """
373
+ return pulumi.get(self, "oidc_discovery_url")
374
+
257
375
  @property
258
376
  @pulumi.getter(name="oidcScopes")
259
377
  def oidc_scopes(self) -> Optional[Sequence[str]]:
@@ -297,15 +415,10 @@ class AclPolicyJobAcl(dict):
297
415
  namespace: Optional[str] = None,
298
416
  task: Optional[str] = None):
299
417
  """
300
- :param str job_id: `(string: <optional>` - The job to attach the policy. Required if
301
- `group` is set.
302
- :param str group: `(string: <optional>` - The group to attach the policy. Required if
303
- `task` is set.
304
- :param str namespace: `(string: "default")` - The namespace to attach the policy.
305
- Required if `job_id` is set.
306
- :param str task: `(string: <optional>` - The task to attach the policy.
307
-
308
- [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies
418
+ :param str job_id: Job
419
+ :param str group: Group
420
+ :param str namespace: Namespace
421
+ :param str task: Task
309
422
  """
310
423
  pulumi.set(__self__, "job_id", job_id)
311
424
  if group is not None:
@@ -319,8 +432,7 @@ class AclPolicyJobAcl(dict):
319
432
  @pulumi.getter(name="jobId")
320
433
  def job_id(self) -> str:
321
434
  """
322
- `(string: <optional>` - The job to attach the policy. Required if
323
- `group` is set.
435
+ Job
324
436
  """
325
437
  return pulumi.get(self, "job_id")
326
438
 
@@ -328,8 +440,7 @@ class AclPolicyJobAcl(dict):
328
440
  @pulumi.getter
329
441
  def group(self) -> Optional[str]:
330
442
  """
331
- `(string: <optional>` - The group to attach the policy. Required if
332
- `task` is set.
443
+ Group
333
444
  """
334
445
  return pulumi.get(self, "group")
335
446
 
@@ -337,8 +448,7 @@ class AclPolicyJobAcl(dict):
337
448
  @pulumi.getter
338
449
  def namespace(self) -> Optional[str]:
339
450
  """
340
- `(string: "default")` - The namespace to attach the policy.
341
- Required if `job_id` is set.
451
+ Namespace
342
452
  """
343
453
  return pulumi.get(self, "namespace")
344
454
 
@@ -346,9 +456,7 @@ class AclPolicyJobAcl(dict):
346
456
  @pulumi.getter
347
457
  def task(self) -> Optional[str]:
348
458
  """
349
- `(string: <optional>` - The task to attach the policy.
350
-
351
- [nomad_docs_wi]: https://www.nomadproject.io/docs/concepts/workload-identity#workload-associated-acl-policies
459
+ Task
352
460
  """
353
461
  return pulumi.get(self, "task")
354
462
 
@@ -674,7 +782,7 @@ class CsiVolumeRegistrationTopologyRequestRequired(dict):
674
782
  def __init__(__self__, *,
675
783
  topologies: Sequence['outputs.CsiVolumeRegistrationTopologyRequestRequiredTopology']):
676
784
  """
677
- :param Sequence['CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs'] topologies: `(List of segments: <required>)` - Defines the location for the volume.
785
+ :param Sequence['CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs'] topologies: Defines the location for the volume.
678
786
  """
679
787
  pulumi.set(__self__, "topologies", topologies)
680
788
 
@@ -682,7 +790,7 @@ class CsiVolumeRegistrationTopologyRequestRequired(dict):
682
790
  @pulumi.getter
683
791
  def topologies(self) -> Sequence['outputs.CsiVolumeRegistrationTopologyRequestRequiredTopology']:
684
792
  """
685
- `(List of segments: <required>)` - Defines the location for the volume.
793
+ Defines the location for the volume.
686
794
  """
687
795
  return pulumi.get(self, "topologies")
688
796
 
@@ -692,10 +800,7 @@ class CsiVolumeRegistrationTopologyRequestRequiredTopology(dict):
692
800
  def __init__(__self__, *,
693
801
  segments: Mapping[str, str]):
694
802
  """
695
- :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
696
-
697
- In addition to the above arguments, the following attributes are exported and
698
- can be referenced:
803
+ :param Mapping[str, str] segments: Define attributes for the topology request.
699
804
  """
700
805
  pulumi.set(__self__, "segments", segments)
701
806
 
@@ -703,10 +808,7 @@ class CsiVolumeRegistrationTopologyRequestRequiredTopology(dict):
703
808
  @pulumi.getter
704
809
  def segments(self) -> Mapping[str, str]:
705
810
  """
706
- `(map[string]string)` - Define the attributes for the topology request.
707
-
708
- In addition to the above arguments, the following attributes are exported and
709
- can be referenced:
811
+ Define attributes for the topology request.
710
812
  """
711
813
  return pulumi.get(self, "segments")
712
814
 
@@ -772,7 +874,7 @@ class CsiVolumeTopologyRequestPreferred(dict):
772
874
  def __init__(__self__, *,
773
875
  topologies: Sequence['outputs.CsiVolumeTopologyRequestPreferredTopology']):
774
876
  """
775
- :param Sequence['CsiVolumeTopologyRequestPreferredTopologyArgs'] topologies: `(List of segments: <required>)` - Defines the location for the volume.
877
+ :param Sequence['CsiVolumeTopologyRequestPreferredTopologyArgs'] topologies: Defines the location for the volume.
776
878
  """
777
879
  pulumi.set(__self__, "topologies", topologies)
778
880
 
@@ -780,7 +882,7 @@ class CsiVolumeTopologyRequestPreferred(dict):
780
882
  @pulumi.getter
781
883
  def topologies(self) -> Sequence['outputs.CsiVolumeTopologyRequestPreferredTopology']:
782
884
  """
783
- `(List of segments: <required>)` - Defines the location for the volume.
885
+ Defines the location for the volume.
784
886
  """
785
887
  return pulumi.get(self, "topologies")
786
888
 
@@ -790,10 +892,7 @@ class CsiVolumeTopologyRequestPreferredTopology(dict):
790
892
  def __init__(__self__, *,
791
893
  segments: Mapping[str, str]):
792
894
  """
793
- :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
794
-
795
- In addition to the above arguments, the following attributes are exported and
796
- can be referenced:
895
+ :param Mapping[str, str] segments: Define the attributes for the topology request.
797
896
  """
798
897
  pulumi.set(__self__, "segments", segments)
799
898
 
@@ -801,10 +900,7 @@ class CsiVolumeTopologyRequestPreferredTopology(dict):
801
900
  @pulumi.getter
802
901
  def segments(self) -> Mapping[str, str]:
803
902
  """
804
- `(map[string]string)` - Define the attributes for the topology request.
805
-
806
- In addition to the above arguments, the following attributes are exported and
807
- can be referenced:
903
+ Define the attributes for the topology request.
808
904
  """
809
905
  return pulumi.get(self, "segments")
810
906
 
@@ -814,7 +910,7 @@ class CsiVolumeTopologyRequestRequired(dict):
814
910
  def __init__(__self__, *,
815
911
  topologies: Sequence['outputs.CsiVolumeTopologyRequestRequiredTopology']):
816
912
  """
817
- :param Sequence['CsiVolumeTopologyRequestRequiredTopologyArgs'] topologies: `(List of segments: <required>)` - Defines the location for the volume.
913
+ :param Sequence['CsiVolumeTopologyRequestRequiredTopologyArgs'] topologies: Defines the location for the volume.
818
914
  """
819
915
  pulumi.set(__self__, "topologies", topologies)
820
916
 
@@ -822,7 +918,7 @@ class CsiVolumeTopologyRequestRequired(dict):
822
918
  @pulumi.getter
823
919
  def topologies(self) -> Sequence['outputs.CsiVolumeTopologyRequestRequiredTopology']:
824
920
  """
825
- `(List of segments: <required>)` - Defines the location for the volume.
921
+ Defines the location for the volume.
826
922
  """
827
923
  return pulumi.get(self, "topologies")
828
924
 
@@ -832,10 +928,7 @@ class CsiVolumeTopologyRequestRequiredTopology(dict):
832
928
  def __init__(__self__, *,
833
929
  segments: Mapping[str, str]):
834
930
  """
835
- :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
836
-
837
- In addition to the above arguments, the following attributes are exported and
838
- can be referenced:
931
+ :param Mapping[str, str] segments: Define the attributes for the topology request.
839
932
  """
840
933
  pulumi.set(__self__, "segments", segments)
841
934
 
@@ -843,10 +936,7 @@ class CsiVolumeTopologyRequestRequiredTopology(dict):
843
936
  @pulumi.getter
844
937
  def segments(self) -> Mapping[str, str]:
845
938
  """
846
- `(map[string]string)` - Define the attributes for the topology request.
847
-
848
- In addition to the above arguments, the following attributes are exported and
849
- can be referenced:
939
+ Define the attributes for the topology request.
850
940
  """
851
941
  return pulumi.get(self, "segments")
852
942
 
@@ -1024,7 +1114,7 @@ class ExternalVolumeTopologyRequestPreferred(dict):
1024
1114
  def __init__(__self__, *,
1025
1115
  topologies: Sequence['outputs.ExternalVolumeTopologyRequestPreferredTopology']):
1026
1116
  """
1027
- :param Sequence['ExternalVolumeTopologyRequestPreferredTopologyArgs'] topologies: `(List of segments: <required>)` - Defines the location for the volume.
1117
+ :param Sequence['ExternalVolumeTopologyRequestPreferredTopologyArgs'] topologies: Defines the location for the volume.
1028
1118
  """
1029
1119
  pulumi.set(__self__, "topologies", topologies)
1030
1120
 
@@ -1032,7 +1122,7 @@ class ExternalVolumeTopologyRequestPreferred(dict):
1032
1122
  @pulumi.getter
1033
1123
  def topologies(self) -> Sequence['outputs.ExternalVolumeTopologyRequestPreferredTopology']:
1034
1124
  """
1035
- `(List of segments: <required>)` - Defines the location for the volume.
1125
+ Defines the location for the volume.
1036
1126
  """
1037
1127
  return pulumi.get(self, "topologies")
1038
1128
 
@@ -1042,10 +1132,7 @@ class ExternalVolumeTopologyRequestPreferredTopology(dict):
1042
1132
  def __init__(__self__, *,
1043
1133
  segments: Mapping[str, str]):
1044
1134
  """
1045
- :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
1046
-
1047
- In addition to the above arguments, the following attributes are exported and
1048
- can be referenced:
1135
+ :param Mapping[str, str] segments: Define the attributes for the topology request.
1049
1136
  """
1050
1137
  pulumi.set(__self__, "segments", segments)
1051
1138
 
@@ -1053,10 +1140,7 @@ class ExternalVolumeTopologyRequestPreferredTopology(dict):
1053
1140
  @pulumi.getter
1054
1141
  def segments(self) -> Mapping[str, str]:
1055
1142
  """
1056
- `(map[string]string)` - Define the attributes for the topology request.
1057
-
1058
- In addition to the above arguments, the following attributes are exported and
1059
- can be referenced:
1143
+ Define the attributes for the topology request.
1060
1144
  """
1061
1145
  return pulumi.get(self, "segments")
1062
1146
 
@@ -1066,7 +1150,7 @@ class ExternalVolumeTopologyRequestRequired(dict):
1066
1150
  def __init__(__self__, *,
1067
1151
  topologies: Sequence['outputs.ExternalVolumeTopologyRequestRequiredTopology']):
1068
1152
  """
1069
- :param Sequence['ExternalVolumeTopologyRequestRequiredTopologyArgs'] topologies: `(List of segments: <required>)` - Defines the location for the volume.
1153
+ :param Sequence['ExternalVolumeTopologyRequestRequiredTopologyArgs'] topologies: Defines the location for the volume.
1070
1154
  """
1071
1155
  pulumi.set(__self__, "topologies", topologies)
1072
1156
 
@@ -1074,7 +1158,7 @@ class ExternalVolumeTopologyRequestRequired(dict):
1074
1158
  @pulumi.getter
1075
1159
  def topologies(self) -> Sequence['outputs.ExternalVolumeTopologyRequestRequiredTopology']:
1076
1160
  """
1077
- `(List of segments: <required>)` - Defines the location for the volume.
1161
+ Defines the location for the volume.
1078
1162
  """
1079
1163
  return pulumi.get(self, "topologies")
1080
1164
 
@@ -1084,10 +1168,7 @@ class ExternalVolumeTopologyRequestRequiredTopology(dict):
1084
1168
  def __init__(__self__, *,
1085
1169
  segments: Mapping[str, str]):
1086
1170
  """
1087
- :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
1088
-
1089
- In addition to the above arguments, the following attributes are exported and
1090
- can be referenced:
1171
+ :param Mapping[str, str] segments: Define the attributes for the topology request.
1091
1172
  """
1092
1173
  pulumi.set(__self__, "segments", segments)
1093
1174
 
@@ -1095,10 +1176,7 @@ class ExternalVolumeTopologyRequestRequiredTopology(dict):
1095
1176
  @pulumi.getter
1096
1177
  def segments(self) -> Mapping[str, str]:
1097
1178
  """
1098
- `(map[string]string)` - Define the attributes for the topology request.
1099
-
1100
- In addition to the above arguments, the following attributes are exported and
1101
- can be referenced:
1179
+ Define the attributes for the topology request.
1102
1180
  """
1103
1181
  return pulumi.get(self, "segments")
1104
1182
 
@@ -1124,19 +1202,14 @@ class JobHcl2(dict):
1124
1202
 
1125
1203
  def __init__(__self__, *,
1126
1204
  allow_fs: Optional[bool] = None,
1127
- enabled: Optional[bool] = None,
1128
- vars: Optional[Mapping[str, Any]] = None):
1205
+ vars: Optional[Mapping[str, str]] = None):
1129
1206
  """
1130
1207
  :param bool allow_fs: `(boolean: false)` - Set this to `true` to be able to use
1131
1208
  HCL2 filesystem functions
1132
- :param bool enabled: `(boolean: false)` - **Deprecated** All HCL jobs are parsed as
1133
- HCL2 by default.
1134
- :param Mapping[str, Any] vars: Additional variables to use when templating the job with HCL2
1209
+ :param Mapping[str, str] vars: Additional variables to use when templating the job with HCL2
1135
1210
  """
1136
1211
  if allow_fs is not None:
1137
1212
  pulumi.set(__self__, "allow_fs", allow_fs)
1138
- if enabled is not None:
1139
- pulumi.set(__self__, "enabled", enabled)
1140
1213
  if vars is not None:
1141
1214
  pulumi.set(__self__, "vars", vars)
1142
1215
 
@@ -1151,19 +1224,7 @@ class JobHcl2(dict):
1151
1224
 
1152
1225
  @property
1153
1226
  @pulumi.getter
1154
- def enabled(self) -> Optional[bool]:
1155
- """
1156
- `(boolean: false)` - **Deprecated** All HCL jobs are parsed as
1157
- HCL2 by default.
1158
- """
1159
- warnings.warn("""Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing.""", DeprecationWarning)
1160
- pulumi.log.warn("""enabled is deprecated: Starting with version 2.0.0 of the Nomad provider, jobs are parsed using HCL2 by default, so this field is no longer used and may be safely removed from your configuration files. Set 'hcl1 = true' if you must use HCL1 job parsing.""")
1161
-
1162
- return pulumi.get(self, "enabled")
1163
-
1164
- @property
1165
- @pulumi.getter
1166
- def vars(self) -> Optional[Mapping[str, Any]]:
1227
+ def vars(self) -> Optional[Mapping[str, str]]:
1167
1228
  """
1168
1229
  Additional variables to use when templating the job with HCL2
1169
1230
  """
@@ -1174,7 +1235,7 @@ class JobHcl2(dict):
1174
1235
  class JobTaskGroup(dict):
1175
1236
  def __init__(__self__, *,
1176
1237
  count: Optional[int] = None,
1177
- meta: Optional[Mapping[str, Any]] = None,
1238
+ meta: Optional[Mapping[str, str]] = None,
1178
1239
  name: Optional[str] = None,
1179
1240
  tasks: Optional[Sequence['outputs.JobTaskGroupTask']] = None,
1180
1241
  volumes: Optional[Sequence['outputs.JobTaskGroupVolume']] = None):
@@ -1196,7 +1257,7 @@ class JobTaskGroup(dict):
1196
1257
 
1197
1258
  @property
1198
1259
  @pulumi.getter
1199
- def meta(self) -> Optional[Mapping[str, Any]]:
1260
+ def meta(self) -> Optional[Mapping[str, str]]:
1200
1261
  return pulumi.get(self, "meta")
1201
1262
 
1202
1263
  @property
@@ -1236,7 +1297,7 @@ class JobTaskGroupTask(dict):
1236
1297
 
1237
1298
  def __init__(__self__, *,
1238
1299
  driver: Optional[str] = None,
1239
- meta: Optional[Mapping[str, Any]] = None,
1300
+ meta: Optional[Mapping[str, str]] = None,
1240
1301
  name: Optional[str] = None,
1241
1302
  volume_mounts: Optional[Sequence['outputs.JobTaskGroupTaskVolumeMount']] = None):
1242
1303
  if driver is not None:
@@ -1255,7 +1316,7 @@ class JobTaskGroupTask(dict):
1255
1316
 
1256
1317
  @property
1257
1318
  @pulumi.getter
1258
- def meta(self) -> Optional[Mapping[str, Any]]:
1319
+ def meta(self) -> Optional[Mapping[str, str]]:
1259
1320
  return pulumi.get(self, "meta")
1260
1321
 
1261
1322
  @property
@@ -1795,7 +1856,7 @@ class VolumeTopologyRequestRequired(dict):
1795
1856
  def __init__(__self__, *,
1796
1857
  topologies: Sequence['outputs.VolumeTopologyRequestRequiredTopology']):
1797
1858
  """
1798
- :param Sequence['VolumeTopologyRequestRequiredTopologyArgs'] topologies: `(List of segments: <required>)` - Defines the location for the volume.
1859
+ :param Sequence['VolumeTopologyRequestRequiredTopologyArgs'] topologies: Defines the location for the volume.
1799
1860
  """
1800
1861
  pulumi.set(__self__, "topologies", topologies)
1801
1862
 
@@ -1803,7 +1864,7 @@ class VolumeTopologyRequestRequired(dict):
1803
1864
  @pulumi.getter
1804
1865
  def topologies(self) -> Sequence['outputs.VolumeTopologyRequestRequiredTopology']:
1805
1866
  """
1806
- `(List of segments: <required>)` - Defines the location for the volume.
1867
+ Defines the location for the volume.
1807
1868
  """
1808
1869
  return pulumi.get(self, "topologies")
1809
1870
 
@@ -1813,10 +1874,7 @@ class VolumeTopologyRequestRequiredTopology(dict):
1813
1874
  def __init__(__self__, *,
1814
1875
  segments: Mapping[str, str]):
1815
1876
  """
1816
- :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
1817
-
1818
- In addition to the above arguments, the following attributes are exported and
1819
- can be referenced:
1877
+ :param Mapping[str, str] segments: Define attributes for the topology request.
1820
1878
  """
1821
1879
  pulumi.set(__self__, "segments", segments)
1822
1880
 
@@ -1824,10 +1882,7 @@ class VolumeTopologyRequestRequiredTopology(dict):
1824
1882
  @pulumi.getter
1825
1883
  def segments(self) -> Mapping[str, str]:
1826
1884
  """
1827
- `(map[string]string)` - Define the attributes for the topology request.
1828
-
1829
- In addition to the above arguments, the following attributes are exported and
1830
- can be referenced:
1885
+ Define attributes for the topology request.
1831
1886
  """
1832
1887
  return pulumi.get(self, "segments")
1833
1888
 
@@ -2429,7 +2484,7 @@ class GetJobPeriodicConfigResult(dict):
2429
2484
  class GetJobTaskGroupResult(dict):
2430
2485
  def __init__(__self__, *,
2431
2486
  count: int,
2432
- meta: Mapping[str, Any],
2487
+ meta: Mapping[str, str],
2433
2488
  name: str,
2434
2489
  tasks: Sequence['outputs.GetJobTaskGroupTaskResult'],
2435
2490
  volumes: Sequence['outputs.GetJobTaskGroupVolumeResult']):
@@ -2449,7 +2504,7 @@ class GetJobTaskGroupResult(dict):
2449
2504
 
2450
2505
  @property
2451
2506
  @pulumi.getter
2452
- def meta(self) -> Mapping[str, Any]:
2507
+ def meta(self) -> Mapping[str, str]:
2453
2508
  return pulumi.get(self, "meta")
2454
2509
 
2455
2510
  @property
@@ -2475,7 +2530,7 @@ class GetJobTaskGroupResult(dict):
2475
2530
  class GetJobTaskGroupTaskResult(dict):
2476
2531
  def __init__(__self__, *,
2477
2532
  driver: str,
2478
- meta: Mapping[str, Any],
2533
+ meta: Mapping[str, str],
2479
2534
  name: str,
2480
2535
  volume_mounts: Sequence['outputs.GetJobTaskGroupTaskVolumeMountResult']):
2481
2536
  """
@@ -2493,7 +2548,7 @@ class GetJobTaskGroupTaskResult(dict):
2493
2548
 
2494
2549
  @property
2495
2550
  @pulumi.getter
2496
- def meta(self) -> Mapping[str, Any]:
2551
+ def meta(self) -> Mapping[str, str]:
2497
2552
  return pulumi.get(self, "meta")
2498
2553
 
2499
2554
  @property
@@ -2579,6 +2634,79 @@ class GetJobTaskGroupVolumeResult(dict):
2579
2634
  return pulumi.get(self, "type")
2580
2635
 
2581
2636
 
2637
+ @pulumi.output_type
2638
+ class GetJwksKeyResult(dict):
2639
+ def __init__(__self__, *,
2640
+ algorithm: str,
2641
+ exponent: str,
2642
+ key_id: str,
2643
+ key_type: str,
2644
+ key_use: str,
2645
+ modulus: str):
2646
+ """
2647
+ :param str algorithm: `(string)` - JWK field `alg`
2648
+ :param str exponent: `(string)` - JWK field `e`
2649
+ :param str key_id: `(string)` - JWK field `kid`
2650
+ :param str key_type: `(string)` - JWK field `kty`
2651
+ :param str key_use: `(string)` - JWK field `use`
2652
+ :param str modulus: `(string)` - JWK field `n`
2653
+ """
2654
+ pulumi.set(__self__, "algorithm", algorithm)
2655
+ pulumi.set(__self__, "exponent", exponent)
2656
+ pulumi.set(__self__, "key_id", key_id)
2657
+ pulumi.set(__self__, "key_type", key_type)
2658
+ pulumi.set(__self__, "key_use", key_use)
2659
+ pulumi.set(__self__, "modulus", modulus)
2660
+
2661
+ @property
2662
+ @pulumi.getter
2663
+ def algorithm(self) -> str:
2664
+ """
2665
+ `(string)` - JWK field `alg`
2666
+ """
2667
+ return pulumi.get(self, "algorithm")
2668
+
2669
+ @property
2670
+ @pulumi.getter
2671
+ def exponent(self) -> str:
2672
+ """
2673
+ `(string)` - JWK field `e`
2674
+ """
2675
+ return pulumi.get(self, "exponent")
2676
+
2677
+ @property
2678
+ @pulumi.getter(name="keyId")
2679
+ def key_id(self) -> str:
2680
+ """
2681
+ `(string)` - JWK field `kid`
2682
+ """
2683
+ return pulumi.get(self, "key_id")
2684
+
2685
+ @property
2686
+ @pulumi.getter(name="keyType")
2687
+ def key_type(self) -> str:
2688
+ """
2689
+ `(string)` - JWK field `kty`
2690
+ """
2691
+ return pulumi.get(self, "key_type")
2692
+
2693
+ @property
2694
+ @pulumi.getter(name="keyUse")
2695
+ def key_use(self) -> str:
2696
+ """
2697
+ `(string)` - JWK field `use`
2698
+ """
2699
+ return pulumi.get(self, "key_use")
2700
+
2701
+ @property
2702
+ @pulumi.getter
2703
+ def modulus(self) -> str:
2704
+ """
2705
+ `(string)` - JWK field `n`
2706
+ """
2707
+ return pulumi.get(self, "modulus")
2708
+
2709
+
2582
2710
  @pulumi.output_type
2583
2711
  class GetNamespaceCapabilityResult(dict):
2584
2712
  def __init__(__self__, *,
@@ -2790,12 +2918,12 @@ class GetScalingPoliciesPolicyResult(dict):
2790
2918
  def __init__(__self__, *,
2791
2919
  enabled: bool,
2792
2920
  id: str,
2793
- target: Mapping[str, Any],
2921
+ target: Mapping[str, str],
2794
2922
  type: str):
2795
2923
  """
2796
2924
  :param bool enabled: `(boolean)` - Whether or not the scaling policy is enabled.
2797
2925
  :param str id: `(string)` - The scaling policy ID.
2798
- :param Mapping[str, Any] target: `(map[string]string)` - The scaling policy target.
2926
+ :param Mapping[str, str] target: `(map[string]string)` - The scaling policy target.
2799
2927
  :param str type: `(string)` - An optional string to filter scaling policies based on policy type. If not provided, policies of all types are returned.
2800
2928
  """
2801
2929
  pulumi.set(__self__, "enabled", enabled)
@@ -2821,7 +2949,7 @@ class GetScalingPoliciesPolicyResult(dict):
2821
2949
 
2822
2950
  @property
2823
2951
  @pulumi.getter
2824
- def target(self) -> Mapping[str, Any]:
2952
+ def target(self) -> Mapping[str, str]:
2825
2953
  """
2826
2954
  `(map[string]string)` - The scaling policy target.
2827
2955
  """