pulumi-nomad 2.3.0a1717543517__py3-none-any.whl → 2.3.1__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.
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]]:
@@ -619,12 +732,24 @@ class CsiVolumeRegistrationMountOptions(dict):
619
732
  class CsiVolumeRegistrationTopology(dict):
620
733
  def __init__(__self__, *,
621
734
  segments: Optional[Mapping[str, str]] = None):
735
+ """
736
+ :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
737
+
738
+ In addition to the above arguments, the following attributes are exported and
739
+ can be referenced:
740
+ """
622
741
  if segments is not None:
623
742
  pulumi.set(__self__, "segments", segments)
624
743
 
625
744
  @property
626
745
  @pulumi.getter
627
746
  def segments(self) -> Optional[Mapping[str, str]]:
747
+ """
748
+ `(map[string]string)` - Define the attributes for the topology request.
749
+
750
+ In addition to the above arguments, the following attributes are exported and
751
+ can be referenced:
752
+ """
628
753
  return pulumi.get(self, "segments")
629
754
 
630
755
 
@@ -687,12 +812,24 @@ class CsiVolumeRegistrationTopologyRequestRequiredTopology(dict):
687
812
  class CsiVolumeTopology(dict):
688
813
  def __init__(__self__, *,
689
814
  segments: Optional[Mapping[str, str]] = None):
815
+ """
816
+ :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
817
+
818
+ In addition to the above arguments, the following attributes are exported and
819
+ can be referenced:
820
+ """
690
821
  if segments is not None:
691
822
  pulumi.set(__self__, "segments", segments)
692
823
 
693
824
  @property
694
825
  @pulumi.getter
695
826
  def segments(self) -> Optional[Mapping[str, str]]:
827
+ """
828
+ `(map[string]string)` - Define the attributes for the topology request.
829
+
830
+ In addition to the above arguments, the following attributes are exported and
831
+ can be referenced:
832
+ """
696
833
  return pulumi.get(self, "segments")
697
834
 
698
835
 
@@ -915,12 +1052,24 @@ class ExternalVolumeMountOptions(dict):
915
1052
  class ExternalVolumeTopology(dict):
916
1053
  def __init__(__self__, *,
917
1054
  segments: Optional[Mapping[str, str]] = None):
1055
+ """
1056
+ :param Mapping[str, str] segments: `(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:
1060
+ """
918
1061
  if segments is not None:
919
1062
  pulumi.set(__self__, "segments", segments)
920
1063
 
921
1064
  @property
922
1065
  @pulumi.getter
923
1066
  def segments(self) -> Optional[Mapping[str, str]]:
1067
+ """
1068
+ `(map[string]string)` - Define the attributes for the topology request.
1069
+
1070
+ In addition to the above arguments, the following attributes are exported and
1071
+ can be referenced:
1072
+ """
924
1073
  return pulumi.get(self, "segments")
925
1074
 
926
1075
 
@@ -1075,14 +1224,12 @@ class JobHcl2(dict):
1075
1224
 
1076
1225
  @property
1077
1226
  @pulumi.getter
1227
+ @_utilities.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.""")
1078
1228
  def enabled(self) -> Optional[bool]:
1079
1229
  """
1080
1230
  `(boolean: false)` - **Deprecated** All HCL jobs are parsed as
1081
1231
  HCL2 by default.
1082
1232
  """
1083
- 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)
1084
- 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.""")
1085
-
1086
1233
  return pulumi.get(self, "enabled")
1087
1234
 
1088
1235
  @property
@@ -1674,12 +1821,24 @@ class VolumeMountOptions(dict):
1674
1821
  class VolumeTopology(dict):
1675
1822
  def __init__(__self__, *,
1676
1823
  segments: Optional[Mapping[str, str]] = None):
1824
+ """
1825
+ :param Mapping[str, str] segments: `(map[string]string)` - Define the attributes for the topology request.
1826
+
1827
+ In addition to the above arguments, the following attributes are exported and
1828
+ can be referenced:
1829
+ """
1677
1830
  if segments is not None:
