pulumi-nomad 0.3.1a1675109007__tar.gz → 0.4.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/PKG-INFO +2 -1
  2. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/__init__.py +18 -0
  3. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/_inputs.py +122 -0
  4. pulumi_nomad-0.4.1/pulumi_nomad/acl_auth_method.py +477 -0
  5. pulumi_nomad-0.4.1/pulumi_nomad/acl_binding_rule.py +355 -0
  6. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/outputs.py +117 -0
  7. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad.egg-info/PKG-INFO +2 -1
  8. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad.egg-info/SOURCES.txt +2 -0
  9. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/setup.py +3 -2
  10. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/README.md +0 -0
  11. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/_utilities.py +0 -0
  12. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/acl_policy.py +0 -0
  13. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/acl_role.py +0 -0
  14. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/acl_token.py +0 -0
  15. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/config/__init__.py +0 -0
  16. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/config/outputs.py +0 -0
  17. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/config/vars.py +0 -0
  18. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/external_volume.py +0 -0
  19. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_acl_policies.py +0 -0
  20. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_acl_policy.py +0 -0
  21. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_acl_role.py +0 -0
  22. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_acl_roles.py +0 -0
  23. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_acl_token.py +0 -0
  24. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_acl_tokens.py +0 -0
  25. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_datacenters.py +0 -0
  26. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_deployments.py +0 -0
  27. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_job.py +0 -0
  28. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_job_parser.py +0 -0
  29. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_namespace.py +0 -0
  30. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_namespaces.py +0 -0
  31. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_plugin.py +0 -0
  32. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_plugins.py +0 -0
  33. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_regions.py +0 -0
  34. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_scaling_policies.py +0 -0
  35. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_scaling_policy.py +0 -0
  36. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_scheduler_policy.py +0 -0
  37. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/get_volumes.py +0 -0
  38. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/job.py +0 -0
  39. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/namespace.py +0 -0
  40. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/provider.py +0 -0
  41. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/pulumi-plugin.json +0 -0
  42. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/py.typed +0 -0
  43. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/quote_specification.py +0 -0
  44. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/scheduler_config.py +0 -0
  45. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/sentinel_policy.py +0 -0
  46. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad/volume.py +0 -0
  47. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad.egg-info/dependency_links.txt +0 -0
  48. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad.egg-info/not-zip-safe +0 -0
  49. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad.egg-info/requires.txt +0 -0
  50. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/pulumi_nomad.egg-info/top_level.txt +0 -0
  51. {pulumi_nomad-0.3.1a1675109007 → pulumi_nomad-0.4.1}/setup.cfg +0 -0
@@ -1,12 +1,13 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pulumi_nomad
3
- Version: 0.3.1a1675109007
3
+ Version: 0.4.1
4
4
  Summary: A Pulumi package for creating and managing nomad cloud resources.
5
5
  Home-page: https://pulumi.io
6
6
  License: Apache-2.0
7
7
  Project-URL: Repository, https://github.com/pulumi/pulumi-nomad
8
8
  Keywords: pulumi nomad
9
9
  Platform: UNKNOWN
10
+ Requires-Python: >=3.7
10
11
  Description-Content-Type: text/markdown
11
12
 
