pulumi-nomad 2.2.0a1710332982__py3-none-any.whl → 2.3.0__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 (47) hide show
  1. pulumi_nomad/__init__.py +1 -0
  2. pulumi_nomad/_inputs.py +221 -189
  3. pulumi_nomad/acl_auth_method.py +18 -20
  4. pulumi_nomad/acl_policy.py +0 -64
  5. pulumi_nomad/acl_token.py +18 -26
  6. pulumi_nomad/csi_volume.py +0 -72
  7. pulumi_nomad/csi_volume_registration.py +0 -72
  8. pulumi_nomad/external_volume.py +6 -78
  9. pulumi_nomad/get_acl_policies.py +0 -4
  10. pulumi_nomad/get_acl_policy.py +0 -4
  11. pulumi_nomad/get_acl_role.py +0 -4
  12. pulumi_nomad/get_acl_roles.py +0 -4
  13. pulumi_nomad/get_acl_token.py +0 -4
  14. pulumi_nomad/get_acl_tokens.py +0 -4
  15. pulumi_nomad/get_allocations.py +0 -4
  16. pulumi_nomad/get_datacenters.py +4 -8
  17. pulumi_nomad/get_deployments.py +5 -4
  18. pulumi_nomad/get_job.py +0 -4
  19. pulumi_nomad/get_job_parser.py +0 -24
  20. pulumi_nomad/get_jwks.py +116 -0
  21. pulumi_nomad/get_namespace.py +0 -4
  22. pulumi_nomad/get_namespaces.py +2 -4
  23. pulumi_nomad/get_node_pool.py +0 -4
  24. pulumi_nomad/get_node_pools.py +0 -4
  25. pulumi_nomad/get_plugin.py +0 -4
  26. pulumi_nomad/get_plugins.py +0 -4
  27. pulumi_nomad/get_regions.py +34 -0
  28. pulumi_nomad/get_scaling_policies.py +0 -4
  29. pulumi_nomad/get_scaling_policy.py +0 -4
  30. pulumi_nomad/get_scheduler_policy.py +0 -4
  31. pulumi_nomad/get_variable.py +0 -4
  32. pulumi_nomad/get_volumes.py +0 -4
  33. pulumi_nomad/job.py +16 -16
  34. pulumi_nomad/namespace.py +14 -16
  35. pulumi_nomad/node_pool.py +2 -4
  36. pulumi_nomad/outputs.py +274 -182
  37. pulumi_nomad/pulumi-plugin.json +2 -1
  38. pulumi_nomad/quote_specification.py +4 -6
  39. pulumi_nomad/scheduler_config.py +6 -10
  40. pulumi_nomad/sentinel_policy.py +6 -10
  41. pulumi_nomad/variable.py +14 -18
  42. pulumi_nomad/volume.py +8 -80
  43. {pulumi_nomad-2.2.0a1710332982.dist-info → pulumi_nomad-2.3.0.dist-info}/METADATA +1 -1
  44. pulumi_nomad-2.3.0.dist-info/RECORD +55 -0
  45. pulumi_nomad-2.2.0a1710332982.dist-info/RECORD +0 -54
  46. {pulumi_nomad-2.2.0a1710332982.dist-info → pulumi_nomad-2.3.0.dist-info}/WHEEL +0 -0
  47. {pulumi_nomad-2.2.0a1710332982.dist-info → pulumi_nomad-2.3.0.dist-info}/top_level.txt +0 -0