1678
1831
  pulumi.set(__self__, "segments", segments)
1679
1832
 
1680
1833
  @property
1681
1834
  @pulumi.getter
1682
1835
  def segments(self) -> Optional[Mapping[str, str]]:
1836
+ """
1837
+ `(map[string]string)` - Define the attributes for the topology request.
1838
+
1839
+ In addition to the above arguments, the following attributes are exported and
1840
+ can be referenced:
1841
+ """
1683
1842
  return pulumi.get(self, "segments")
1684
1843
 
1685
1844
 
@@ -2485,6 +2644,79 @@ class GetJobTaskGroupVolumeResult(dict):
2485
2644
  return pulumi.get(self, "type")
2486
2645
 
2487
2646
 
2647
+ @pulumi.output_type
2648
+ class GetJwksKeyResult(dict):
2649
+ def __init__(__self__, *,
2650
+ algorithm: str,
2651
+ exponent: str,
2652
+ key_id: str,
2653
+ key_type: str,
2654
+ key_use: str,
2655
+ modulus: str):
2656
+ """
2657
+ :param str algorithm: `(string)` - JWK field `alg`
2658
+ :param str exponent: `(string)` - JWK field `e`
2659
+ :param str key_id: `(string)` - JWK field `kid`
2660
+ :param str key_type: `(string)` - JWK field `kty`
2661
+ :param str key_use: `(string)` - JWK field `use`
2662
+ :param str modulus: `(string)` - JWK field `n`
2663
+ """
2664
+ pulumi.set(__self__, "algorithm", algorithm)
2665
+ pulumi.set(__self__, "exponent", exponent)
2666
+ pulumi.set(__self__, "key_id", key_id)
2667
+ pulumi.set(__self__, "key_type", key_type)
2668
+ pulumi.set(__self__, "key_use", key_use)
2669
+ pulumi.set(__self__, "modulus", modulus)
2670
+
2671
+ @property
2672
+ @pulumi.getter
2673
+ def algorithm(self) -> str:
2674
+ """
2675
+ `(string)` - JWK field `alg`
2676
+ """
2677
+ return pulumi.get(self, "algorithm")
2678
+
2679
+ @property
2680
+ @pulumi.getter
2681
+ def exponent(self) -> str:
2682
+ """
2683
+ `(string)` - JWK field `e`
2684
+ """
2685
+ return pulumi.get(self, "exponent")
2686
+
2687
+ @property
2688
+ @pulumi.getter(name="keyId")
2689
+ def key_id(self) -> str:
2690
+ """
2691
+ `(string)` - JWK field `kid`
2692
+ """
2693
+ return pulumi.get(self, "key_id")
2694
+
2695
+ @property
2696
+ @pulumi.getter(name="keyType")
2697
+ def key_type(self) -> str:
2698
+ """
2699
+ `(string)` - JWK field `kty`
2700
+ """
2701
+ return pulumi.get(self, "key_type")
2702
+
2703
+ @property
2704
+ @pulumi.getter(name="keyUse")
2705
+ def key_use(self) -> str:
2706
+ """
2707
+ `(string)` - JWK field `use`
2708
+ """
2709
+ return pulumi.get(self, "key_use")
2710
+
2711
+ @property
2712
+ @pulumi.getter
2713
+ def modulus(self) -> str:
2714
+ """
2715
+ `(string)` - JWK field `n`
2716
+ """
2717
+ return pulumi.get(self, "modulus")
2718
+
2719
+
2488
2720
  @pulumi.output_type
2489
2721
  class GetNamespaceCapabilityResult(dict):