12
13
  [![Actions Status](https://github.com/pulumi/pulumi-nomad/workflows/master/badge.svg)](https://github.com/pulumi/pulumi-nomad/actions)
@@ -5,6 +5,8 @@
5
5
  from . import _utilities
6
6
  import typing
7
7
  # Export this package's modules as members:
8
+ from .acl_auth_method import *
9
+ from .acl_binding_rule import *
8
10
  from .acl_policy import *
9
11
  from .acl_role import *
10
12
  from .acl_token import *
@@ -48,6 +50,22 @@ else:
48
50
  _utilities.register(
49
51
  resource_modules="""
50
52
  [
53
+ {
54
+ "pkg": "nomad",
55
+ "mod": "index/aclAuthMethod",
56
+ "fqn": "pulumi_nomad",
57
+ "classes": {
58
+ "nomad:index/aclAuthMethod:AclAuthMethod": "AclAuthMethod"
59
+ }
60
+ },
61
+ {
62
+ "pkg": "nomad",
63
+ "mod": "index/aclBindingRule",
64
+ "fqn": "pulumi_nomad",
65
+ "classes": {
66
+ "nomad:index/aclBindingRule:AclBindingRule": "AclBindingRule"
67
+ }
68
+ },
51
69
  {
52
70
  "pkg": "nomad",
53
71
  "mod": "index/aclPolicy",
@@ -10,6 +10,7 @@ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
10
  from . import _utilities
11
11
 
12
12
  __all__ = [
13
+ 'AclAuthMethodConfigArgs',
13
14
  'AclRolePolicyArgs',
14
15
  'AclTokenRoleArgs',
15
16
  'ExternalVolumeCapabilityArgs',
@@ -37,6 +38,127 @@ __all__ = [
37
38
  'VolumeTopologyRequestRequiredTopologyArgs',
38
39
  ]
39
40
 
41
+ @pulumi.input_type
42
+ class AclAuthMethodConfigArgs:
43
+ def __init__(__self__, *,
44
+ allowed_redirect_uris: pulumi.Input[Sequence[pulumi.Input[str]]],
45
+ oidc_client_id: pulumi.Input[str],
46
+ oidc_client_secret: pulumi.Input[str],
47
+ oidc_discovery_url: pulumi.Input[str],
48
+ bound_audiences: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
49
+ claim_mappings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
50
+ discovery_ca_pems: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
51
+ list_claim_mappings: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
52
+ oidc_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None,
53
+ signing_algs: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]] = None):
54
+ pulumi.set(__self__, "allowed_redirect_uris", allowed_redirect_uris)
55
+ pulumi.set(__self__, "oidc_client_id", oidc_client_id)
56
+ pulumi.set(__self__, "oidc_client_secret", oidc_client_secret)
57
+ pulumi.set(__self__, "oidc_discovery_url", oidc_discovery_url)
58
+ if bound_audiences is not None:
59
+ pulumi.set(__self__, "bound_audiences", bound_audiences)
60
+ if claim_mappings is not None:
61
+ pulumi.set(__self__, "claim_mappings", claim_mappings)
62
+ if discovery_ca_pems is not None:
63
+ pulumi.set(__self__, "discovery_ca_pems", discovery_ca_pems)
64
+ if list_claim_mappings is not None:
65
+ pulumi.set(__self__, "list_claim_mappings", list_claim_mappings)
66
+ if oidc_scopes is not None:
67
+ pulumi.set(__self__, "oidc_scopes", oidc_scopes)
68
+ if signing_algs is not None:
69
+ pulumi.set(__self__, "signing_algs", signing_algs)
70
+
71
+ @property
72
+ @pulumi.getter(name="allowedRedirectUris")
73
+ def allowed_redirect_uris(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
74
+ return pulumi.get(self, "allowed_redirect_uris")
75
+
76
+ @allowed_redirect_uris.setter
77
+ def allowed_redirect_uris(self, value: pulumi.Input[Sequence[pulumi.Input[str]]]):
78
+ pulumi.set(self, "allowed_redirect_uris", value)
79
+
80
+ @property
81
+ @pulumi.getter(name="oidcClientId")
82
+ def oidc_client_id(self) -> pulumi.Input[str]:
83
+ return pulumi.get(self, "oidc_client_id")
84
+
85
+ @oidc_client_id.setter
86
+ def oidc_client_id(self, value: pulumi.Input[str]):
87
+ pulumi.set(self, "oidc_client_id", value)
88
+
89
+ @property
90
+ @pulumi.getter(name="oidcClientSecret")
91
+ def oidc_client_secret(self) -> pulumi.Input[str]:
92
+ return pulumi.get(self, "oidc_client_secret")
93
+
94
+ @oidc_client_secret.setter
95
+ def oidc_client_secret(self, value: pulumi.Input[str]):
96
+ pulumi.set(self, "oidc_client_secret", value)
97
+
98
+ @property
99
+ @pulumi.getter(name="oidcDiscoveryUrl")
100
+ def oidc_discovery_url(self) -> pulumi.Input[str]:
101
+ return pulumi.get(self, "oidc_discovery_url")
102
+
103
+ @oidc_discovery_url.setter
104
+ def oidc_discovery_url(self, value: pulumi.Input[str]):
105
+ pulumi.set(self, "oidc_discovery_url", value)
106
+
107
+ @property
108
+ @pulumi.getter(name="boundAudiences")
109
+ def bound_audiences(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
110
+ return pulumi.get(self, "bound_audiences")
111
+
112
+ @bound_audiences.setter
113
+ def bound_audiences(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
114
+ pulumi.set(self, "bound_audiences", value)
115
+
116
+ @property
117
+ @pulumi.getter(name="claimMappings")
118
+ def claim_mappings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
119
+ return pulumi.get(self, "claim_mappings")
120
+
121
+ @claim_mappings.setter
122
+ def claim_mappings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
123
+ pulumi.set(self, "claim_mappings", value)
124
+
125
+ @property
126
+ @pulumi.getter(name="discoveryCaPems")
127
+ def discovery_ca_pems(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
128
+ return pulumi.get(self, "discovery_ca_pems")
129
+
130
+ @discovery_ca_pems.setter
131
+ def discovery_ca_pems(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
132
+ pulumi.set(self, "discovery_ca_pems", value)
133
+
134
+ @property
135
+ @pulumi.getter(name="listClaimMappings")
136
+ def list_claim_mappings(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]:
137
+ return pulumi.get(self, "list_claim_mappings")
138
+
139
+ @list_claim_mappings.setter
140
+ def list_claim_mappings(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]]):
141
+ pulumi.set(self, "list_claim_mappings", value)
142
+
143
+ @property
144
+ @pulumi.getter(name="oidcScopes")
145
+ def oidc_scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
146
+ return pulumi.get(self, "oidc_scopes")
147
+
148
+ @oidc_scopes.setter
149
+ def oidc_scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
150
+ pulumi.set(self, "oidc_scopes", value)
151
+
152
+ @property
153
+ @pulumi.getter(name="signingAlgs")
154
+ def signing_algs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
155
+ return pulumi.get(self, "signing_algs")
156
+
157
+ @signing_algs.setter
158
+ def signing_algs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]):
159
+ pulumi.set(self, "signing_algs", value)
160
+
161
+
40
162
  @pulumi.input_type
41
163
  class AclRolePolicyArgs:
42
164
  def __init__(__self__, *,
@@ -0,0 +1,477 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import copy
6
+ import warnings
7
+ import pulumi
8
+ import pulumi.runtime
9
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
10
+ from . import _utilities
11
+ from . import outputs
12
+ from ._inputs import *
13
+
14
+ __all__ = ['AclAuthMethodArgs', 'AclAuthMethod']
15
+
16
+ @pulumi.input_type
17
+ class AclAuthMethodArgs:
18
+ def __init__(__self__, *,
19
+ config: pulumi.Input['AclAuthMethodConfigArgs'],
20
+ max_token_ttl: pulumi.Input[str],
21
+ token_locality: pulumi.Input[str],
22
+ type: pulumi.Input[str],
23
+ default: Optional[pulumi.Input[bool]] = None,
24
+ name: Optional[pulumi.Input[str]] = None):
25
+ """
26
+ The set of arguments for constructing a AclAuthMethod resource.
27
+ :param pulumi.Input['AclAuthMethodConfigArgs'] config: Configuration specific to the auth method provider.
28
+ :param pulumi.Input[str] max_token_ttl: `(string: <required>)` - Defines the maximum life of a token
29
+ created by this method and is specified as a time duration such as "15h".
30
+ :param pulumi.Input[str] token_locality: `(string: <required>)` - Defines whether the ACL Auth Method
31
+ creates a local or global token when performing SSO login. This field must be
32
+ set to either `local` or `global`.
33
+ :param pulumi.Input[str] type: `(string: <required>)` - ACL Auth Method SSO workflow type. Currently,
34
+ the only supported type is `OIDC`.
35
+ :param pulumi.Input[bool] default: `(bool: false)` - Defines whether this ACL Auth Method is to be set
36
+ as default.
37
+ :param pulumi.Input[str] name: `(string: <required>)` - The identifier of the ACL Auth Method.
38
+ """
39
+ pulumi.set(__self__, "config", config)
40
+ pulumi.set(__self__, "max_token_ttl", max_token_ttl)
41
+ pulumi.set(__self__, "token_locality", token_locality)
42
+ pulumi.set(__self__, "type", type)
43
+ if default is not None:
44
+ pulumi.set(__self__, "default", default)
45
+ if name is not None:
46
+ pulumi.set(__self__, "name", name)
47
+
48
+ @property
49
+ @pulumi.getter
50
+ def config(self) -> pulumi.Input['AclAuthMethodConfigArgs']:
51
+ """
52
+ Configuration specific to the auth method provider.
53
+ """
54
+ return pulumi.get(self, "config")
55
+
56
+ @config.setter
57
+ def config(self, value: pulumi.Input['AclAuthMethodConfigArgs']):
58
+ pulumi.set(self, "config", value)
59
+
60
+ @property
61
+ @pulumi.getter(name="maxTokenTtl")
62
+ def max_token_ttl(self) -> pulumi.Input[str]:
63
+ """
64
+ `(string: <required>)` - Defines the maximum life of a token
65
+ created by this method and is specified as a time duration such as "15h".
66
+ """
67
+ return pulumi.get(self, "max_token_ttl")
68
+
69
+ @max_token_ttl.setter
70
+ def max_token_ttl(self, value: pulumi.Input[str]):
71
+ pulumi.set(self, "max_token_ttl", value)
72
+
73
+ @property
74
+ @pulumi.getter(name="tokenLocality")
75
+ def token_locality(self) -> pulumi.Input[str]:
76
+ """
77
+ `(string: <required>)` - Defines whether the ACL Auth Method
78
+ creates a local or global token when performing SSO login. This field must be
79
+ set to either `local` or `global`.
80
+ """
81
+ return pulumi.get(self, "token_locality")
82
+
83
+ @token_locality.setter
84
+ def token_locality(self, value: pulumi.Input[str]):
85
+ pulumi.set(self, "token_locality", value)
86
+
87
+ @property
88
+ @pulumi.getter
89
+ def type(self) -> pulumi.Input[str]:
90
+ """
91
+ `(string: <required>)` - ACL Auth Method SSO workflow type. Currently,
92
+ the only supported type is `OIDC`.
93
+ """
94
+ return pulumi.get(self, "type")
95
+
96
+ @type.setter
97
+ def type(self, value: pulumi.Input[str]):
98
+ pulumi.set(self, "type", value)
99
+
100
+ @property
101
+ @pulumi.getter
102
+ def default(self) -> Optional[pulumi.Input[bool]]:
103
+ """
104
+ `(bool: false)` - Defines whether this ACL Auth Method is to be set
105
+ as default.
106
+ """
107
+ return pulumi.get(self, "default")
108
+
109
+ @default.setter
110
+ def default(self, value: Optional[pulumi.Input[bool]]):
111
+ pulumi.set(self, "default", value)
112
+
113
+ @property
114
+ @pulumi.getter
115
+ def name(self) -> Optional[pulumi.Input[str]]:
116
+ """
117
+ `(string: <required>)` - The identifier of the ACL Auth Method.
118
+ """
119
+ return pulumi.get(self, "name")
120
+
121
+ @name.setter
122
+ def name(self, value: Optional[pulumi.Input[str]]):
123
+ pulumi.set(self, "name", value)
124
+
125
+
126
+ @pulumi.input_type
127
+ class _AclAuthMethodState:
128
+ def __init__(__self__, *,
129
+ config: Optional[pulumi.Input['AclAuthMethodConfigArgs']] = None,
130
+ default: Optional[pulumi.Input[bool]] = None,
131
+ max_token_ttl: Optional[pulumi.Input[str]] = None,
132
+ name: Optional[pulumi.Input[str]] = None,
133
+ token_locality: Optional[pulumi.Input[str]] = None,
134
+ type: Optional[pulumi.Input[str]] = None):
135
+ """
136
+ Input properties used for looking up and filtering AclAuthMethod resources.
137
+ :param pulumi.Input['AclAuthMethodConfigArgs'] config: Configuration specific to the auth method provider.
138
+ :param pulumi.Input[bool] default: `(bool: false)` - Defines whether this ACL Auth Method is to be set
139
+ as default.
140
+ :param pulumi.Input[str] max_token_ttl: `(string: <required>)` - Defines the maximum life of a token
141
+ created by this method and is specified as a time duration such as "15h".
142
+ :param pulumi.Input[str] name: `(string: <required>)` - The identifier of the ACL Auth Method.
143
+ :param pulumi.Input[str] token_locality: `(string: <required>)` - Defines whether the ACL Auth Method
144
+ creates a local or global token when performing SSO login. This field must be
145
+ set to either `local` or `global`.
146
+ :param pulumi.Input[str] type: `(string: <required>)` - ACL Auth Method SSO workflow type. Currently,
147
+ the only supported type is `OIDC`.
148
+ """
149
+ if config is not None:
150
+ pulumi.set(__self__, "config", config)
151
+ if default is not None:
152
+ pulumi.set(__self__, "default", default)
153
+ if max_token_ttl is not None:
154
+ pulumi.set(__self__, "max_token_ttl", max_token_ttl)
155
+ if name is not None:
156
+ pulumi.set(__self__, "name", name)
157
+ if token_locality is not None:
158
+ pulumi.set(__self__, "token_locality", token_locality)
159
+ if type is not None:
160
+ pulumi.set(__self__, "type", type)
161
+
162
+ @property
163
+ @pulumi.getter
164
+ def config(self) -> Optional[pulumi.Input['AclAuthMethodConfigArgs']]:
165
+ """
166
+ Configuration specific to the auth method provider.
167
+ """
168
+ return pulumi.get(self, "config")
169
+
170
+ @config.setter
171
+ def config(self, value: Optional[pulumi.Input['AclAuthMethodConfigArgs']]):
172
+ pulumi.set(self, "config", value)
173
+
174
+ @property
175
+ @pulumi.getter
176
+ def default(self) -> Optional[pulumi.Input[bool]]:
177
+ """
178
+ `(bool: false)` - Defines whether this ACL Auth Method is to be set
179
+ as default.
180
+ """
181
+ return pulumi.get(self, "default")
182
+
183
+ @default.setter
184
+ def default(self, value: Optional[pulumi.Input[bool]]):
185
+ pulumi.set(self, "default", value)
186
+
187
+ @property
188
+ @pulumi.getter(name="maxTokenTtl")
189
+ def max_token_ttl(self) -> Optional[pulumi.Input[str]]:
190
+ """
191
+ `(string: <required>)` - Defines the maximum life of a token
192
+ created by this method and is specified as a time duration such as "15h".
193
+ """
194
+ return pulumi.get(self, "max_token_ttl")
195
+
196
+ @max_token_ttl.setter
197
+ def max_token_ttl(self, value: Optional[pulumi.Input[str]]):
198
+ pulumi.set(self, "max_token_ttl", value)
199
+
200
+ @property
201
+ @pulumi.getter
202
+ def name(self) -> Optional[pulumi.Input[str]]:
203
+ """
204
+ `(string: <required>)` - The identifier of the ACL Auth Method.
205
+ """
206
+ return pulumi.get(self, "name")
207
+
208
+ @name.setter
209
+ def name(self, value: Optional[pulumi.Input[str]]):
210
+ pulumi.set(self, "name", value)
211
+
212
+ @property
213
+ @pulumi.getter(name="tokenLocality")
214
+ def token_locality(self) -> Optional[pulumi.Input[str]]:
215
+ """
216
+ `(string: <required>)` - Defines whether the ACL Auth Method
217
+ creates a local or global token when performing SSO login. This field must be
218
+ set to either `local` or `global`.
219
+ """
220
+ return pulumi.get(self, "token_locality")
221
+
222
+ @token_locality.setter
223
+ def token_locality(self, value: Optional[pulumi.Input[str]]):
224
+ pulumi.set(self, "token_locality", value)
225
+
226
+ @property
227
+ @pulumi.getter
228
+ def type(self) -> Optional[pulumi.Input[str]]:
229
+ """
230
+ `(string: <required>)` - ACL Auth Method SSO workflow type. Currently,
231
+ the only supported type is `OIDC`.
232
+ """
233
+ return pulumi.get(self, "type")
234
+
235
+ @type.setter
236
+ def type(self, value: Optional[pulumi.Input[str]]):
237
+ pulumi.set(self, "type", value)
238
+
239
+
240
+ class AclAuthMethod(pulumi.CustomResource):
241
+ @overload
242
+ def __init__(__self__,
243
+ resource_name: str,
244
+ opts: Optional[pulumi.ResourceOptions] = None,
245
+ config: Optional[pulumi.Input[pulumi.InputType['AclAuthMethodConfigArgs']]] = None,
246
+ default: Optional[pulumi.Input[bool]] = None,
247
+ max_token_ttl: Optional[pulumi.Input[str]] = None,
248
+ name: Optional[pulumi.Input[str]] = None,
249
+ token_locality: Optional[pulumi.Input[str]] = None,
250
+ type: Optional[pulumi.Input[str]] = None,
251
+ __props__=None):
252
+ """
253
+ Manages an ACL Auth Method in Nomad.
254
+
255
+ ## Example Usage
256
+
257
+ Creating an ALC Auth Method:
258
+
259
+ ```python
260
+ import pulumi
261
+ import pulumi_nomad as nomad
262
+
263
+ my_nomad_acl_auth_method = nomad.AclAuthMethod("myNomadAclAuthMethod",
264
+ type="OIDC",
265
+ token_locality="global",
266
+ max_token_ttl="10m0s",
267
+ default=True,
268
+ config=nomad.AclAuthMethodConfigArgs(
269
+ oidc_discovery_url="https://uk.auth0.com/",
270
+ oidc_client_id="someclientid",
271
+ oidc_client_secret="someclientsecret-t",
272
+ bound_audiences=["someclientid"],
273
+ allowed_redirect_uris=[
274
+ "http://localhost:4649/oidc/callback",
275
+ "http://localhost:4646/ui/settings/tokens",
276
+ ],
277
+ list_claim_mappings={
278
+ "http://nomad.internal/roles": "roles",
279
+ },
280
+ ))
281
+ ```
282
+
283
+ :param str resource_name: The name of the resource.
284
+ :param pulumi.ResourceOptions opts: Options for the resource.
285
+ :param pulumi.Input[pulumi.InputType['AclAuthMethodConfigArgs']] config: Configuration specific to the auth method provider.
286
+ :param pulumi.Input[bool] default: `(bool: false)` - Defines whether this ACL Auth Method is to be set
287
+ as default.
288
+ :param pulumi.Input[str] max_token_ttl: `(string: <required>)` - Defines the maximum life of a token
289
+ created by this method and is specified as a time duration such as "15h".
290
+ :param pulumi.Input[str] name: `(string: <required>)` - The identifier of the ACL Auth Method.
291
+ :param pulumi.Input[str] token_locality: `(string: <required>)` - Defines whether the ACL Auth Method
292
+ creates a local or global token when performing SSO login. This field must be
293
+ set to either `local` or `global`.
294
+ :param pulumi.Input[str] type: `(string: <required>)` - ACL Auth Method SSO workflow type. Currently,
295
+ the only supported type is `OIDC`.
296
+ """
297
+ ...
298
+ @overload
299
+ def __init__(__self__,
300
+ resource_name: str,
301
+ args: AclAuthMethodArgs,
302
+ opts: Optional[pulumi.ResourceOptions] = None):
303
+ """
304
+ Manages an ACL Auth Method in Nomad.
305
+
306
+ ## Example Usage
307
+
308
+ Creating an ALC Auth Method:
309
+
310
+ ```python
311
+ import pulumi
312
+ import pulumi_nomad as nomad
313
+
314
+ my_nomad_acl_auth_method = nomad.AclAuthMethod("myNomadAclAuthMethod",
315
+ type="OIDC",
316
+ token_locality="global",
317
+ max_token_ttl="10m0s",
318
+ default=True,
319
+ config=nomad.AclAuthMethodConfigArgs(
320
+ oidc_discovery_url="https://uk.auth0.com/",
321
+ oidc_client_id="someclientid",
322
+ oidc_client_secret="someclientsecret-t",
323
+ bound_audiences=["someclientid"],
324
+ allowed_redirect_uris=[
325
+ "http://localhost:4649/oidc/callback",
326
+ "http://localhost:4646/ui/settings/tokens",
327
+ ],
328
+ list_claim_mappings={
329
+ "http://nomad.internal/roles": "roles",
330
+ },
331
+ ))
332
+ ```
333
+
334
+ :param str resource_name: The name of the resource.
335
+ :param AclAuthMethodArgs args: The arguments to use to populate this resource's properties.
336
+ :param pulumi.ResourceOptions opts: Options for the resource.
337
+ """
338
+ ...
339
+ def __init__(__self__, resource_name: str, *args, **kwargs):
340
+ resource_args, opts = _utilities.get_resource_args_opts(AclAuthMethodArgs, pulumi.ResourceOptions, *args, **kwargs)
341
+ if resource_args is not None:
342
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
343
+ else:
344
+ __self__._internal_init(resource_name, *args, **kwargs)
345
+
346
+ def _internal_init(__self__,
347
+ resource_name: str,
348
+ opts: Optional[pulumi.ResourceOptions] = None,
349
+ config: Optional[pulumi.Input[pulumi.InputType['AclAuthMethodConfigArgs']]] = None,
350
+ default: Optional[pulumi.Input[bool]] = None,
351
+ max_token_ttl: Optional[pulumi.Input[str]] = None,
352
+ name: Optional[pulumi.Input[str]] = None,
353
+ token_locality: Optional[pulumi.Input[str]] = None,
354
+ type: Optional[pulumi.Input[str]] = None,
355
+ __props__=None):
356
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
357
+ if not isinstance(opts, pulumi.ResourceOptions):
358
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
359
+ if opts.id is None:
360
+ if __props__ is not None:
361
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
362
+ __props__ = AclAuthMethodArgs.__new__(AclAuthMethodArgs)
363
+
364
+ if config is None and not opts.urn:
365
+ raise TypeError("Missing required property 'config'")
366
+ __props__.__dict__["config"] = config
367
+ __props__.__dict__["default"] = default
368
+ if max_token_ttl is None and not opts.urn:
369
+ raise TypeError("Missing required property 'max_token_ttl'")
370
+ __props__.__dict__["max_token_ttl"] = max_token_ttl
371
+ __props__.__dict__["name"] = name
372
+ if token_locality is None and not opts.urn:
373
+ raise TypeError("Missing required property 'token_locality'")
374
+ __props__.__dict__["token_locality"] = token_locality
375
+ if type is None and not opts.urn:
376
+ raise TypeError("Missing required property 'type'")
377
+ __props__.__dict__["type"] = type
378
+ super(AclAuthMethod, __self__).__init__(
379
+ 'nomad:index/aclAuthMethod:AclAuthMethod',
380
+ resource_name,
381
+ __props__,
382
+ opts)
383
+
384
+ @staticmethod
385
+ def get(resource_name: str,
386
+ id: pulumi.Input[str],
387
+ opts: Optional[pulumi.ResourceOptions] = None,
388
+ config: Optional[pulumi.Input[pulumi.InputType['AclAuthMethodConfigArgs']]] = None,
389
+ default: Optional[pulumi.Input[bool]] = None,
390
+ max_token_ttl: Optional[pulumi.Input[str]] = None,
391
+ name: Optional[pulumi.Input[str]] = None,
392
+ token_locality: Optional[pulumi.Input[str]] = None,
393
+ type: Optional[pulumi.Input[str]] = None) -> 'AclAuthMethod':
394
+ """
395
+ Get an existing AclAuthMethod resource's state with the given name, id, and optional extra
396
+ properties used to qualify the lookup.
397
+
398
+ :param str resource_name: The unique name of the resulting resource.
399
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
400
+ :param pulumi.ResourceOptions opts: Options for the resource.
401
+ :param pulumi.Input[pulumi.InputType['AclAuthMethodConfigArgs']] config: Configuration specific to the auth method provider.
402
+ :param pulumi.Input[bool] default: `(bool: false)` - Defines whether this ACL Auth Method is to be set
403
+ as default.
404
+ :param pulumi.Input[str] max_token_ttl: `(string: <required>)` - Defines the maximum life of a token
405
+ created by this method and is specified as a time duration such as "15h".
406
+ :param pulumi.Input[str] name: `(string: <required>)` - The identifier of the ACL Auth Method.
407
+ :param pulumi.Input[str] token_locality: `(string: <required>)` - Defines whether the ACL Auth Method
408
+ creates a local or global token when performing SSO login. This field must be
409
+ set to either `local` or `global`.
410
+ :param pulumi.Input[str] type: `(string: <required>)` - ACL Auth Method SSO workflow type. Currently,
411
+ the only supported type is `OIDC`.
412
+ """
413
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
414
+
415
+ __props__ = _AclAuthMethodState.__new__(_AclAuthMethodState)
416
+
417
+ __props__.__dict__["config"] = config
418
+ __props__.__dict__["default"] = default
419
+ __props__.__dict__["max_token_ttl"] = max_token_ttl
420
+ __props__.__dict__["name"] = name
421
+ __props__.__dict__["token_locality"] = token_locality
422
+ __props__.__dict__["type"] = type
423
+ return AclAuthMethod(resource_name, opts=opts, __props__=__props__)
424
+
425
+ @property
426
+ @pulumi.getter
427
+ def config(self) -> pulumi.Output['outputs.AclAuthMethodConfig']:
428
+ """
429
+ Configuration specific to the auth method provider.
430
+ """
431
+ return pulumi.get(self, "config")
432
+
433
+ @property
434
+ @pulumi.getter
435
+ def default(self) -> pulumi.Output[Optional[bool]]:
436
+ """
437
+ `(bool: false)` - Defines whether this ACL Auth Method is to be set
438
+ as default.
439
+ """
440
+ return pulumi.get(self, "default")
441
+
442
+ @property
443
+ @pulumi.getter(name="maxTokenTtl")
444
+ def max_token_ttl(self) -> pulumi.Output[str]:
445
+ """
446
+ `(string: <required>)` - Defines the maximum life of a token
447
+ created by this method and is specified as a time duration such as "15h".
448
+ """
449
+ return pulumi.get(self, "max_token_ttl")
450
+
451
+ @property
452
+ @pulumi.getter
453
+ def name(self) -> pulumi.Output[str]:
454
+ """
455
+ `(string: <required>)` - The identifier of the ACL Auth Method.
456
+ """
457
+ return pulumi.get(self, "name")
458
+
459
+ @property
460
+ @pulumi.getter(name="tokenLocality")
461
+ def token_locality(self) -> pulumi.Output[str]:
462
+ """
463
+ `(string: <required>)` - Defines whether the ACL Auth Method
464
+ creates a local or global token when performing SSO login. This field must be
465
+ set to either `local` or `global`.
466
+ """
467
+ return pulumi.get(self, "token_locality")
468
+
469
+ @property
470
+ @pulumi.getter
471
+ def type(self) -> pulumi.Output[str]:
472
+ """
473
+ `(string: <required>)` - ACL Auth Method SSO workflow type. Currently,
474
+ the only supported type is `OIDC`.
475
+ """
476
+ return pulumi.get(self, "type")
477
+