pulumi_nomad/outputs.py CHANGED
@@ -67,6 +67,7 @@ __all__ = [
67
67
  'GetJobTaskGroupTaskResult',
68
68
  'GetJobTaskGroupTaskVolumeMountResult',
69
69
  'GetJobTaskGroupVolumeResult',
70
+ 'GetJwksKeyResult',
70
71
  'GetNamespaceCapabilityResult',
71
72
  'GetNamespaceNodePoolConfigResult',
72
73
  'GetNodePoolSchedulerConfigResult',
@@ -83,22 +84,36 @@ class AclAuthMethodConfig(dict):
83
84
  suggest = None
84
85
  if key == "allowedRedirectUris":
85
86
  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
87
  elif key == "boundAudiences":
93
88
  suggest = "bound_audiences"
89
+ elif key == "boundIssuers":
90
+ suggest = "bound_issuers"
94
91
  elif key == "claimMappings":
95
92
  suggest = "claim_mappings"
93
+ elif key == "clockSkewLeeway":
94
+ suggest = "clock_skew_leeway"
96
95
  elif key == "discoveryCaPems":
97
96
  suggest = "discovery_ca_pems"
97
+ elif key == "expirationLeeway":
98
+ suggest = "expiration_leeway"
99
+ elif key == "jwksCaCert":
100
+ suggest = "jwks_ca_cert"
101
+ elif key == "jwksUrl":
102
+ suggest = "jwks_url"
103
+ elif key == "jwtValidationPubKeys":
104
+ suggest = "jwt_validation_pub_keys"
98
105
  elif key == "listClaimMappings":
99
106
  suggest = "list_claim_mappings"
107
+ elif key == "notBeforeLeeway":
108
+ suggest = "not_before_leeway"
109
+ elif key == "oidcClientId":
110
+ suggest = "oidc_client_id"
111
+ elif key == "oidcClientSecret":
112
+ suggest = "oidc_client_secret"
100
113
  elif key == "oidcDisableUserinfo":
101
114
  suggest = "oidc_disable_userinfo"
115
+ elif key == "oidcDiscoveryUrl":
116
+ suggest = "oidc_discovery_url"
102
117
  elif key == "oidcScopes":
103
118
  suggest = "oidc_scopes"
104
119
  elif key == "signingAlgs":
@@ -116,56 +131,93 @@ class AclAuthMethodConfig(dict):
116
131
  return super().get(key, default)
117
132
 
118
133
  def __init__(__self__, *,
119
- allowed_redirect_uris: Sequence[str],
120
- oidc_client_id: str,
121
- oidc_client_secret: str,
122
- oidc_discovery_url: str,
134
+ allowed_redirect_uris: Optional[Sequence[str]] = None,
123
135
  bound_audiences: Optional[Sequence[str]] = None,
136
+ bound_issuers: Optional[Sequence[str]] = None,
124
137
  claim_mappings: Optional[Mapping[str, str]] = None,
138
+ clock_skew_leeway: Optional[str] = None,
125
139
  discovery_ca_pems: Optional[Sequence[str]] = None,
140
+ expiration_leeway: Optional[str] = None,
141
+ jwks_ca_cert: Optional[str] = None,
142
+ jwks_url: Optional[str] = None,
143
+ jwt_validation_pub_keys: Optional[Sequence[str]] = None,
126
144
  list_claim_mappings: Optional[Mapping[str, str]] = None,
145
+ not_before_leeway: Optional[str] = None,
146
+ oidc_client_id: Optional[str] = None,
147
+ oidc_client_secret: Optional[str] = None,
127
148
  oidc_disable_userinfo: Optional[bool] = None,
149
+ oidc_discovery_url: Optional[str] = None,
128
150
  oidc_scopes: Optional[Sequence[str]] = None,
129
151
  signing_algs: Optional[Sequence[str]] = None):
130
152
  """
131
153
  :param Sequence[str] allowed_redirect_uris: `([]string: <optional>)` - A list of allowed values
132
154
  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
155
  :param Sequence[str] bound_audiences: `([]string: <optional>)` - List of auth claims that are
140
156
  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).
157
+ :param Sequence[str] bound_issuers: `([]string: <optional>)` - The value against which to match
158
+ the iss claim in a JWT.
159
+ :param Mapping[str, str] claim_mappings: Mappings of claims (key) that will be copied to a metadata field (value).
160
+ :param str clock_skew_leeway: `(string: <optional>)` - Duration of leeway when validating
161
+ all claims in the form of a time duration such as "5m" or "1h".
143
162
  :param Sequence[str] discovery_ca_pems: `([]string: <optional>)` - PEM encoded CA certs for use
144
163
  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).
164
+ :param str expiration_leeway: `(string: <optional>)` - Duration of leeway when validating
165
+ expiration of a JWT in the form of a time duration such as "5m" or "1h".
166
+ :param str jwks_ca_cert: `(string: <optional>)` - PEM encoded CA cert for use by the
167
+ TLS client used to talk with the JWKS server.
168
+ :param str jwks_url: `(string: <optional>)` - JSON Web Key Sets url for authenticating
169
+ signatures.
170
+ :param Sequence[str] jwt_validation_pub_keys: `([]string: <optional>)` - List of PEM-encoded
171
+ public keys to use to authenticate signatures locally.
172
+ :param Mapping[str, str] list_claim_mappings: Mappings of list claims (key) that will be copied to a metadata field (value).
173
+ :param str not_before_leeway: `(string: <optional>)` - Duration of leeway when validating
174
+ not before values of a token in the form of a time duration such as "5m" or "1h".
175
+ :param str oidc_client_id: `(string: <optional>)` - The OAuth Client ID configured
176
+ with the OIDC provider.
177
+ :param str oidc_client_secret: `(string: <optional>)` - The OAuth Client Secret
178
+ configured with the OIDC provider.
147
179
  :param bool oidc_disable_userinfo: `(bool: false)` - When set to `true`, Nomad will
148
180
  not make a request to the identity provider to get OIDC `UserInfo`.
149
181
  You may wish to set this if your identity provider doesn't send any
150
182
  additional claims from the `UserInfo` endpoint.
183
+ :param str oidc_discovery_url: `(string: <optional>)` - The OIDC Discovery URL,
184
+ without any .well-known component (base path).
151
185
  :param Sequence[str] oidc_scopes: `([]string: <optional>)` - List of OIDC scopes.
152
186
  :param Sequence[str] signing_algs: `([]string: <optional>)` - A list of supported signing
153
187
  algorithms.
154
188
  """
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)
189
+ if allowed_redirect_uris is not None:
190
+ pulumi.set(__self__, "allowed_redirect_uris", allowed_redirect_uris)
159
191
  if bound_audiences is not None:
160
192
  pulumi.set(__self__, "bound_audiences", bound_audiences)
193
+ if bound_issuers is not None:
194
+ pulumi.set(__self__, "bound_issuers", bound_issuers)
161
195
  if claim_mappings is not None:
162
196
  pulumi.set(__self__, "claim_mappings", claim_mappings)
197
+ if clock_skew_leeway is not None:
198
+ pulumi.set(__self__, "clock_skew_leeway", clock_skew_leeway)
163
199
  if discovery_ca_pems is not None:
164
200
  pulumi.set(__self__, "discovery_ca_pems", discovery_ca_pems)
201
+ if expiration_leeway is not None:
202
+ pulumi.set(__self__, "expiration_leeway", expiration_leeway)
203
+ if jwks_ca_cert is not None:
204
+ pulumi.set(__self__, "jwks_ca_cert", jwks_ca_cert)
205
+ if jwks_url is not None:
206
+ pulumi.set(__self__, "jwks_url", jwks_url)
207
+ if jwt_validation_pub_keys is not None:
208
+ pulumi.set(__self__, "jwt_validation_pub_keys", jwt_validation_pub_keys)
165
209
  if list_claim_mappings is not None:
166
210
  pulumi.set(__self__, "list_claim_mappings", list_claim_mappings)
211
+ if not_before_leeway is not None:
212
+ pulumi.set(__self__, "not_before_leeway", not_before_leeway)
213
+ if oidc_client_id is not None:
214
+ pulumi.set(__self__, "oidc_client_id", oidc_client_id)
215
+ if oidc_client_secret is not None:
216
+ pulumi.set(__self__, "oidc_client_secret", oidc_client_secret)
167
217
  if oidc_disable_userinfo is not None:
168
218
  pulumi.set(__self__, "oidc_disable_userinfo", oidc_disable_userinfo)
219
+ if oidc_discovery_url is not None:
220
+ pulumi.set(__self__, "oidc_discovery_url", oidc_discovery_url)
169
221
  if oidc_scopes is not None:
170
222
  pulumi.set(__self__, "oidc_scopes", oidc_scopes)
171
223
  if signing_algs is not None:
@@ -173,40 +225,13 @@ class AclAuthMethodConfig(dict):
173
225
 
174
226
  @property
175
227
  @pulumi.getter(name="allowedRedirectUris")
176
- def allowed_redirect_uris(self) -> Sequence[str]:
228
+ def allowed_redirect_uris(self) -> Optional[Sequence[str]]:
177
229
  """
178
230
  `([]string: <optional>)` - A list of allowed values
179
231
  that can be used for the redirect URI.
180
232
  """
181
233
  return pulumi.get(self, "allowed_redirect_uris")
182
234
 
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
235
  @property
211
236
  @pulumi.getter(name="boundAudiences")
212
237
  def bound_audiences(self) -> Optional[Sequence[str]]:
@@ -216,15 +241,32 @@ class AclAuthMethodConfig(dict):
216
241
  """
217
242
  return pulumi.get(self, "bound_audiences")
218
243
 
244
+ @property
245
+ @pulumi.getter(name="boundIssuers")
246
+ def bound_issuers(self) -> Optional[Sequence[str]]:
247
+ """
248
+ `([]string: <optional>)` - The value against which to match
249
+ the iss claim in a JWT.
250
+ """
251
+ return pulumi.get(self, "bound_issuers")
252
+
219
253
  @property
220
254
  @pulumi.getter(name="claimMappings")
221
255
  def claim_mappings(self) -> Optional[Mapping[str, str]]:
222
256
  """
223
- `(map[string]string: <optional>)` - Mappings of claims (key)
224
- that will be copied to a metadata field (value).
257
+ Mappings of claims (key) that will be copied to a metadata field (value).
225
258
  """
226
259
  return pulumi.get(self, "claim_mappings")
227
260
 
261
+ @property
262
+ @pulumi.getter(name="clockSkewLeeway")
263
+ def clock_skew_leeway(self) -> Optional[str]:
264
+ """
265
+ `(string: <optional>)` - Duration of leeway when validating
266
+ all claims in the form of a time duration such as "5m" or "1h".
267
+ """
268
+ return pulumi.get(self, "clock_skew_leeway")
269
+
228
270
  @property
229
271
  @pulumi.getter(name="discoveryCaPems")
230
272
  def discovery_ca_pems(self) -> Optional[Sequence[str]]:
@@ -234,15 +276,77 @@ class AclAuthMethodConfig(dict):
234
276
  """