2490
2722
  def __init__(__self__, *,
pulumi_nomad/provider.py CHANGED
@@ -270,7 +270,7 @@ class Provider(pulumi.ProviderResource):
270
270
  cert_file: Optional[pulumi.Input[str]] = None,
271
271
  cert_pem: Optional[pulumi.Input[str]] = None,
272
272
  consul_token: Optional[pulumi.Input[str]] = None,
273
- headers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProviderHeaderArgs']]]]] = None,
273
+ headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProviderHeaderArgs', 'ProviderHeaderArgsDict']]]]] = None,
274
274
  http_auth: Optional[pulumi.Input[str]] = None,
275
275
  ignore_env_vars: Optional[pulumi.Input[Mapping[str, pulumi.Input[bool]]]] = None,
276
276
  key_file: Optional[pulumi.Input[str]] = None,
@@ -294,7 +294,7 @@ class Provider(pulumi.ProviderResource):
294
294
  :param pulumi.Input[str] cert_file: A path to a PEM-encoded certificate provided to the remote agent; requires use of key_file or key_pem.
295
295
  :param pulumi.Input[str] cert_pem: PEM-encoded certificate provided to the remote agent; requires use of key_file or key_pem.
296
296
  :param pulumi.Input[str] consul_token: Consul token to validate Consul Connect Service Identity policies specified in the job file.
297
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProviderHeaderArgs']]]] headers: The headers to send with each Nomad request.
297
+ :param pulumi.Input[Sequence[pulumi.Input[Union['ProviderHeaderArgs', 'ProviderHeaderArgsDict']]]] headers: The headers to send with each Nomad request.
298
298
  :param pulumi.Input[str] http_auth: HTTP basic auth configuration.
299
299
  :param pulumi.Input[Mapping[str, pulumi.Input[bool]]] ignore_env_vars: A set of environment variables that are ignored by the provider when configuring the Nomad API client.
300
300
  :param pulumi.Input[str] key_file: A path to a PEM-encoded private key, required if cert_file or cert_pem is specified.
@@ -337,7 +337,7 @@ class Provider(pulumi.ProviderResource):
337
337
  cert_file: Optional[pulumi.Input[str]] = None,
338
338
  cert_pem: Optional[pulumi.Input[str]] = None,
339
339
  consul_token: Optional[pulumi.Input[str]] = None,
340
- headers: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['ProviderHeaderArgs']]]]] = None,
340
+ headers: Optional[pulumi.Input[Sequence[pulumi.Input[Union['ProviderHeaderArgs', 'ProviderHeaderArgsDict']]]]] = None,
341
341
  http_auth: Optional[pulumi.Input[str]] = None,
342
342
  ignore_env_vars: Optional[pulumi.Input[Mapping[str, pulumi.Input[bool]]]] = None,
343
343
  key_file: Optional[pulumi.Input[str]] = None,
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "nomad",
4
- "version": "2.3.0-alpha.1717543517"
4
+ "version": "2.3.1"
5
5
  }
@@ -134,7 +134,7 @@ class QuoteSpecification(pulumi.CustomResource):
134
134
  resource_name: str,
135
135
  opts: Optional[pulumi.ResourceOptions] = None,
136
136
  description: Optional[pulumi.Input[str]] = None,
137
- limits: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['QuoteSpecificationLimitArgs']]]]] = None,
137
+ limits: Optional[pulumi.Input[Sequence[pulumi.Input[Union['QuoteSpecificationLimitArgs', 'QuoteSpecificationLimitArgsDict']]]]] = None,
138
138
  name: Optional[pulumi.Input[str]] = None,
139
139
  __props__=None):
