pulumi-nomad 2.5.0a1744783739__py3-none-any.whl → 2.6.0a1745042960__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/__init__.py +19 -0
- pulumi_nomad/_inputs.py +678 -1
- pulumi_nomad/acl_policy.py +14 -7
- pulumi_nomad/config/__init__.pyi +0 -10
- pulumi_nomad/config/vars.py +0 -14
- pulumi_nomad/csi_volume.py +28 -0
- pulumi_nomad/dynamic_host_volume.py +1005 -0
- pulumi_nomad/dynamic_host_volume_registration.py +740 -0
- pulumi_nomad/get_dynamic_host_volume.py +353 -0
- pulumi_nomad/get_volumes.py +2 -2
- pulumi_nomad/job.py +3 -113
- pulumi_nomad/outputs.py +579 -1
- pulumi_nomad/provider.py +1 -59
- pulumi_nomad/pulumi-plugin.json +1 -1
- {pulumi_nomad-2.5.0a1744783739.dist-info → pulumi_nomad-2.6.0a1745042960.dist-info}/METADATA +1 -1
- {pulumi_nomad-2.5.0a1744783739.dist-info → pulumi_nomad-2.6.0a1745042960.dist-info}/RECORD +18 -15
- {pulumi_nomad-2.5.0a1744783739.dist-info → pulumi_nomad-2.6.0a1745042960.dist-info}/WHEEL +0 -0
- {pulumi_nomad-2.5.0a1744783739.dist-info → pulumi_nomad-2.6.0a1745042960.dist-info}/top_level.txt +0 -0
pulumi_nomad/_inputs.py
CHANGED
@@ -18,6 +18,10 @@ from . import _utilities
|
|
18
18
|
__all__ = [
|
19
19
|
'AclAuthMethodConfigArgs',
|
20
20
|
'AclAuthMethodConfigArgsDict',
|
21
|
+
'AclAuthMethodConfigOidcClientAssertionArgs',
|
22
|
+
'AclAuthMethodConfigOidcClientAssertionArgsDict',
|
23
|
+
'AclAuthMethodConfigOidcClientAssertionPrivateKeyArgs',
|
24
|
+
'AclAuthMethodConfigOidcClientAssertionPrivateKeyArgsDict',
|
21
25
|
'AclPolicyJobAclArgs',
|
22
26
|
'AclPolicyJobAclArgsDict',
|
23
27
|
'AclRolePolicyArgs',
|
@@ -52,6 +56,14 @@ __all__ = [
|
|
52
56
|
'CsiVolumeTopologyRequestRequiredArgsDict',
|
53
57
|
'CsiVolumeTopologyRequestRequiredTopologyArgs',
|
54
58
|
'CsiVolumeTopologyRequestRequiredTopologyArgsDict',
|
59
|
+
'DynamicHostVolumeCapabilityArgs',
|
60
|
+
'DynamicHostVolumeCapabilityArgsDict',
|
61
|
+
'DynamicHostVolumeConstraintArgs',
|
62
|
+
'DynamicHostVolumeConstraintArgsDict',
|
63
|
+
'DynamicHostVolumeRegistrationCapabilityArgs',
|
64
|
+
'DynamicHostVolumeRegistrationCapabilityArgsDict',
|
65
|
+
'DynamicHostVolumeRegistrationConstraintArgs',
|
66
|
+
'DynamicHostVolumeRegistrationConstraintArgsDict',
|
55
67
|
'ExternalVolumeCapabilityArgs',
|
56
68
|
'ExternalVolumeCapabilityArgsDict',
|
57
69
|
'ExternalVolumeMountOptionsArgs',
|
@@ -166,6 +178,13 @@ if not MYPY:
|
|
166
178
|
`(string: <optional>)` - Duration of leeway when validating
|
167
179
|
not before values of a token in the form of a time duration such as "5m" or "1h".
|
168
180
|
"""
|
181
|
+
oidc_client_assertion: NotRequired[pulumi.Input['AclAuthMethodConfigOidcClientAssertionArgsDict']]
|
182
|
+
"""
|
183
|
+
`(OIDCClientAssertion: <optional>)` - Optionally
|
184
|
+
send a signed JWT ("[private key jwt][]") as a client assertion to the OIDC
|
185
|
+
provider. Browse to the [OIDC concepts][concepts-assertions] page to learn
|
186
|
+
more.
|
187
|
+
"""
|
169
188
|
oidc_client_id: NotRequired[pulumi.Input[builtins.str]]
|
170
189
|
"""
|
171
190
|
`(string: <optional>)` - The OAuth Client ID configured
|
@@ -188,6 +207,12 @@ if not MYPY:
|
|
188
207
|
`(string: <optional>)` - The OIDC Discovery URL,
|
189
208
|
without any .well-known component (base path).
|
190
209
|
"""
|
210
|
+
oidc_enable_pkce: NotRequired[pulumi.Input[builtins.bool]]
|
211
|
+
"""
|
212
|
+
`(bool: false)` - When set to `true`, Nomad will include
|
213
|
+
[PKCE][] verification in the auth flow. Even with PKCE enabled in Nomad,
|
214
|
+
you may still need to enable it in your OIDC provider.
|
215
|
+
"""
|
191
216
|
oidc_scopes: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
|
192
217
|
"""
|
193
218
|
`([]string: <optional>)` - List of OIDC scopes.
|
@@ -197,6 +222,10 @@ if not MYPY:
|
|
197
222
|
`([]string: <optional>)` - A list of supported signing
|
198
223
|
algorithms.
|
199
224
|
"""
|
225
|
+
verbose_logging: NotRequired[pulumi.Input[builtins.bool]]
|
226
|
+
"""
|
227
|
+
Enable OIDC verbose logging on the Nomad server.
|
228
|
+
"""
|
200
229
|
elif False:
|
201
230
|
AclAuthMethodConfigArgsDict: TypeAlias = Mapping[str, Any]
|
202
231
|
|
@@ -215,12 +244,15 @@ class AclAuthMethodConfigArgs:
|
|
215
244
|
jwt_validation_pub_keys: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
216
245
|
list_claim_mappings: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
217
246
|
not_before_leeway: Optional[pulumi.Input[builtins.str]] = None,
|
247
|
+
oidc_client_assertion: Optional[pulumi.Input['AclAuthMethodConfigOidcClientAssertionArgs']] = None,
|
218
248
|
oidc_client_id: Optional[pulumi.Input[builtins.str]] = None,
|
219
249
|
oidc_client_secret: Optional[pulumi.Input[builtins.str]] = None,
|
220
250
|
oidc_disable_userinfo: Optional[pulumi.Input[builtins.bool]] = None,
|
221
251
|
oidc_discovery_url: Optional[pulumi.Input[builtins.str]] = None,
|
252
|
+
oidc_enable_pkce: Optional[pulumi.Input[builtins.bool]] = None,
|
222
253
|
oidc_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
223
|
-
signing_algs: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None
|
254
|
+
signing_algs: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
255
|
+
verbose_logging: Optional[pulumi.Input[builtins.bool]] = None):
|
224
256
|
"""
|
225
257
|
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] allowed_redirect_uris: `([]string: <optional>)` - A list of allowed values
|
226
258
|
that can be used for the redirect URI.
|
@@ -244,6 +276,10 @@ class AclAuthMethodConfigArgs:
|
|
244
276
|
:param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] list_claim_mappings: Mappings of list claims (key) that will be copied to a metadata field (value).
|
245
277
|
:param pulumi.Input[builtins.str] not_before_leeway: `(string: <optional>)` - Duration of leeway when validating
|
246
278
|
not before values of a token in the form of a time duration such as "5m" or "1h".
|
279
|
+
:param pulumi.Input['AclAuthMethodConfigOidcClientAssertionArgs'] oidc_client_assertion: `(OIDCClientAssertion: <optional>)` - Optionally
|
280
|
+
send a signed JWT ("[private key jwt][]") as a client assertion to the OIDC
|
281
|
+
provider. Browse to the [OIDC concepts][concepts-assertions] page to learn
|
282
|
+
more.
|
247
283
|
:param pulumi.Input[builtins.str] oidc_client_id: `(string: <optional>)` - The OAuth Client ID configured
|
248
284
|
with the OIDC provider.
|
249
285
|
:param pulumi.Input[builtins.str] oidc_client_secret: `(string: <optional>)` - The OAuth Client Secret
|
@@ -254,9 +290,13 @@ class AclAuthMethodConfigArgs:
|
|
254
290
|
additional claims from the `UserInfo` endpoint.
|
255
291
|
:param pulumi.Input[builtins.str] oidc_discovery_url: `(string: <optional>)` - The OIDC Discovery URL,
|
256
292
|
without any .well-known component (base path).
|
293
|
+
:param pulumi.Input[builtins.bool] oidc_enable_pkce: `(bool: false)` - When set to `true`, Nomad will include
|
294
|
+
[PKCE][] verification in the auth flow. Even with PKCE enabled in Nomad,
|
295
|
+
you may still need to enable it in your OIDC provider.
|
257
296
|
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] oidc_scopes: `([]string: <optional>)` - List of OIDC scopes.
|
258
297
|
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] signing_algs: `([]string: <optional>)` - A list of supported signing
|
259
298
|
algorithms.
|
299
|
+
:param pulumi.Input[builtins.bool] verbose_logging: Enable OIDC verbose logging on the Nomad server.
|
260
300
|
"""
|
261
301
|
if allowed_redirect_uris is not None:
|
262
302
|
pulumi.set(__self__, "allowed_redirect_uris", allowed_redirect_uris)
|
@@ -282,6 +322,8 @@ class AclAuthMethodConfigArgs:
|
|
282
322
|
pulumi.set(__self__, "list_claim_mappings", list_claim_mappings)
|
283
323
|
if not_before_leeway is not None:
|
284
324
|
pulumi.set(__self__, "not_before_leeway", not_before_leeway)
|
325
|
+
if oidc_client_assertion is not None:
|
326
|
+
pulumi.set(__self__, "oidc_client_assertion", oidc_client_assertion)
|
285
327
|
if oidc_client_id is not None:
|
286
328
|
pulumi.set(__self__, "oidc_client_id", oidc_client_id)
|
287
329
|
if oidc_client_secret is not None:
|
@@ -290,10 +332,14 @@ class AclAuthMethodConfigArgs:
|
|
290
332
|
pulumi.set(__self__, "oidc_disable_userinfo", oidc_disable_userinfo)
|
291
333
|
if oidc_discovery_url is not None:
|
292
334
|
pulumi.set(__self__, "oidc_discovery_url", oidc_discovery_url)
|
335
|
+
if oidc_enable_pkce is not None:
|
336
|
+
pulumi.set(__self__, "oidc_enable_pkce", oidc_enable_pkce)
|
293
337
|
if oidc_scopes is not None:
|
294
338
|
pulumi.set(__self__, "oidc_scopes", oidc_scopes)
|
295
339
|
if signing_algs is not None:
|
296
340
|
pulumi.set(__self__, "signing_algs", signing_algs)
|
341
|
+
if verbose_logging is not None:
|
342
|
+
pulumi.set(__self__, "verbose_logging", verbose_logging)
|
297
343
|
|
298
344
|
@property
|
299
345
|
@pulumi.getter(name="allowedRedirectUris")
|
@@ -449,6 +495,21 @@ class AclAuthMethodConfigArgs:
|
|
449
495
|
def not_before_leeway(self, value: Optional[pulumi.Input[builtins.str]]):
|
450
496
|
pulumi.set(self, "not_before_leeway", value)
|
451
497
|
|
498
|
+
@property
|
499
|
+
@pulumi.getter(name="oidcClientAssertion")
|
500
|
+
def oidc_client_assertion(self) -> Optional[pulumi.Input['AclAuthMethodConfigOidcClientAssertionArgs']]:
|
501
|
+
"""
|
502
|
+
`(OIDCClientAssertion: <optional>)` - Optionally
|
503
|
+
send a signed JWT ("[private key jwt][]") as a client assertion to the OIDC
|
504
|
+
provider. Browse to the [OIDC concepts][concepts-assertions] page to learn
|
505
|
+
more.
|
506
|
+
"""
|
507
|
+
return pulumi.get(self, "oidc_client_assertion")
|
508
|
+
|
509
|
+
@oidc_client_assertion.setter
|
510
|
+
def oidc_client_assertion(self, value: Optional[pulumi.Input['AclAuthMethodConfigOidcClientAssertionArgs']]):
|
511
|
+
pulumi.set(self, "oidc_client_assertion", value)
|
512
|
+
|
452
513
|
@property
|
453
514
|
@pulumi.getter(name="oidcClientId")
|
454
515
|
def oidc_client_id(self) -> Optional[pulumi.Input[builtins.str]]:
|
@@ -503,6 +564,20 @@ class AclAuthMethodConfigArgs:
|
|
503
564
|
def oidc_discovery_url(self, value: Optional[pulumi.Input[builtins.str]]):
|
504
565
|
pulumi.set(self, "oidc_discovery_url", value)
|
505
566
|
|
567
|
+
@property
|
568
|
+
@pulumi.getter(name="oidcEnablePkce")
|
569
|
+
def oidc_enable_pkce(self) -> Optional[pulumi.Input[builtins.bool]]:
|
570
|
+
"""
|
571
|
+
`(bool: false)` - When set to `true`, Nomad will include
|
572
|
+
[PKCE][] verification in the auth flow. Even with PKCE enabled in Nomad,
|
573
|
+
you may still need to enable it in your OIDC provider.
|
574
|
+
"""
|
575
|
+
return pulumi.get(self, "oidc_enable_pkce")
|
576
|
+
|
577
|
+
@oidc_enable_pkce.setter
|
578
|
+
def oidc_enable_pkce(self, value: Optional[pulumi.Input[builtins.bool]]):
|
579
|
+
pulumi.set(self, "oidc_enable_pkce", value)
|
580
|
+
|
506
581
|
@property
|
507
582
|
@pulumi.getter(name="oidcScopes")
|
508
583
|
def oidc_scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
|
@@ -528,6 +603,354 @@ class AclAuthMethodConfigArgs:
|
|
528
603
|
def signing_algs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
|
529
604
|
pulumi.set(self, "signing_algs", value)
|
530
605
|
|
606
|
+
@property
|
607
|
+
@pulumi.getter(name="verboseLogging")
|
608
|
+
def verbose_logging(self) -> Optional[pulumi.Input[builtins.bool]]:
|
609
|
+
"""
|
610
|
+
Enable OIDC verbose logging on the Nomad server.
|
611
|
+
"""
|
612
|
+
return pulumi.get(self, "verbose_logging")
|
613
|
+
|
614
|
+
@verbose_logging.setter
|
615
|
+
def verbose_logging(self, value: Optional[pulumi.Input[builtins.bool]]):
|
616
|
+
pulumi.set(self, "verbose_logging", value)
|
617
|
+
|
618
|
+
|
619
|
+
if not MYPY:
|
620
|
+
class AclAuthMethodConfigOidcClientAssertionArgsDict(TypedDict):
|
621
|
+
key_source: pulumi.Input[builtins.str]
|
622
|
+
"""
|
623
|
+
`(string: <required>)` - Specifies where to get the private
|
624
|
+
key to sign the JWT.
|
625
|
+
Available sources:
|
626
|
+
- "nomad": Use current active key in Nomad's keyring
|
627
|
+
- "private_key": Use key material in the `private_key` field
|
628
|
+
- "client_secret": Use the `oidc_client_secret` as an HMAC key
|
629
|
+
"""
|
630
|
+
audiences: NotRequired[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]
|
631
|
+
"""
|
632
|
+
`([]string: optional)` - Who processes the assertion.
|
633
|
+
Defaults to the auth method's `oidc_discovery_url`.
|
634
|
+
"""
|
635
|
+
extra_headers: NotRequired[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]
|
636
|
+
"""
|
637
|
+
`(map[string]string: optional)` - Add to the JWT headers,
|
638
|
+
alongside "kid" and "type". Setting the "kid" header here is not allowed;
|
639
|
+
use `private_key.key_id`.
|
640
|
+
"""
|
641
|
+
key_algorithm: NotRequired[pulumi.Input[builtins.str]]
|
642
|
+
"""
|
643
|
+
`(string: <optional>)` is the key's algorithm.
|
644
|
+
Its default values are based on the `key_source`:
|
645
|
+
- "nomad": "RS256"; this is from Nomad's keyring and must not be changed
|
646
|
+
- "private_key": "RS256"; must be RS256, RS384, or RS512
|
647
|
+
- "client_secret": "HS256"; must be HS256, HS384, or HS512
|
648
|
+
"""
|
649
|
+
private_key: NotRequired[pulumi.Input['AclAuthMethodConfigOidcClientAssertionPrivateKeyArgsDict']]
|
650
|
+
"""
|
651
|
+
`(OIDCClientAssertionKey: <optional>)` - External key
|
652
|
+
to sign the JWT. `key_source` must be "private_key" to enable this.
|
653
|
+
"""
|
654
|
+
elif False:
|
655
|
+
AclAuthMethodConfigOidcClientAssertionArgsDict: TypeAlias = Mapping[str, Any]
|
656
|
+
|
657
|
+
@pulumi.input_type
|
658
|
+
class AclAuthMethodConfigOidcClientAssertionArgs:
|
659
|
+
def __init__(__self__, *,
|
660
|
+
key_source: pulumi.Input[builtins.str],
|
661
|
+
audiences: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]] = None,
|
662
|
+
extra_headers: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]] = None,
|
663
|
+
key_algorithm: Optional[pulumi.Input[builtins.str]] = None,
|
664
|
+
private_key: Optional[pulumi.Input['AclAuthMethodConfigOidcClientAssertionPrivateKeyArgs']] = None):
|
665
|
+
"""
|
666
|
+
:param pulumi.Input[builtins.str] key_source: `(string: <required>)` - Specifies where to get the private
|
667
|
+
key to sign the JWT.
|
668
|
+
Available sources:
|
669
|
+
- "nomad": Use current active key in Nomad's keyring
|
670
|
+
- "private_key": Use key material in the `private_key` field
|
671
|
+
- "client_secret": Use the `oidc_client_secret` as an HMAC key
|
672
|
+
:param pulumi.Input[Sequence[pulumi.Input[builtins.str]]] audiences: `([]string: optional)` - Who processes the assertion.
|
673
|
+
Defaults to the auth method's `oidc_discovery_url`.
|
674
|
+
:param pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]] extra_headers: `(map[string]string: optional)` - Add to the JWT headers,
|
675
|
+
alongside "kid" and "type". Setting the "kid" header here is not allowed;
|
676
|
+
use `private_key.key_id`.
|
677
|
+
:param pulumi.Input[builtins.str] key_algorithm: `(string: <optional>)` is the key's algorithm.
|
678
|
+
Its default values are based on the `key_source`:
|
679
|
+
- "nomad": "RS256"; this is from Nomad's keyring and must not be changed
|
680
|
+
- "private_key": "RS256"; must be RS256, RS384, or RS512
|
681
|
+
- "client_secret": "HS256"; must be HS256, HS384, or HS512
|
682
|
+
:param pulumi.Input['AclAuthMethodConfigOidcClientAssertionPrivateKeyArgs'] private_key: `(OIDCClientAssertionKey: <optional>)` - External key
|
683
|
+
to sign the JWT. `key_source` must be "private_key" to enable this.
|
684
|
+
"""
|
685
|
+
pulumi.set(__self__, "key_source", key_source)
|
686
|
+
if audiences is not None:
|
687
|
+
pulumi.set(__self__, "audiences", audiences)
|
688
|
+
if extra_headers is not None:
|
689
|
+
pulumi.set(__self__, "extra_headers", extra_headers)
|
690
|
+
if key_algorithm is not None:
|
691
|
+
pulumi.set(__self__, "key_algorithm", key_algorithm)
|
692
|
+
if private_key is not None:
|
693
|
+
pulumi.set(__self__, "private_key", private_key)
|
694
|
+
|
695
|
+
@property
|
696
|
+
@pulumi.getter(name="keySource")
|
697
|
+
def key_source(self) -> pulumi.Input[builtins.str]:
|
698
|
+
"""
|
699
|
+
`(string: <required>)` - Specifies where to get the private
|
700
|
+
key to sign the JWT.
|
701
|
+
Available sources:
|
702
|
+
- "nomad": Use current active key in Nomad's keyring
|
703
|
+
- "private_key": Use key material in the `private_key` field
|
704
|
+
- "client_secret": Use the `oidc_client_secret` as an HMAC key
|
705
|
+
"""
|
706
|
+
return pulumi.get(self, "key_source")
|
707
|
+
|
708
|
+
@key_source.setter
|
709
|
+
def key_source(self, value: pulumi.Input[builtins.str]):
|
710
|
+
pulumi.set(self, "key_source", value)
|
711
|
+
|
712
|
+
@property
|
713
|
+
@pulumi.getter
|
714
|
+
def audiences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]:
|
715
|
+
"""
|
716
|
+
`([]string: optional)` - Who processes the assertion.
|
717
|
+
Defaults to the auth method's `oidc_discovery_url`.
|
718
|
+
"""
|
719
|
+
return pulumi.get(self, "audiences")
|
720
|
+
|
721
|
+
@audiences.setter
|
722
|
+
def audiences(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[builtins.str]]]]):
|
723
|
+
pulumi.set(self, "audiences", value)
|
724
|
+
|
725
|
+
@property
|
726
|
+
@pulumi.getter(name="extraHeaders")
|
727
|
+
def extra_headers(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]:
|
728
|
+
"""
|
729
|
+
`(map[string]string: optional)` - Add to the JWT headers,
|
730
|
+
alongside "kid" and "type". Setting the "kid" header here is not allowed;
|
731
|
+
use `private_key.key_id`.
|
732
|
+
"""
|
733
|
+
return pulumi.get(self, "extra_headers")
|
734
|
+
|
735
|
+
@extra_headers.setter
|
736
|
+
def extra_headers(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[builtins.str]]]]):
|
737
|
+
pulumi.set(self, "extra_headers", value)
|
738
|
+
|
739
|
+
@property
|
740
|
+
@pulumi.getter(name="keyAlgorithm")
|
741
|
+
def key_algorithm(self) -> Optional[pulumi.Input[builtins.str]]:
|
742
|
+
"""
|
743
|
+
`(string: <optional>)` is the key's algorithm.
|
744
|
+
Its default values are based on the `key_source`:
|
745
|
+
- "nomad": "RS256"; this is from Nomad's keyring and must not be changed
|
746
|
+
- "private_key": "RS256"; must be RS256, RS384, or RS512
|
747
|
+
- "client_secret": "HS256"; must be HS256, HS384, or HS512
|
748
|
+
"""
|
749
|
+
return pulumi.get(self, "key_algorithm")
|
750
|
+
|
751
|
+
@key_algorithm.setter
|
752
|
+
def key_algorithm(self, value: Optional[pulumi.Input[builtins.str]]):
|
753
|
+
pulumi.set(self, "key_algorithm", value)
|
754
|
+
|
755
|
+
@property
|
756
|
+
@pulumi.getter(name="privateKey")
|
757
|
+
def private_key(self) -> Optional[pulumi.Input['AclAuthMethodConfigOidcClientAssertionPrivateKeyArgs']]:
|
758
|
+
"""
|
759
|
+
`(OIDCClientAssertionKey: <optional>)` - External key
|
760
|
+
to sign the JWT. `key_source` must be "private_key" to enable this.
|
761
|
+
"""
|
762
|
+
return pulumi.get(self, "private_key")
|
763
|
+
|
764
|
+
@private_key.setter
|
765
|
+
def private_key(self, value: Optional[pulumi.Input['AclAuthMethodConfigOidcClientAssertionPrivateKeyArgs']]):
|
766
|
+
pulumi.set(self, "private_key", value)
|
767
|
+
|
768
|
+
|
769
|
+
if not MYPY:
|
770
|
+
class AclAuthMethodConfigOidcClientAssertionPrivateKeyArgsDict(TypedDict):
|
771
|
+
key_id: NotRequired[pulumi.Input[builtins.str]]
|
772
|
+
"""
|
773
|
+
`(string: optional)` - Becomes the JWT's "kid" header.
|
774
|
+
Mutually exclusive with `pem_cert` and `pem_cert_file`.
|
775
|
+
Allowed `key_id_header` values: "kid" (the default)
|
776
|
+
"""
|
777
|
+
key_id_header: NotRequired[pulumi.Input[builtins.str]]
|
778
|
+
"""
|
779
|
+
`(string: optional)` - Which header the provider uses
|
780
|
+
to find the public key to verify the signed JWT.
|
781
|
+
The default and allowed values depend on whether you set `key_id`,
|
782
|
+
`pem_cert`, or `pem_cert_file`. You must set exactly one of those
|
783
|
+
options, so refer to them for their requirements.
|
784
|
+
"""
|
785
|
+
pem_cert: NotRequired[pulumi.Input[builtins.str]]
|
786
|
+
"""
|
787
|
+
`(string: optional)` - An x509 certificate, signed by the
|
788
|
+
private key or a CA, in pem format. Nomad uses this certificate to
|
789
|
+
derive an [x5t#S256][] (or [x5t][]) key_id.
|
790
|
+
Mutually exclusive with `pem_cert_file` and `key_id`.
|
791
|
+
Allowed `key_id_header` values: "x5t", "x5t#S256" (default "x5t#S256")
|
792
|
+
"""
|
793
|
+
pem_cert_file: NotRequired[pulumi.Input[builtins.str]]
|
794
|
+
"""
|
795
|
+
`(string: optional)` - An absolute path to an x509
|
796
|
+
certificate on Nomad servers' disk, signed by the private key or a CA,
|
797
|
+
in pem format.
|
798
|
+
Nomad uses this certificate to derive an [x5t#S256][] (or [x5t][])
|
799
|
+
header. Mutually exclusive with `pem_cert` and key_id.
|
800
|
+
Allowed `key_id_header` values: "x5t", "x5t#S256" (default "x5t#S256")
|
801
|
+
"""
|
802
|
+
pem_key: NotRequired[pulumi.Input[builtins.str]]
|
803
|
+
"""
|
804
|
+
`(string: <optional>)` - An RSA private key, in pem format.
|
805
|
+
It is used to sign the JWT. Mutually exclusive with `pem_key`.
|
806
|
+
"""
|
807
|
+
pem_key_file: NotRequired[pulumi.Input[builtins.str]]
|
808
|
+
"""
|
809
|
+
`(string: optional)` - An absolute path to a private key
|
810
|
+
on Nomad servers' disk, in pem format. It is used to sign the JWT.
|
811
|
+
Mutually exclusive with `pem_key_file`.
|
812
|
+
"""
|
813
|
+
elif False:
|
814
|
+
AclAuthMethodConfigOidcClientAssertionPrivateKeyArgsDict: TypeAlias = Mapping[str, Any]
|
815
|
+
|
816
|
+
@pulumi.input_type
|
817
|
+
class AclAuthMethodConfigOidcClientAssertionPrivateKeyArgs:
|
818
|
+
def __init__(__self__, *,
|
819
|
+
key_id: Optional[pulumi.Input[builtins.str]] = None,
|
820
|
+
key_id_header: Optional[pulumi.Input[builtins.str]] = None,
|
821
|
+
pem_cert: Optional[pulumi.Input[builtins.str]] = None,
|
822
|
+
pem_cert_file: Optional[pulumi.Input[builtins.str]] = None,
|
823
|
+
pem_key: Optional[pulumi.Input[builtins.str]] = None,
|
824
|
+
pem_key_file: Optional[pulumi.Input[builtins.str]] = None):
|
825
|
+
"""
|
826
|
+
:param pulumi.Input[builtins.str] key_id: `(string: optional)` - Becomes the JWT's "kid" header.
|
827
|
+
Mutually exclusive with `pem_cert` and `pem_cert_file`.
|
828
|
+
Allowed `key_id_header` values: "kid" (the default)
|
829
|
+
:param pulumi.Input[builtins.str] key_id_header: `(string: optional)` - Which header the provider uses
|
830
|
+
to find the public key to verify the signed JWT.
|
831
|
+
The default and allowed values depend on whether you set `key_id`,
|
832
|
+
`pem_cert`, or `pem_cert_file`. You must set exactly one of those
|
833
|
+
options, so refer to them for their requirements.
|
834
|
+
:param pulumi.Input[builtins.str] pem_cert: `(string: optional)` - An x509 certificate, signed by the
|
835
|
+
private key or a CA, in pem format. Nomad uses this certificate to
|
836
|
+
derive an [x5t#S256][] (or [x5t][]) key_id.
|
837
|
+
Mutually exclusive with `pem_cert_file` and `key_id`.
|
838
|
+
Allowed `key_id_header` values: "x5t", "x5t#S256" (default "x5t#S256")
|
839
|
+
:param pulumi.Input[builtins.str] pem_cert_file: `(string: optional)` - An absolute path to an x509
|
840
|
+
certificate on Nomad servers' disk, signed by the private key or a CA,
|
841
|
+
in pem format.
|
842
|
+
Nomad uses this certificate to derive an [x5t#S256][] (or [x5t][])
|
843
|
+
header. Mutually exclusive with `pem_cert` and key_id.
|
844
|
+
Allowed `key_id_header` values: "x5t", "x5t#S256" (default "x5t#S256")
|
845
|
+
:param pulumi.Input[builtins.str] pem_key: `(string: <optional>)` - An RSA private key, in pem format.
|
846
|
+
It is used to sign the JWT. Mutually exclusive with `pem_key`.
|
847
|
+
:param pulumi.Input[builtins.str] pem_key_file: `(string: optional)` - An absolute path to a private key
|
848
|
+
on Nomad servers' disk, in pem format. It is used to sign the JWT.
|
849
|
+
Mutually exclusive with `pem_key_file`.
|
850
|
+
"""
|
851
|
+
if key_id is not None:
|
852
|
+
pulumi.set(__self__, "key_id", key_id)
|
853
|
+
if key_id_header is not None:
|
854
|
+
pulumi.set(__self__, "key_id_header", key_id_header)
|
855
|
+
if pem_cert is not None:
|
856
|
+
pulumi.set(__self__, "pem_cert", pem_cert)
|
857
|
+
if pem_cert_file is not None:
|
858
|
+
pulumi.set(__self__, "pem_cert_file", pem_cert_file)
|
859
|
+
if pem_key is not None:
|
860
|
+
pulumi.set(__self__, "pem_key", pem_key)
|
861
|
+
if pem_key_file is not None:
|
862
|
+
pulumi.set(__self__, "pem_key_file", pem_key_file)
|
863
|
+
|
864
|
+
@property
|
865
|
+
@pulumi.getter(name="keyId")
|
866
|
+
def key_id(self) -> Optional[pulumi.Input[builtins.str]]:
|
867
|
+
"""
|
868
|
+
`(string: optional)` - Becomes the JWT's "kid" header.
|
869
|
+
Mutually exclusive with `pem_cert` and `pem_cert_file`.
|
870
|
+
Allowed `key_id_header` values: "kid" (the default)
|
871
|
+
"""
|
872
|
+
return pulumi.get(self, "key_id")
|
873
|
+
|
874
|
+
@key_id.setter
|
875
|
+
def key_id(self, value: Optional[pulumi.Input[builtins.str]]):
|
876
|
+
pulumi.set(self, "key_id", value)
|
877
|
+
|
878
|
+
@property
|
879
|
+
@pulumi.getter(name="keyIdHeader")
|
880
|
+
def key_id_header(self) -> Optional[pulumi.Input[builtins.str]]:
|
881
|
+
"""
|
882
|
+
`(string: optional)` - Which header the provider uses
|
883
|
+
to find the public key to verify the signed JWT.
|
884
|
+
The default and allowed values depend on whether you set `key_id`,
|
885
|
+
`pem_cert`, or `pem_cert_file`. You must set exactly one of those
|
886
|
+
options, so refer to them for their requirements.
|
887
|
+
"""
|
888
|
+
return pulumi.get(self, "key_id_header")
|
889
|
+
|
890
|
+
@key_id_header.setter
|
891
|
+
def key_id_header(self, value: Optional[pulumi.Input[builtins.str]]):
|
892
|
+
pulumi.set(self, "key_id_header", value)
|
893
|
+
|
894
|
+
@property
|
895
|
+
@pulumi.getter(name="pemCert")
|
896
|
+
def pem_cert(self) -> Optional[pulumi.Input[builtins.str]]:
|
897
|
+
"""
|
898
|
+
`(string: optional)` - An x509 certificate, signed by the
|
899
|
+
private key or a CA, in pem format. Nomad uses this certificate to
|
900
|
+
derive an [x5t#S256][] (or [x5t][]) key_id.
|
901
|
+
Mutually exclusive with `pem_cert_file` and `key_id`.
|
902
|
+
Allowed `key_id_header` values: "x5t", "x5t#S256" (default "x5t#S256")
|
903
|
+
"""
|
904
|
+
return pulumi.get(self, "pem_cert")
|
905
|
+
|
906
|
+
@pem_cert.setter
|
907
|
+
def pem_cert(self, value: Optional[pulumi.Input[builtins.str]]):
|
908
|
+
pulumi.set(self, "pem_cert", value)
|
909
|
+
|
910
|
+
@property
|
911
|
+
@pulumi.getter(name="pemCertFile")
|
912
|
+
def pem_cert_file(self) -> Optional[pulumi.Input[builtins.str]]:
|
913
|
+
"""
|
914
|
+
`(string: optional)` - An absolute path to an x509
|
915
|
+
certificate on Nomad servers' disk, signed by the private key or a CA,
|
916
|
+
in pem format.
|
917
|
+
Nomad uses this certificate to derive an [x5t#S256][] (or [x5t][])
|
918
|
+
header. Mutually exclusive with `pem_cert` and key_id.
|
919
|
+
Allowed `key_id_header` values: "x5t", "x5t#S256" (default "x5t#S256")
|
920
|
+
"""
|
921
|
+
return pulumi.get(self, "pem_cert_file")
|
922
|
+
|
923
|
+
@pem_cert_file.setter
|
924
|
+
def pem_cert_file(self, value: Optional[pulumi.Input[builtins.str]]):
|
925
|
+
pulumi.set(self, "pem_cert_file", value)
|
926
|
+
|
927
|
+
@property
|
928
|
+
@pulumi.getter(name="pemKey")
|
929
|
+
def pem_key(self) -> Optional[pulumi.Input[builtins.str]]:
|
930
|
+
"""
|
931
|
+
`(string: <optional>)` - An RSA private key, in pem format.
|
932
|
+
It is used to sign the JWT. Mutually exclusive with `pem_key`.
|
933
|
+
"""
|
934
|
+
return pulumi.get(self, "pem_key")
|
935
|
+
|
936
|
+
@pem_key.setter
|
937
|
+
def pem_key(self, value: Optional[pulumi.Input[builtins.str]]):
|
938
|
+
pulumi.set(self, "pem_key", value)
|
939
|
+
|
940
|
+
@property
|
941
|
+
@pulumi.getter(name="pemKeyFile")
|
942
|
+
def pem_key_file(self) -> Optional[pulumi.Input[builtins.str]]:
|
943
|
+
"""
|
944
|
+
`(string: optional)` - An absolute path to a private key
|
945
|
+
on Nomad servers' disk, in pem format. It is used to sign the JWT.
|
946
|
+
Mutually exclusive with `pem_key_file`.
|
947
|
+
"""
|
948
|
+
return pulumi.get(self, "pem_key_file")
|
949
|
+
|
950
|
+
@pem_key_file.setter
|
951
|
+
def pem_key_file(self, value: Optional[pulumi.Input[builtins.str]]):
|
952
|
+
pulumi.set(self, "pem_key_file", value)
|
953
|
+
|
531
954
|
|
532
955
|
if not MYPY:
|
533
956
|
class AclPolicyJobAclArgsDict(TypedDict):
|
@@ -1300,6 +1723,260 @@ class CsiVolumeTopologyRequestRequiredTopologyArgs:
|
|
1300
1723
|
pulumi.set(self, "segments", value)
|
1301
1724
|
|
1302
1725
|
|
1726
|
+
if not MYPY:
|
1727
|
+
class DynamicHostVolumeCapabilityArgsDict(TypedDict):
|
1728
|
+
access_mode: pulumi.Input[builtins.str]
|
1729
|
+
"""
|
1730
|
+
`(string)` - How the volume can be mounted by
|
1731
|
+
allocations. Refer to the [`access_mode`][] documentation for details.
|
1732
|
+
"""
|
1733
|
+
attachment_mode: pulumi.Input[builtins.str]
|
1734
|
+
"""
|
1735
|
+
`(string)` - The storage API that will be used by the
|
1736
|
+
volume. Refer to the [`attachment_mode`][] documentation.
|
1737
|
+
"""
|
1738
|
+
elif False:
|
1739
|
+
DynamicHostVolumeCapabilityArgsDict: TypeAlias = Mapping[str, Any]
|
1740
|
+
|
1741
|
+
@pulumi.input_type
|
1742
|
+
class DynamicHostVolumeCapabilityArgs:
|
1743
|
+
def __init__(__self__, *,
|
1744
|
+
access_mode: pulumi.Input[builtins.str],
|
1745
|
+
attachment_mode: pulumi.Input[builtins.str]):
|
1746
|
+
"""
|
1747
|
+
:param pulumi.Input[builtins.str] access_mode: `(string)` - How the volume can be mounted by
|
1748
|
+
allocations. Refer to the [`access_mode`][] documentation for details.
|
1749
|
+
:param pulumi.Input[builtins.str] attachment_mode: `(string)` - The storage API that will be used by the
|
1750
|
+
volume. Refer to the [`attachment_mode`][] documentation.
|
1751
|
+
"""
|
1752
|
+
pulumi.set(__self__, "access_mode", access_mode)
|
1753
|
+
pulumi.set(__self__, "attachment_mode", attachment_mode)
|
1754
|
+
|
1755
|
+
@property
|
1756
|
+
@pulumi.getter(name="accessMode")
|
1757
|
+
def access_mode(self) -> pulumi.Input[builtins.str]:
|
1758
|
+
"""
|
1759
|
+
`(string)` - How the volume can be mounted by
|
1760
|
+
allocations. Refer to the [`access_mode`][] documentation for details.
|
1761
|
+
"""
|
1762
|
+
return pulumi.get(self, "access_mode")
|
1763
|
+
|
1764
|
+
@access_mode.setter
|
1765
|
+
def access_mode(self, value: pulumi.Input[builtins.str]):
|
1766
|
+
pulumi.set(self, "access_mode", value)
|
1767
|
+
|
1768
|
+
@property
|
1769
|
+
@pulumi.getter(name="attachmentMode")
|
1770
|
+
def attachment_mode(self) -> pulumi.Input[builtins.str]:
|
1771
|
+
"""
|
1772
|
+
`(string)` - The storage API that will be used by the
|
1773
|
+
volume. Refer to the [`attachment_mode`][] documentation.
|
1774
|
+
"""
|
1775
|
+
return pulumi.get(self, "attachment_mode")
|
1776
|
+
|
1777
|
+
@attachment_mode.setter
|
1778
|
+
def attachment_mode(self, value: pulumi.Input[builtins.str]):
|
1779
|
+
pulumi.set(self, "attachment_mode", value)
|
1780
|
+
|
1781
|
+
|
1782
|
+
if not MYPY:
|
1783
|
+
class DynamicHostVolumeConstraintArgsDict(TypedDict):
|
1784
|
+
attribute: pulumi.Input[builtins.str]
|
1785
|
+
"""
|
1786
|
+
`(string)` - The [node attribute][] to check for the constraint.
|
1787
|
+
"""
|
1788
|
+
operator: NotRequired[pulumi.Input[builtins.str]]
|
1789
|
+
"""
|
1790
|
+
`(string)`- The operator to use in the comparison.
|
1791
|
+
"""
|
1792
|
+
value: NotRequired[pulumi.Input[builtins.str]]
|
1793
|
+
"""
|
1794
|
+
`(string)` - The value of the attribute to compare against.
|
1795
|
+
"""
|
1796
|
+
elif False:
|
1797
|
+
DynamicHostVolumeConstraintArgsDict: TypeAlias = Mapping[str, Any]
|
1798
|
+
|
1799
|
+
@pulumi.input_type
|
1800
|
+
class DynamicHostVolumeConstraintArgs:
|
1801
|
+
def __init__(__self__, *,
|
1802
|
+
attribute: pulumi.Input[builtins.str],
|
1803
|
+
operator: Optional[pulumi.Input[builtins.str]] = None,
|
1804
|
+
value: Optional[pulumi.Input[builtins.str]] = None):
|
1805
|
+
"""
|
1806
|
+
:param pulumi.Input[builtins.str] attribute: `(string)` - The [node attribute][] to check for the constraint.
|
1807
|
+
:param pulumi.Input[builtins.str] operator: `(string)`- The operator to use in the comparison.
|
1808
|
+
:param pulumi.Input[builtins.str] value: `(string)` - The value of the attribute to compare against.
|
1809
|
+
"""
|
1810
|
+
pulumi.set(__self__, "attribute", attribute)
|
1811
|
+
if operator is not None:
|
1812
|
+
pulumi.set(__self__, "operator", operator)
|
1813
|
+
if value is not None:
|
1814
|
+
pulumi.set(__self__, "value", value)
|
1815
|
+
|
1816
|
+
@property
|
1817
|
+
@pulumi.getter
|
1818
|
+
def attribute(self) -> pulumi.Input[builtins.str]:
|
1819
|
+
"""
|
1820
|
+
`(string)` - The [node attribute][] to check for the constraint.
|
1821
|
+
"""
|
1822
|
+
return pulumi.get(self, "attribute")
|
1823
|
+
|
1824
|
+
@attribute.setter
|
1825
|
+
def attribute(self, value: pulumi.Input[builtins.str]):
|
1826
|
+
pulumi.set(self, "attribute", value)
|
1827
|
+
|
1828
|
+
@property
|
1829
|
+
@pulumi.getter
|
1830
|
+
def operator(self) -> Optional[pulumi.Input[builtins.str]]:
|
1831
|
+
"""
|
1832
|
+
`(string)`- The operator to use in the comparison.
|
1833
|
+
"""
|
1834
|
+
return pulumi.get(self, "operator")
|
1835
|
+
|
1836
|
+
@operator.setter
|
1837
|
+
def operator(self, value: Optional[pulumi.Input[builtins.str]]):
|
1838
|
+
pulumi.set(self, "operator", value)
|
1839
|
+
|
1840
|
+
@property
|
1841
|
+
@pulumi.getter
|
1842
|
+
def value(self) -> Optional[pulumi.Input[builtins.str]]:
|
1843
|
+
"""
|
1844
|
+
`(string)` - The value of the attribute to compare against.
|
1845
|
+
"""
|
1846
|
+
return pulumi.get(self, "value")
|
1847
|
+
|
1848
|
+
@value.setter
|
1849
|
+
def value(self, value: Optional[pulumi.Input[builtins.str]]):
|
1850
|
+
pulumi.set(self, "value", value)
|
1851
|
+
|
1852
|
+
|
1853
|
+
if not MYPY:
|
1854
|
+
class DynamicHostVolumeRegistrationCapabilityArgsDict(TypedDict):
|
1855
|
+
access_mode: pulumi.Input[builtins.str]
|
1856
|
+
"""
|
1857
|
+
`(string)` - How the volume can be mounted by
|
1858
|
+
allocations. Refer to the [`access_mode`][] documentation for details.
|
1859
|
+
"""
|
1860
|
+
attachment_mode: pulumi.Input[builtins.str]
|
1861
|
+
"""
|
1862
|
+
`(string)` - The storage API that will be used by the
|
1863
|
+
volume. Refer to the [`attachment_mode`][] documentation.
|
1864
|
+
"""
|
1865
|
+
elif False:
|
1866
|
+
DynamicHostVolumeRegistrationCapabilityArgsDict: TypeAlias = Mapping[str, Any]
|
1867
|
+
|
1868
|
+
@pulumi.input_type
|
1869
|
+
class DynamicHostVolumeRegistrationCapabilityArgs:
|
1870
|
+
def __init__(__self__, *,
|
1871
|
+
access_mode: pulumi.Input[builtins.str],
|
1872
|
+
attachment_mode: pulumi.Input[builtins.str]):
|
1873
|
+
"""
|
1874
|
+
:param pulumi.Input[builtins.str] access_mode: `(string)` - How the volume can be mounted by
|
1875
|
+
allocations. Refer to the [`access_mode`][] documentation for details.
|
1876
|
+
:param pulumi.Input[builtins.str] attachment_mode: `(string)` - The storage API that will be used by the
|
1877
|
+
volume. Refer to the [`attachment_mode`][] documentation.
|
1878
|
+
"""
|
1879
|
+
pulumi.set(__self__, "access_mode", access_mode)
|
1880
|
+
pulumi.set(__self__, "attachment_mode", attachment_mode)
|
1881
|
+
|
1882
|
+
@property
|
1883
|
+
@pulumi.getter(name="accessMode")
|
1884
|
+
def access_mode(self) -> pulumi.Input[builtins.str]:
|
1885
|
+
"""
|
1886
|
+
`(string)` - How the volume can be mounted by
|
1887
|
+
allocations. Refer to the [`access_mode`][] documentation for details.
|
1888
|
+
"""
|
1889
|
+
return pulumi.get(self, "access_mode")
|
1890
|
+
|
1891
|
+
@access_mode.setter
|
1892
|
+
def access_mode(self, value: pulumi.Input[builtins.str]):
|
1893
|
+
pulumi.set(self, "access_mode", value)
|
1894
|
+
|
1895
|
+
@property
|
1896
|
+
@pulumi.getter(name="attachmentMode")
|
1897
|
+
def attachment_mode(self) -> pulumi.Input[builtins.str]:
|
1898
|
+
"""
|
1899
|
+
`(string)` - The storage API that will be used by the
|
1900
|
+
volume. Refer to the [`attachment_mode`][] documentation.
|
1901
|
+
"""
|
1902
|
+
return pulumi.get(self, "attachment_mode")
|
1903
|
+
|
1904
|
+
@attachment_mode.setter
|
1905
|
+
def attachment_mode(self, value: pulumi.Input[builtins.str]):
|
1906
|
+
pulumi.set(self, "attachment_mode", value)
|
1907
|
+
|
1908
|
+
|
1909
|
+
if not MYPY:
|
1910
|
+
class DynamicHostVolumeRegistrationConstraintArgsDict(TypedDict):
|
1911
|
+
attribute: pulumi.Input[builtins.str]
|
1912
|
+
"""
|
1913
|
+
An attribute to check to constrain volume placement
|
1914
|
+
"""
|
1915
|
+
operator: NotRequired[pulumi.Input[builtins.str]]
|
1916
|
+
"""
|
1917
|
+
The operator to use for comparison
|
1918
|
+
"""
|
1919
|
+
value: NotRequired[pulumi.Input[builtins.str]]
|
1920
|
+
"""
|
1921
|
+
The requested value of the attribute
|
1922
|
+
"""
|
1923
|
+
elif False:
|
1924
|
+
DynamicHostVolumeRegistrationConstraintArgsDict: TypeAlias = Mapping[str, Any]
|
1925
|
+
|
1926
|
+
@pulumi.input_type
|
1927
|
+
class DynamicHostVolumeRegistrationConstraintArgs:
|
1928
|
+
def __init__(__self__, *,
|
1929
|
+
attribute: pulumi.Input[builtins.str],
|
1930
|
+
operator: Optional[pulumi.Input[builtins.str]] = None,
|
1931
|
+
value: Optional[pulumi.Input[builtins.str]] = None):
|
1932
|
+
"""
|
1933
|
+
:param pulumi.Input[builtins.str] attribute: An attribute to check to constrain volume placement
|
1934
|
+
:param pulumi.Input[builtins.str] operator: The operator to use for comparison
|
1935
|
+
:param pulumi.Input[builtins.str] value: The requested value of the attribute
|
1936
|
+
"""
|
1937
|
+
pulumi.set(__self__, "attribute", attribute)
|
1938
|
+
if operator is not None:
|
1939
|
+
pulumi.set(__self__, "operator", operator)
|
1940
|
+
if value is not None:
|
1941
|
+
pulumi.set(__self__, "value", value)
|
1942
|
+
|
1943
|
+
@property
|
1944
|
+
@pulumi.getter
|
1945
|
+
def attribute(self) -> pulumi.Input[builtins.str]:
|
1946
|
+
"""
|
1947
|
+
An attribute to check to constrain volume placement
|
1948
|
+
"""
|
1949
|
+
return pulumi.get(self, "attribute")
|
1950
|
+
|
1951
|
+
@attribute.setter
|
1952
|
+
def attribute(self, value: pulumi.Input[builtins.str]):
|
1953
|
+
pulumi.set(self, "attribute", value)
|
1954
|
+
|
1955
|
+
@property
|
1956
|
+
@pulumi.getter
|
1957
|
+
def operator(self) -> Optional[pulumi.Input[builtins.str]]:
|
1958
|
+
"""
|
1959
|
+
The operator to use for comparison
|
1960
|
+
"""
|
1961
|
+
return pulumi.get(self, "operator")
|
1962
|
+
|
1963
|
+
@operator.setter
|
1964
|
+
def operator(self, value: Optional[pulumi.Input[builtins.str]]):
|
1965
|
+
pulumi.set(self, "operator", value)
|
1966
|
+
|
1967
|
+
@property
|
1968
|
+
@pulumi.getter
|
1969
|
+
def value(self) -> Optional[pulumi.Input[builtins.str]]:
|
1970
|
+
"""
|
1971
|
+
The requested value of the attribute
|
1972
|
+
"""
|
1973
|
+
return pulumi.get(self, "value")
|
1974
|
+
|
1975
|
+
@value.setter
|
1976
|
+
def value(self, value: Optional[pulumi.Input[builtins.str]]):
|
1977
|
+
pulumi.set(self, "value", value)
|
1978
|
+
|
1979
|
+
|
1303
1980
|
if not MYPY:
|
1304
1981
|
class ExternalVolumeCapabilityArgsDict(TypedDict):
|
1305
1982
|
access_mode: pulumi.Input[builtins.str]
|