235
277
  return pulumi.get(self, "discovery_ca_pems")
236
278
 
279
+ @property
280
+ @pulumi.getter(name="expirationLeeway")
281
+ def expiration_leeway(self) -> Optional[str]:
282
+ """
283
+ `(string: <optional>)` - Duration of leeway when validating
284
+ expiration of a JWT in the form of a time duration such as "5m" or "1h".
285
+ """
286
+ return pulumi.get(self, "expiration_leeway")
287
+
288
+ @property
289
+ @pulumi.getter(name="jwksCaCert")
290
+ def jwks_ca_cert(self) -> Optional[str]:
291
+ """
292
+ `(string: <optional>)` - PEM encoded CA cert for use by the
293
+ TLS client used to talk with the JWKS server.
294
+ """
295
+ return pulumi.get(self, "jwks_ca_cert")
296
+
297
+ @property
298
+ @pulumi.getter(name="jwksUrl")
299
+ def jwks_url(self) -> Optional[str]:
300
+ """
301
+ `(string: <optional>)` - JSON Web Key Sets url for authenticating
302
+ signatures.
303
+ """
304
+ return pulumi.get(self, "jwks_url")
305
+
306
+ @property
307
+ @pulumi.getter(name="jwtValidationPubKeys")
308
+ def jwt_validation_pub_keys(self) -> Optional[Sequence[str]]:
309
+ """
310
+ `([]string: <optional>)` - List of PEM-encoded
311
+ public keys to use to authenticate signatures locally.
312
+ """
313
+ return pulumi.get(self, "jwt_validation_pub_keys")
314
+
237
315
  @property
238
316
  @pulumi.getter(name="listClaimMappings")
239
317
  def list_claim_mappings(self) -> Optional[Mapping[str, str]]:
240
318
  """
241
- `(map[string]string: <optional>)` - Mappings of list
242
- claims (key) that will be copied to a metadata field (value).
319
+ Mappings of list claims (key) that will be copied to a metadata field (value).
243
320
  """
244
321
  return pulumi.get(self, "list_claim_mappings")
245
322
 
323
+ @property
324
+ @pulumi.getter(name="notBeforeLeeway")
325
+ def not_before_leeway(self) -> Optional[str]:
326
+ """
327
+ `(string: <optional>)` - Duration of leeway when validating
328
+ not before values of a token in the form of a time duration such as "5m" or "1h".
329
+ """
330
+ return pulumi.get(self, "not_before_leeway")
331
+
332
+ @property
333
+ @pulumi.getter(name="oidcClientId")
334
+ def oidc_client_id(self) -> Optional[str]:
335
+ """
336
+ `(string: <optional>)` - The OAuth Client ID configured
337
+ with the OIDC provider.
338
+ """
339
+ return pulumi.get(self, "oidc_client_id")
340
+
341
+ @property
342
+ @pulumi.getter(name="oidcClientSecret")
343
+ def oidc_client_secret(self) -> Optional[str]:
344
+ """
345
+ `(string: <optional>)` - The OAuth Client Secret
346
+ configured with the OIDC provider.
347
+ """
348
+ return pulumi.get(self, "oidc_client_secret")
349
+
246
350
  @property
247
351
  @pulumi.getter(name="oidcDisableUserinfo")
248
352
  def oidc_disable_userinfo(self) -> Optional[bool]:
@@ -254,6 +358,15 @@ class AclAuthMethodConfig(dict):
254
358
  """
255
359
  return pulumi.get(self, "oidc_disable_userinfo")
256
360
 
361
+ @property
362
+ @pulumi.getter(name="oidcDiscoveryUrl")
363
+ def oidc_discovery_url(self) -> Optional[str]:
364
+ """
365
+ `(string: <optional>)` - The OIDC Discovery URL,
366
+ without any .well-known component (base path).
367
+ """
368
+ return pulumi.get(self, "oidc_discovery_url")
369
+
257
370
  @property
258
371
  @pulumi.getter(name="oidcScopes")
259
372
  def oidc_scopes(self) -> Optional[Sequence[str]]:
@@ -297,15 +410,10 @@ class AclPolicyJobAcl(dict):
297
410
  namespace: Optional[str] = None,
298
411
  task: Optional[str] = None):
299
412
  """
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
413
+ :param str job_id: Job
414
+ :param str group: Group
415
+ :param str namespace: Namespace
416
+ :param str task: Task
309
417
  """
310
418
  pulumi.set(__self__, "job_id", job_id)
311
419
  if group is not None:
@@ -319,8 +427,7 @@ class AclPolicyJobAcl(dict):
319
427
  @pulumi.getter(name="jobId")
320
428
  def job_id(self) -> str:
321
429
  """