140
140
  """
@@ -151,19 +151,19 @@ class QuoteSpecification(pulumi.CustomResource):
151
151
  prod_api = nomad.QuoteSpecification("prod_api",
152
152
  name="prod-api",
153
153
  description="Production instances of backend API servers",
154
- limits=[nomad.QuoteSpecificationLimitArgs(
155
- region="global",
156
- region_limit=nomad.QuoteSpecificationLimitRegionLimitArgs(
157
- cpu=2400,
158
- memory_mb=1200,
159
- ),
160
- )])
154
+ limits=[{
155
+ "region": "global",
156
+ "region_limit": {
157
+ "cpu": 2400,
158
+ "memory_mb": 1200,
159
+ },
160
+ }])
161
161
  ```
162
162
 
163
163
  :param str resource_name: The name of the resource.
164
164
  :param pulumi.ResourceOptions opts: Options for the resource.
165
165
  :param pulumi.Input[str] description: `(string: "")` - A description of the quota specification.
166
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['QuoteSpecificationLimitArgs']]]] limits: `(block: <required>)` - A block of quota limits to enforce. Can
166
+ :param pulumi.Input[Sequence[pulumi.Input[Union['QuoteSpecificationLimitArgs', 'QuoteSpecificationLimitArgsDict']]]] limits: `(block: <required>)` - A block of quota limits to enforce. Can
167
167
  be repeated. See below for the structure of this block.
168
168
  :param pulumi.Input[str] name: `(string: <required>)` - A unique name for the quota specification.
169
169
  """
@@ -187,13 +187,13 @@ class QuoteSpecification(pulumi.CustomResource):
187
187
  prod_api = nomad.QuoteSpecification("prod_api",
188
188
  name="prod-api",
189
189
  description="Production instances of backend API servers",
190
- limits=[nomad.QuoteSpecificationLimitArgs(
191
- region="global",
192
- region_limit=nomad.QuoteSpecificationLimitRegionLimitArgs(
193
- cpu=2400,
194
- memory_mb=1200,
195
- ),
196
- )])
190
+ limits=[{
191
+ "region": "global",
192
+ "region_limit": {
193
+ "cpu": 2400,
194
+ "memory_mb": 1200,
195
+ },
196
+ }])
197
197
  ```
198
198
 
199
199
  :param str resource_name: The name of the resource.
@@ -212,7 +212,7 @@ class QuoteSpecification(pulumi.CustomResource):
212
212
  resource_name: str,
213
213
  opts: Optional[pulumi.ResourceOptions] = None,
214
214
  description: Optional[pulumi.Input[str]] = None,
215
- limits: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['QuoteSpecificationLimitArgs']]]]] = None,
215
+ limits: Optional[pulumi.Input[Sequence[pulumi.Input[Union['QuoteSpecificationLimitArgs', 'QuoteSpecificationLimitArgsDict']]]]] = None,
216
216
  name: Optional[pulumi.Input[str]] = None,
217
217
  __props__=None):
218
218
  opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
@@ -239,7 +239,7 @@ class QuoteSpecification(pulumi.CustomResource):
239
239
  id: pulumi.Input[str],
240
240
  opts: Optional[pulumi.ResourceOptions] = None,
241
241
  description: Optional[pulumi.Input[str]] = None,
242
- limits: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['QuoteSpecificationLimitArgs']]]]] = None,
242
+ limits: Optional[pulumi.Input[Sequence[pulumi.Input[Union['QuoteSpecificationLimitArgs', 'QuoteSpecificationLimitArgsDict']]]]] = None,
243
243
  name: Optional[pulumi.Input[str]] = None) -> 'QuoteSpecification':
244
244
  """
245
245
  Get an existing QuoteSpecification resource's state with the given name, id, and optional extra
@@ -249,7 +249,7 @@ class QuoteSpecification(pulumi.CustomResource):
249
249
  :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
250
250
  :param pulumi.ResourceOptions opts: Options for the resource.
251
251
  :param pulumi.Input[str] description: `(string: "")` - A description of the quota specification.
252
- :param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['QuoteSpecificationLimitArgs']]]] limits: `(block: <required>)` - A block of quota limits to enforce. Can
252
+ :param pulumi.Input[Sequence[pulumi.Input[Union['QuoteSpecificationLimitArgs', 'QuoteSpecificationLimitArgsDict']]]] limits: `(block: <required>)` - A block of quota limits to enforce. Can
253
253
  be repeated. See below for the structure of this block.
254
254
  :param pulumi.Input[str] name: `(string: <required>)` - A unique name for the quota specification.
255
255
  """