322
- `(string: <optional>` - The job to attach the policy. Required if
323
- `group` is set.
430
+ Job
324
431
  """
325
432
  return pulumi.get(self, "job_id")
326
433
 
@@ -328,8 +435,7 @@ class AclPolicyJobAcl(dict):
328
435
  @pulumi.getter
329
436
  def group(self) -> Optional[str]:
330
437
  """
331
- `(string: <optional>` - The group to attach the policy. Required if
332
- `task` is set.
438
+ Group
333
439
  """
334
440
  return pulumi.get(self, "group")
335
441
 
@@ -337,8 +443,7 @@ class AclPolicyJobAcl(dict):
337
443
  @pulumi.getter
338
444
  def namespace(self) -> Optional[str]:
339
445
  """
340
- `(string: "default")` - The namespace to attach the policy.
341
- Required if `job_id` is set.
446
+ Namespace
342
447
  """
343
448
  return pulumi.get(self, "namespace")
344
449
 
@@ -346,9 +451,7 @@ class AclPolicyJobAcl(dict):
346
451
  @pulumi.getter
347
452
  def task(self) -> Optional[str]:
348
453
  """
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
454
+ Task
352
455
  """
353
456
  return pulumi.get(self, "task")
354
457
 
@@ -629,24 +732,12 @@ class CsiVolumeRegistrationMountOptions(dict):
629
732
  class CsiVolumeRegistrationTopology(dict):
630
733
  def __init__(__self__, *,
631
734
  segments: Optional[Mapping[str, str]] = None):
632
- """
633
- :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
634
-
635
- In addition to the above arguments, the following attributes are exported and
636
- can be referenced:
637
- """
638
735
  if segments is not None:
639
736
  pulumi.set(__self__, "segments", segments)
640
737
 
641
738
  @property
642
739
  @pulumi.getter
643
740
  def segments(self) -> Optional[Mapping[str, str]]:
644
- """
645
- `(map[string]string)` - Define the attributes for the topology request.
646
-
647
- In addition to the above arguments, the following attributes are exported and
648
- can be referenced:
649
- """
650
741
  return pulumi.get(self, "segments")
651
742
 
652
743
 
@@ -674,7 +765,7 @@ class CsiVolumeRegistrationTopologyRequestRequired(dict):
674
765
  def __init__(__self__, *,
675
766
  topologies: Sequence['outputs.CsiVolumeRegistrationTopologyRequestRequiredTopology']):
676
767
  """
677
- :param Sequence['CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs'] topologies: `(List of segments: <required>)` - Defines the location for the volume.
768
+ :param Sequence['CsiVolumeRegistrationTopologyRequestRequiredTopologyArgs'] topologies: Defines the location for the volume.
678
769
  """
679
770
  pulumi.set(__self__, "topologies", topologies)
680
771
 
@@ -682,7 +773,7 @@ class CsiVolumeRegistrationTopologyRequestRequired(dict):
682
773
  @pulumi.getter
683
774
  def topologies(self) -> Sequence['outputs.CsiVolumeRegistrationTopologyRequestRequiredTopology']:
684
775
  """
685
- `(List of segments: <required>)` - Defines the location for the volume.
776
+ Defines the location for the volume.
686
777
  """
687
778
  return pulumi.get(self, "topologies")
688
779
 
@@ -692,10 +783,7 @@ class CsiVolumeRegistrationTopologyRequestRequiredTopology(dict):
692
783
  def __init__(__self__, *,
693
784
  segments: Mapping[str, str]):
694
785
  """
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:
786
+ :param Mapping[str, str] segments: Define attributes for the topology request.
699
787
  """
700
788
  pulumi.set(__self__, "segments", segments)
701
789
 
@@ -703,10 +791,7 @@ class CsiVolumeRegistrationTopologyRequestRequiredTopology(dict):
703
791
  @pulumi.getter
704
792
  def segments(self) -> Mapping[str, str]:
705
793
  """
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:
794
+ Define attributes for the topology request.
710
795
  """
711
796
  return pulumi.get(self, "segments")
712
797
 
@@ -715,24 +800,12 @@ class CsiVolumeRegistrationTopologyRequestRequiredTopology(dict):
715
800
  class CsiVolumeTopology(dict):
716
801
  def __init__(__self__, *,
717
802
  segments: Optional[Mapping[str, str]] = None):
718
- """
719
- :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
720
-
721
- In addition to the above arguments, the following attributes are exported and
722
- can be referenced:
723
- """
724
803
  if segments is not None:
725
804
  pulumi.set(__self__, "segments", segments)
726
805
 
727
806
  @property
728
807
  @pulumi.getter
729
808
  def segments(self) -> Optional[Mapping[str, str]]:
730
- """
731
- `(map[string]string)` - Define the attributes for the topology request.
732
-
733
- In addition to the above arguments, the following attributes are exported and
734
- can be referenced:
735
- """
736
809
  return pulumi.get(self, "segments")
737
810
 
738
811
 
@@ -772,7 +845,7 @@ class CsiVolumeTopologyRequestPreferred(dict):
772
845
  def __init__(__self__, *,
773
846
  topologies: Sequence['outputs.CsiVolumeTopologyRequestPreferredTopology']):
774
847
  """
775
- :param Sequence['CsiVolumeTopologyRequestPreferredTopologyArgs'] topologies: `(List of segments: <required>)` - Defines the location for the volume.
848
+ :param Sequence['CsiVolumeTopologyRequestPreferredTopologyArgs'] topologies: Defines the location for the volume.
776
849
  """
777
850
  pulumi.set(__self__, "topologies", topologies)
778
851
 
@@ -780,7 +853,7 @@ class CsiVolumeTopologyRequestPreferred(dict):
780
853
  @pulumi.getter
781
854
  def topologies(self) -> Sequence['outputs.CsiVolumeTopologyRequestPreferredTopology']:
782
855
  """
783
- `(List of segments: <required>)` - Defines the location for the volume.
856
+ Defines the location for the volume.
784
857
  """
785
858
  return pulumi.get(self, "topologies")
786
859
 
@@ -790,10 +863,7 @@ class CsiVolumeTopologyRequestPreferredTopology(dict):
790
863
  def __init__(__self__, *,
791
864
  segments: Mapping[str, str]):
792
865
  """
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:
866
+ :param Mapping[str, str] segments: Define the attributes for the topology request.
797
867
  """
798
868
  pulumi.set(__self__, "segments", segments)
799
869
 
@@ -801,10 +871,7 @@ class CsiVolumeTopologyRequestPreferredTopology(dict):
801
871
  @pulumi.getter
802
872
  def segments(self) -> Mapping[str, str]:
803
873
  """
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:
874
+ Define the attributes for the topology request.
808
875
  """
809
876
  return pulumi.get(self, "segments")
810
877
 
@@ -814,7 +881,7 @@ class CsiVolumeTopologyRequestRequired(dict):
814
881
  def __init__(__self__, *,
815
882
  topologies: Sequence['outputs.CsiVolumeTopologyRequestRequiredTopology']):
816
883
  """
817
- :param Sequence['CsiVolumeTopologyRequestRequiredTopologyArgs'] topologies: `(List of segments: <required>)` - Defines the location for the volume.
884
+ :param Sequence['CsiVolumeTopologyRequestRequiredTopologyArgs'] topologies: Defines the location for the volume.
818
885
  """
819
886
  pulumi.set(__self__, "topologies", topologies)
820
887
 
@@ -822,7 +889,7 @@ class CsiVolumeTopologyRequestRequired(dict):
822
889
  @pulumi.getter
823
890
  def topologies(self) -> Sequence['outputs.CsiVolumeTopologyRequestRequiredTopology']:
824
891
  """
825
- `(List of segments: <required>)` - Defines the location for the volume.
892
+ Defines the location for the volume.
826
893
  """
827
894
  return pulumi.get(self, "topologies")
828
895
 
@@ -832,10 +899,7 @@ class CsiVolumeTopologyRequestRequiredTopology(dict):
832
899
  def __init__(__self__, *,
833
900
  segments: Mapping[str, str]):
834
901
  """
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:
902
+ :param Mapping[str, str] segments: Define the attributes for the topology request.
839
903
  """
840
904
  pulumi.set(__self__, "segments", segments)
841
905
 
@@ -843,10 +907,7 @@ class CsiVolumeTopologyRequestRequiredTopology(dict):
843
907
  @pulumi.getter
844
908
  def segments(self) -> Mapping[str, str]:
845
909
  """
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:
910
+ Define the attributes for the topology request.
850
911
  """
851
912
  return pulumi.get(self, "segments")
852
913
 
@@ -967,24 +1028,12 @@ class ExternalVolumeMountOptions(dict):
967
1028
  class ExternalVolumeTopology(dict):
968
1029
  def __init__(__self__, *,
969
1030
  segments: Optional[Mapping[str, str]] = None):
970
- """
971
- :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
972
-
973
- In addition to the above arguments, the following attributes are exported and
974
- can be referenced:
975
- """
976
1031
  if segments is not None:
977
1032
  pulumi.set(__self__, "segments", segments)
978
1033
 
979
1034
  @property
980
1035
  @pulumi.getter
981
1036
  def segments(self) -> Optional[Mapping[str, str]]:
982
- """
983
- `(map[string]string)` - Define the attributes for the topology request.
984
-
985
- In addition to the above arguments, the following attributes are exported and
986
- can be referenced:
987
- """
988
1037
  return pulumi.get(self, "segments")
989
1038
 
990
1039
 
@@ -1024,7 +1073,7 @@ class ExternalVolumeTopologyRequestPreferred(dict):
1024
1073
  def __init__(__self__, *,
1025
1074
  topologies: Sequence['outputs.ExternalVolumeTopologyRequestPreferredTopology']):
1026
1075
  """
1027
- :param Sequence['ExternalVolumeTopologyRequestPreferredTopologyArgs'] topologies: `(List of segments: <required>)` - Defines the location for the volume.
1076
+ :param Sequence['ExternalVolumeTopologyRequestPreferredTopologyArgs'] topologies: Defines the location for the volume.
1028
1077
  """
1029
1078
  pulumi.set(__self__, "topologies", topologies)
1030
1079
 
@@ -1032,7 +1081,7 @@ class ExternalVolumeTopologyRequestPreferred(dict):
1032
1081
  @pulumi.getter
1033
1082
  def topologies(self) -> Sequence['outputs.ExternalVolumeTopologyRequestPreferredTopology']:
1034
1083
  """
1035
- `(List of segments: <required>)` - Defines the location for the volume.
1084
+ Defines the location for the volume.
1036
1085
  """
1037
1086
  return pulumi.get(self, "topologies")
1038
1087
 
@@ -1042,10 +1091,7 @@ class ExternalVolumeTopologyRequestPreferredTopology(dict):
1042
1091
  def __init__(__self__, *,
1043
1092
  segments: Mapping[str, str]):
1044
1093
  """
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:
1094
+ :param Mapping[str, str] segments: Define the attributes for the topology request.
1049
1095
  """
1050
1096
  pulumi.set(__self__, "segments", segments)
1051
1097
 
@@ -1053,10 +1099,7 @@ class ExternalVolumeTopologyRequestPreferredTopology(dict):
1053
1099
  @pulumi.getter
1054
1100
  def segments(self) -> Mapping[str, str]:
1055
1101
  """
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:
1102
+ Define the attributes for the topology request.
1060
1103
  """
1061
1104
  return pulumi.get(self, "segments")
1062
1105
 
@@ -1066,7 +1109,7 @@ class ExternalVolumeTopologyRequestRequired(dict):
1066
1109
  def __init__(__self__, *,
1067
1110
  topologies: Sequence['outputs.ExternalVolumeTopologyRequestRequiredTopology']):
1068
1111
  """
1069
- :param Sequence['ExternalVolumeTopologyRequestRequiredTopologyArgs'] topologies: `(List of segments: <required>)` - Defines the location for the volume.
1112
+ :param Sequence['ExternalVolumeTopologyRequestRequiredTopologyArgs'] topologies: Defines the location for the volume.
1070
1113
  """
1071
1114
  pulumi.set(__self__, "topologies", topologies)
1072
1115
 
@@ -1074,7 +1117,7 @@ class ExternalVolumeTopologyRequestRequired(dict):
1074
1117
  @pulumi.getter
1075
1118
  def topologies(self) -> Sequence['outputs.ExternalVolumeTopologyRequestRequiredTopology']:
1076
1119
  """
1077
- `(List of segments: <required>)` - Defines the location for the volume.
1120
+ Defines the location for the volume.
1078
1121
  """
1079
1122
  return pulumi.get(self, "topologies")
1080
1123
 
@@ -1084,10 +1127,7 @@ class ExternalVolumeTopologyRequestRequiredTopology(dict):
1084
1127
  def __init__(__self__, *,
1085
1128
  segments: Mapping[str, str]):
1086
1129
  """
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:
1130
+ :param Mapping[str, str] segments: Define the attributes for the topology request.
1091
1131
  """
1092
1132
  pulumi.set(__self__, "segments", segments)
1093
1133
 
@@ -1095,10 +1135,7 @@ class ExternalVolumeTopologyRequestRequiredTopology(dict):
1095
1135
  @pulumi.getter
1096
1136
  def segments(self) -> Mapping[str, str]:
1097
1137
  """
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:
1138
+ Define the attributes for the topology request.
1102
1139
  """
1103
1140
  return pulumi.get(self, "segments")
1104
1141
 
@@ -1750,24 +1787,12 @@ class VolumeMountOptions(dict):
1750
1787
  class VolumeTopology(dict):
1751
1788
  def __init__(__self__, *,
1752
1789
  segments: Optional[Mapping[str, str]] = None):
1753
- """
1754
- :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
1755
-
1756
- In addition to the above arguments, the following attributes are exported and
1757
- can be referenced:
1758
- """
1759
1790
  if segments is not None:
1760
1791
  pulumi.set(__self__, "segments", segments)
1761
1792
 
1762
1793
  @property
1763
1794
  @pulumi.getter
1764
1795
  def segments(self) -> Optional[Mapping[str, str]]:
1765
- """
1766
- `(map[string]string)` - Define the attributes for the topology request.
1767
-
1768
- In addition to the above arguments, the following attributes are exported and
1769
- can be referenced:
1770
- """
1771
1796
  return pulumi.get(self, "segments")
1772
1797
 
1773
1798
 
@@ -1795,7 +1820,7 @@ class VolumeTopologyRequestRequired(dict):
1795
1820
  def __init__(__self__, *,
1796
1821
  topologies: Sequence['outputs.VolumeTopologyRequestRequiredTopology']):
1797
1822
  """
1798
- :param Sequence['VolumeTopologyRequestRequiredTopologyArgs'] topologies: `(List of segments: <required>)` - Defines the location for the volume.
1823
+ :param Sequence['VolumeTopologyRequestRequiredTopologyArgs'] topologies: Defines the location for the volume.
1799
1824
  """
1800
1825
  pulumi.set(__self__, "topologies", topologies)
1801
1826
 
@@ -1803,7 +1828,7 @@ class VolumeTopologyRequestRequired(dict):
1803
1828
  @pulumi.getter
1804
1829
  def topologies(self) -> Sequence['outputs.VolumeTopologyRequestRequiredTopology']:
1805
1830
  """
1806
- `(List of segments: <required>)` - Defines the location for the volume.
1831
+ Defines the location for the volume.
1807
1832
  """
1808
1833
  return pulumi.get(self, "topologies")
1809
1834
 
@@ -1813,10 +1838,7 @@ class VolumeTopologyRequestRequiredTopology(dict):
1813
1838
  def __init__(__self__, *,
1814
1839
  segments: Mapping[str, str]):
1815
1840
  """
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:
1841
+ :param Mapping[str, str] segments: Define attributes for the topology request.
1820
1842
  """
1821
1843
  pulumi.set(__self__, "segments", segments)
1822
1844
 
@@ -1824,10 +1846,7 @@ class VolumeTopologyRequestRequiredTopology(dict):
1824
1846
  @pulumi.getter
1825
1847
  def segments(self) -> Mapping[str, str]:
1826
1848
  """
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:
1849
+ Define attributes for the topology request.
1831
1850
  """
1832
1851
  return pulumi.get(self, "segments")
1833
1852
 
@@ -2579,6 +2598,79 @@ class GetJobTaskGroupVolumeResult(dict):
2579
2598
  return pulumi.get(self, "type")
2580
2599
 
2581
2600
 
2601
+ @pulumi.output_type
2602
+ class GetJwksKeyResult(dict):
2603
+ def __init__(__self__, *,
2604
+ algorithm: str,
2605
+ exponent: str,
2606
+ key_id: str,
2607
+ key_type: str,
2608
+ key_use: str,
2609
+ modulus: str):
2610
+ """
2611
+ :param str algorithm: `(string)` - JWK field `alg`
2612
+ :param str exponent: `(string)` - JWK field `e`
2613
+ :param str key_id: `(string)` - JWK field `kid`
2614
+ :param str key_type: `(string)` - JWK field `kty`
2615
+ :param str key_use: `(string)` - JWK field `use`
2616
+ :param str modulus: `(string)` - JWK field `n`
2617
+ """
2618
+ pulumi.set(__self__, "algorithm", algorithm)
2619
+ pulumi.set(__self__, "exponent", exponent)
2620
+ pulumi.set(__self__, "key_id", key_id)
2621
+ pulumi.set(__self__, "key_type", key_type)
2622
+ pulumi.set(__self__, "key_use", key_use)
2623
+ pulumi.set(__self__, "modulus", modulus)
2624
+
2625
+ @property
2626
+ @pulumi.getter
2627
+ def algorithm(self) -> str:
2628
+ """
2629
+ `(string)` - JWK field `alg`
2630
+ """
2631
+ return pulumi.get(self, "algorithm")
2632
+
2633
+ @property
2634
+ @pulumi.getter
2635
+ def exponent(self) -> str:
2636
+ """
2637
+ `(string)` - JWK field `e`
2638
+ """
2639
+ return pulumi.get(self, "exponent")
2640
+
2641
+ @property
2642
+ @pulumi.getter(name="keyId")
2643
+ def key_id(self) -> str:
2644
+ """
2645
+ `(string)` - JWK field `kid`
2646
+ """
2647
+ return pulumi.get(self, "key_id")
2648
+
2649
+ @property
2650
+ @pulumi.getter(name="keyType")
2651
+ def key_type(self) -> str:
2652
+ """
2653
+ `(string)` - JWK field `kty`
2654
+ """
2655
+ return pulumi.get(self, "key_type")
2656
+
2657
+ @property
2658
+ @pulumi.getter(name="keyUse")
2659
+ def key_use(self) -> str:
2660
+ """
2661
+ `(string)` - JWK field `use`
2662
+ """
2663
+ return pulumi.get(self, "key_use")
2664
+
2665
+ @property
2666
+ @pulumi.getter
2667
+ def modulus(self) -> str:
2668
+ """
2669
+ `(string)` - JWK field `n`
2670
+ """
2671
+ return pulumi.get(self, "modulus")
2672
+
2673
+
2582
2674
  @pulumi.output_type
2583
2675
  class GetNamespaceCapabilityResult(dict):
2584
2676
  def __init__(__self__, *,