pulumi-vault 6.1.1__py3-none-any.whl → 6.2.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- pulumi_vault/__init__.py +26 -0
- pulumi_vault/auth_backend.py +47 -0
- pulumi_vault/aws/auth_backend_client.py +247 -7
- pulumi_vault/aws/secret_backend_role.py +54 -0
- pulumi_vault/azure/auth_backend_config.py +133 -0
- pulumi_vault/azure/backend.py +203 -0
- pulumi_vault/database/secrets_mount.py +282 -0
- pulumi_vault/gcp/auth_backend.py +244 -0
- pulumi_vault/gcp/secret_backend.py +271 -3
- pulumi_vault/jwt/auth_backend_role.py +28 -35
- pulumi_vault/kubernetes/secret_backend.py +282 -0
- pulumi_vault/ldap/secret_backend.py +282 -0
- pulumi_vault/mount.py +324 -0
- pulumi_vault/okta/auth_backend.py +453 -0
- pulumi_vault/pkisecret/__init__.py +2 -0
- pulumi_vault/pkisecret/_inputs.py +30 -0
- pulumi_vault/pkisecret/backend_config_est.py +614 -0
- pulumi_vault/pkisecret/get_backend_config_est.py +233 -0
- pulumi_vault/pkisecret/outputs.py +54 -0
- pulumi_vault/plugin.py +590 -0
- pulumi_vault/plugin_pinned_version.py +293 -0
- pulumi_vault/pulumi-plugin.json +1 -1
- pulumi_vault/quota_lease_count.py +47 -0
- pulumi_vault/quota_rate_limit.py +47 -0
- pulumi_vault/ssh/secret_backend_ca.py +94 -0
- {pulumi_vault-6.1.1.dist-info → pulumi_vault-6.2.0.dist-info}/METADATA +1 -1
- {pulumi_vault-6.1.1.dist-info → pulumi_vault-6.2.0.dist-info}/RECORD +29 -25
- {pulumi_vault-6.1.1.dist-info → pulumi_vault-6.2.0.dist-info}/WHEEL +1 -1
- {pulumi_vault-6.1.1.dist-info → pulumi_vault-6.2.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,293 @@
|
|
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
|
+
|
12
|
+
__all__ = ['PluginPinnedVersionArgs', 'PluginPinnedVersion']
|
13
|
+
|
14
|
+
@pulumi.input_type
|
15
|
+
class PluginPinnedVersionArgs:
|
16
|
+
def __init__(__self__, *,
|
17
|
+
type: pulumi.Input[str],
|
18
|
+
version: pulumi.Input[str],
|
19
|
+
name: Optional[pulumi.Input[str]] = None):
|
20
|
+
"""
|
21
|
+
The set of arguments for constructing a PluginPinnedVersion resource.
|
22
|
+
:param pulumi.Input[str] type: Type of plugin; one of "auth", "secret", or "database".
|
23
|
+
:param pulumi.Input[str] version: Semantic version of the plugin to pin.
|
24
|
+
:param pulumi.Input[str] name: Name of the plugin.
|
25
|
+
"""
|
26
|
+
pulumi.set(__self__, "type", type)
|
27
|
+
pulumi.set(__self__, "version", version)
|
28
|
+
if name is not None:
|
29
|
+
pulumi.set(__self__, "name", name)
|
30
|
+
|
31
|
+
@property
|
32
|
+
@pulumi.getter
|
33
|
+
def type(self) -> pulumi.Input[str]:
|
34
|
+
"""
|
35
|
+
Type of plugin; one of "auth", "secret", or "database".
|
36
|
+
"""
|
37
|
+
return pulumi.get(self, "type")
|
38
|
+
|
39
|
+
@type.setter
|
40
|
+
def type(self, value: pulumi.Input[str]):
|
41
|
+
pulumi.set(self, "type", value)
|
42
|
+
|
43
|
+
@property
|
44
|
+
@pulumi.getter
|
45
|
+
def version(self) -> pulumi.Input[str]:
|
46
|
+
"""
|
47
|
+
Semantic version of the plugin to pin.
|
48
|
+
"""
|
49
|
+
return pulumi.get(self, "version")
|
50
|
+
|
51
|
+
@version.setter
|
52
|
+
def version(self, value: pulumi.Input[str]):
|
53
|
+
pulumi.set(self, "version", value)
|
54
|
+
|
55
|
+
@property
|
56
|
+
@pulumi.getter
|
57
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
58
|
+
"""
|
59
|
+
Name of the plugin.
|
60
|
+
"""
|
61
|
+
return pulumi.get(self, "name")
|
62
|
+
|
63
|
+
@name.setter
|
64
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
65
|
+
pulumi.set(self, "name", value)
|
66
|
+
|
67
|
+
|
68
|
+
@pulumi.input_type
|
69
|
+
class _PluginPinnedVersionState:
|
70
|
+
def __init__(__self__, *,
|
71
|
+
name: Optional[pulumi.Input[str]] = None,
|
72
|
+
type: Optional[pulumi.Input[str]] = None,
|
73
|
+
version: Optional[pulumi.Input[str]] = None):
|
74
|
+
"""
|
75
|
+
Input properties used for looking up and filtering PluginPinnedVersion resources.
|
76
|
+
:param pulumi.Input[str] name: Name of the plugin.
|
77
|
+
:param pulumi.Input[str] type: Type of plugin; one of "auth", "secret", or "database".
|
78
|
+
:param pulumi.Input[str] version: Semantic version of the plugin to pin.
|
79
|
+
"""
|
80
|
+
if name is not None:
|
81
|
+
pulumi.set(__self__, "name", name)
|
82
|
+
if type is not None:
|
83
|
+
pulumi.set(__self__, "type", type)
|
84
|
+
if version is not None:
|
85
|
+
pulumi.set(__self__, "version", version)
|
86
|
+
|
87
|
+
@property
|
88
|
+
@pulumi.getter
|
89
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
90
|
+
"""
|
91
|
+
Name of the plugin.
|
92
|
+
"""
|
93
|
+
return pulumi.get(self, "name")
|
94
|
+
|
95
|
+
@name.setter
|
96
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
97
|
+
pulumi.set(self, "name", value)
|
98
|
+
|
99
|
+
@property
|
100
|
+
@pulumi.getter
|
101
|
+
def type(self) -> Optional[pulumi.Input[str]]:
|
102
|
+
"""
|
103
|
+
Type of plugin; one of "auth", "secret", or "database".
|
104
|
+
"""
|
105
|
+
return pulumi.get(self, "type")
|
106
|
+
|
107
|
+
@type.setter
|
108
|
+
def type(self, value: Optional[pulumi.Input[str]]):
|
109
|
+
pulumi.set(self, "type", value)
|
110
|
+
|
111
|
+
@property
|
112
|
+
@pulumi.getter
|
113
|
+
def version(self) -> Optional[pulumi.Input[str]]:
|
114
|
+
"""
|
115
|
+
Semantic version of the plugin to pin.
|
116
|
+
"""
|
117
|
+
return pulumi.get(self, "version")
|
118
|
+
|
119
|
+
@version.setter
|
120
|
+
def version(self, value: Optional[pulumi.Input[str]]):
|
121
|
+
pulumi.set(self, "version", value)
|
122
|
+
|
123
|
+
|
124
|
+
class PluginPinnedVersion(pulumi.CustomResource):
|
125
|
+
@overload
|
126
|
+
def __init__(__self__,
|
127
|
+
resource_name: str,
|
128
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
129
|
+
name: Optional[pulumi.Input[str]] = None,
|
130
|
+
type: Optional[pulumi.Input[str]] = None,
|
131
|
+
version: Optional[pulumi.Input[str]] = None,
|
132
|
+
__props__=None):
|
133
|
+
"""
|
134
|
+
## Example Usage
|
135
|
+
|
136
|
+
```python
|
137
|
+
import pulumi
|
138
|
+
import pulumi_vault as vault
|
139
|
+
|
140
|
+
jwt = vault.Plugin("jwt",
|
141
|
+
type="auth",
|
142
|
+
name="jwt",
|
143
|
+
command="vault-plugin-auth-jwt",
|
144
|
+
version="v0.17.0",
|
145
|
+
sha256="6bd0a803ed742aa3ce35e4fa23d2c8d550e6c1567bf63410cec489c28b68b0fc",
|
146
|
+
envs=["HTTP_PROXY=http://proxy.example.com:8080"])
|
147
|
+
jwt_pin = vault.PluginPinnedVersion("jwt_pin",
|
148
|
+
type=jwt.type,
|
149
|
+
name=jwt.name,
|
150
|
+
version=jwt.version)
|
151
|
+
jwt_auth = vault.AuthBackend("jwt_auth", type=jwt_pin.name)
|
152
|
+
```
|
153
|
+
|
154
|
+
## Import
|
155
|
+
|
156
|
+
Pinned plugin versions can be imported using `type/name` as the ID, e.g.
|
157
|
+
|
158
|
+
```sh
|
159
|
+
$ pulumi import vault:index/pluginPinnedVersion:PluginPinnedVersion jwt_pin auth/jwt
|
160
|
+
```
|
161
|
+
|
162
|
+
:param str resource_name: The name of the resource.
|
163
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
164
|
+
:param pulumi.Input[str] name: Name of the plugin.
|
165
|
+
:param pulumi.Input[str] type: Type of plugin; one of "auth", "secret", or "database".
|
166
|
+
:param pulumi.Input[str] version: Semantic version of the plugin to pin.
|
167
|
+
"""
|
168
|
+
...
|
169
|
+
@overload
|
170
|
+
def __init__(__self__,
|
171
|
+
resource_name: str,
|
172
|
+
args: PluginPinnedVersionArgs,
|
173
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
174
|
+
"""
|
175
|
+
## Example Usage
|
176
|
+
|
177
|
+
```python
|
178
|
+
import pulumi
|
179
|
+
import pulumi_vault as vault
|
180
|
+
|
181
|
+
jwt = vault.Plugin("jwt",
|
182
|
+
type="auth",
|
183
|
+
name="jwt",
|
184
|
+
command="vault-plugin-auth-jwt",
|
185
|
+
version="v0.17.0",
|
186
|
+
sha256="6bd0a803ed742aa3ce35e4fa23d2c8d550e6c1567bf63410cec489c28b68b0fc",
|
187
|
+
envs=["HTTP_PROXY=http://proxy.example.com:8080"])
|
188
|
+
jwt_pin = vault.PluginPinnedVersion("jwt_pin",
|
189
|
+
type=jwt.type,
|
190
|
+
name=jwt.name,
|
191
|
+
version=jwt.version)
|
192
|
+
jwt_auth = vault.AuthBackend("jwt_auth", type=jwt_pin.name)
|
193
|
+
```
|
194
|
+
|
195
|
+
## Import
|
196
|
+
|
197
|
+
Pinned plugin versions can be imported using `type/name` as the ID, e.g.
|
198
|
+
|
199
|
+
```sh
|
200
|
+
$ pulumi import vault:index/pluginPinnedVersion:PluginPinnedVersion jwt_pin auth/jwt
|
201
|
+
```
|
202
|
+
|
203
|
+
:param str resource_name: The name of the resource.
|
204
|
+
:param PluginPinnedVersionArgs args: The arguments to use to populate this resource's properties.
|
205
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
206
|
+
"""
|
207
|
+
...
|
208
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
209
|
+
resource_args, opts = _utilities.get_resource_args_opts(PluginPinnedVersionArgs, pulumi.ResourceOptions, *args, **kwargs)
|
210
|
+
if resource_args is not None:
|
211
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
212
|
+
else:
|
213
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
214
|
+
|
215
|
+
def _internal_init(__self__,
|
216
|
+
resource_name: str,
|
217
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
218
|
+
name: Optional[pulumi.Input[str]] = None,
|
219
|
+
type: Optional[pulumi.Input[str]] = None,
|
220
|
+
version: Optional[pulumi.Input[str]] = None,
|
221
|
+
__props__=None):
|
222
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
223
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
224
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
225
|
+
if opts.id is None:
|
226
|
+
if __props__ is not None:
|
227
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
228
|
+
__props__ = PluginPinnedVersionArgs.__new__(PluginPinnedVersionArgs)
|
229
|
+
|
230
|
+
__props__.__dict__["name"] = name
|
231
|
+
if type is None and not opts.urn:
|
232
|
+
raise TypeError("Missing required property 'type'")
|
233
|
+
__props__.__dict__["type"] = type
|
234
|
+
if version is None and not opts.urn:
|
235
|
+
raise TypeError("Missing required property 'version'")
|
236
|
+
__props__.__dict__["version"] = version
|
237
|
+
super(PluginPinnedVersion, __self__).__init__(
|
238
|
+
'vault:index/pluginPinnedVersion:PluginPinnedVersion',
|
239
|
+
resource_name,
|
240
|
+
__props__,
|
241
|
+
opts)
|
242
|
+
|
243
|
+
@staticmethod
|
244
|
+
def get(resource_name: str,
|
245
|
+
id: pulumi.Input[str],
|
246
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
247
|
+
name: Optional[pulumi.Input[str]] = None,
|
248
|
+
type: Optional[pulumi.Input[str]] = None,
|
249
|
+
version: Optional[pulumi.Input[str]] = None) -> 'PluginPinnedVersion':
|
250
|
+
"""
|
251
|
+
Get an existing PluginPinnedVersion resource's state with the given name, id, and optional extra
|
252
|
+
properties used to qualify the lookup.
|
253
|
+
|
254
|
+
:param str resource_name: The unique name of the resulting resource.
|
255
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
256
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
257
|
+
:param pulumi.Input[str] name: Name of the plugin.
|
258
|
+
:param pulumi.Input[str] type: Type of plugin; one of "auth", "secret", or "database".
|
259
|
+
:param pulumi.Input[str] version: Semantic version of the plugin to pin.
|
260
|
+
"""
|
261
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
262
|
+
|
263
|
+
__props__ = _PluginPinnedVersionState.__new__(_PluginPinnedVersionState)
|
264
|
+
|
265
|
+
__props__.__dict__["name"] = name
|
266
|
+
__props__.__dict__["type"] = type
|
267
|
+
__props__.__dict__["version"] = version
|
268
|
+
return PluginPinnedVersion(resource_name, opts=opts, __props__=__props__)
|
269
|
+
|
270
|
+
@property
|
271
|
+
@pulumi.getter
|
272
|
+
def name(self) -> pulumi.Output[str]:
|
273
|
+
"""
|
274
|
+
Name of the plugin.
|
275
|
+
"""
|
276
|
+
return pulumi.get(self, "name")
|
277
|
+
|
278
|
+
@property
|
279
|
+
@pulumi.getter
|
280
|
+
def type(self) -> pulumi.Output[str]:
|
281
|
+
"""
|
282
|
+
Type of plugin; one of "auth", "secret", or "database".
|
283
|
+
"""
|
284
|
+
return pulumi.get(self, "type")
|
285
|
+
|
286
|
+
@property
|
287
|
+
@pulumi.getter
|
288
|
+
def version(self) -> pulumi.Output[str]:
|
289
|
+
"""
|
290
|
+
Semantic version of the plugin to pin.
|
291
|
+
"""
|
292
|
+
return pulumi.get(self, "version")
|
293
|
+
|
pulumi_vault/pulumi-plugin.json
CHANGED
@@ -15,6 +15,7 @@ __all__ = ['QuotaLeaseCountArgs', 'QuotaLeaseCount']
|
|
15
15
|
class QuotaLeaseCountArgs:
|
16
16
|
def __init__(__self__, *,
|
17
17
|
max_leases: pulumi.Input[int],
|
18
|
+
inheritable: Optional[pulumi.Input[bool]] = None,
|
18
19
|
name: Optional[pulumi.Input[str]] = None,
|
19
20
|
namespace: Optional[pulumi.Input[str]] = None,
|
20
21
|
path: Optional[pulumi.Input[str]] = None,
|
@@ -23,6 +24,7 @@ class QuotaLeaseCountArgs:
|
|
23
24
|
The set of arguments for constructing a QuotaLeaseCount resource.
|
24
25
|
:param pulumi.Input[int] max_leases: The maximum number of leases to be allowed by the quota
|
25
26
|
rule. The `max_leases` must be positive.
|
27
|
+
:param pulumi.Input[bool] inheritable: If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
26
28
|
:param pulumi.Input[str] name: Name of the rate limit quota
|
27
29
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
28
30
|
The value should not contain leading or trailing forward slashes.
|
@@ -37,6 +39,8 @@ class QuotaLeaseCountArgs:
|
|
37
39
|
:param pulumi.Input[str] role: If set on a quota where `path` is set to an auth mount with a concept of roles (such as /auth/approle/), this will make the quota restrict login requests to that mount that are made with the specified role.
|
38
40
|
"""
|
39
41
|
pulumi.set(__self__, "max_leases", max_leases)
|
42
|
+
if inheritable is not None:
|
43
|
+
pulumi.set(__self__, "inheritable", inheritable)
|
40
44
|
if name is not None:
|
41
45
|
pulumi.set(__self__, "name", name)
|
42
46
|
if namespace is not None:
|
@@ -59,6 +63,18 @@ class QuotaLeaseCountArgs:
|
|
59
63
|
def max_leases(self, value: pulumi.Input[int]):
|
60
64
|
pulumi.set(self, "max_leases", value)
|
61
65
|
|
66
|
+
@property
|
67
|
+
@pulumi.getter
|
68
|
+
def inheritable(self) -> Optional[pulumi.Input[bool]]:
|
69
|
+
"""
|
70
|
+
If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
71
|
+
"""
|
72
|
+
return pulumi.get(self, "inheritable")
|
73
|
+
|
74
|
+
@inheritable.setter
|
75
|
+
def inheritable(self, value: Optional[pulumi.Input[bool]]):
|
76
|
+
pulumi.set(self, "inheritable", value)
|
77
|
+
|
62
78
|
@property
|
63
79
|
@pulumi.getter
|
64
80
|
def name(self) -> Optional[pulumi.Input[str]]:
|
@@ -119,6 +135,7 @@ class QuotaLeaseCountArgs:
|
|
119
135
|
@pulumi.input_type
|
120
136
|
class _QuotaLeaseCountState:
|
121
137
|
def __init__(__self__, *,
|
138
|
+
inheritable: Optional[pulumi.Input[bool]] = None,
|
122
139
|
max_leases: Optional[pulumi.Input[int]] = None,
|
123
140
|
name: Optional[pulumi.Input[str]] = None,
|
124
141
|
namespace: Optional[pulumi.Input[str]] = None,
|
@@ -126,6 +143,7 @@ class _QuotaLeaseCountState:
|
|
126
143
|
role: Optional[pulumi.Input[str]] = None):
|
127
144
|
"""
|
128
145
|
Input properties used for looking up and filtering QuotaLeaseCount resources.
|
146
|
+
:param pulumi.Input[bool] inheritable: If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
129
147
|
:param pulumi.Input[int] max_leases: The maximum number of leases to be allowed by the quota
|
130
148
|
rule. The `max_leases` must be positive.
|
131
149
|
:param pulumi.Input[str] name: Name of the rate limit quota
|
@@ -141,6 +159,8 @@ class _QuotaLeaseCountState:
|
|
141
159
|
a namespace specific mount quota. **Note, namespaces are supported in Enterprise only.**
|
142
160
|
:param pulumi.Input[str] role: If set on a quota where `path` is set to an auth mount with a concept of roles (such as /auth/approle/), this will make the quota restrict login requests to that mount that are made with the specified role.
|
143
161
|
"""
|
162
|
+
if inheritable is not None:
|
163
|
+
pulumi.set(__self__, "inheritable", inheritable)
|
144
164
|
if max_leases is not None:
|
145
165
|
pulumi.set(__self__, "max_leases", max_leases)
|
146
166
|
if name is not None:
|
@@ -152,6 +172,18 @@ class _QuotaLeaseCountState:
|
|
152
172
|
if role is not None:
|
153
173
|
pulumi.set(__self__, "role", role)
|
154
174
|
|
175
|
+
@property
|
176
|
+
@pulumi.getter
|
177
|
+
def inheritable(self) -> Optional[pulumi.Input[bool]]:
|
178
|
+
"""
|
179
|
+
If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
180
|
+
"""
|
181
|
+
return pulumi.get(self, "inheritable")
|
182
|
+
|
183
|
+
@inheritable.setter
|
184
|
+
def inheritable(self, value: Optional[pulumi.Input[bool]]):
|
185
|
+
pulumi.set(self, "inheritable", value)
|
186
|
+
|
155
187
|
@property
|
156
188
|
@pulumi.getter(name="maxLeases")
|
157
189
|
def max_leases(self) -> Optional[pulumi.Input[int]]:
|
@@ -227,6 +259,7 @@ class QuotaLeaseCount(pulumi.CustomResource):
|
|
227
259
|
def __init__(__self__,
|
228
260
|
resource_name: str,
|
229
261
|
opts: Optional[pulumi.ResourceOptions] = None,
|
262
|
+
inheritable: Optional[pulumi.Input[bool]] = None,
|
230
263
|
max_leases: Optional[pulumi.Input[int]] = None,
|
231
264
|
name: Optional[pulumi.Input[str]] = None,
|
232
265
|
namespace: Optional[pulumi.Input[str]] = None,
|
@@ -265,6 +298,7 @@ class QuotaLeaseCount(pulumi.CustomResource):
|
|
265
298
|
|
266
299
|
:param str resource_name: The name of the resource.
|
267
300
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
301
|
+
:param pulumi.Input[bool] inheritable: If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
268
302
|
:param pulumi.Input[int] max_leases: The maximum number of leases to be allowed by the quota
|
269
303
|
rule. The `max_leases` must be positive.
|
270
304
|
:param pulumi.Input[str] name: Name of the rate limit quota
|
@@ -331,6 +365,7 @@ class QuotaLeaseCount(pulumi.CustomResource):
|
|
331
365
|
def _internal_init(__self__,
|
332
366
|
resource_name: str,
|
333
367
|
opts: Optional[pulumi.ResourceOptions] = None,
|
368
|
+
inheritable: Optional[pulumi.Input[bool]] = None,
|
334
369
|
max_leases: Optional[pulumi.Input[int]] = None,
|
335
370
|
name: Optional[pulumi.Input[str]] = None,
|
336
371
|
namespace: Optional[pulumi.Input[str]] = None,
|
@@ -345,6 +380,7 @@ class QuotaLeaseCount(pulumi.CustomResource):
|
|
345
380
|
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
346
381
|
__props__ = QuotaLeaseCountArgs.__new__(QuotaLeaseCountArgs)
|
347
382
|
|
383
|
+
__props__.__dict__["inheritable"] = inheritable
|
348
384
|
if max_leases is None and not opts.urn:
|
349
385
|
raise TypeError("Missing required property 'max_leases'")
|
350
386
|
__props__.__dict__["max_leases"] = max_leases
|
@@ -362,6 +398,7 @@ class QuotaLeaseCount(pulumi.CustomResource):
|
|
362
398
|
def get(resource_name: str,
|
363
399
|
id: pulumi.Input[str],
|
364
400
|
opts: Optional[pulumi.ResourceOptions] = None,
|
401
|
+
inheritable: Optional[pulumi.Input[bool]] = None,
|
365
402
|
max_leases: Optional[pulumi.Input[int]] = None,
|
366
403
|
name: Optional[pulumi.Input[str]] = None,
|
367
404
|
namespace: Optional[pulumi.Input[str]] = None,
|
@@ -374,6 +411,7 @@ class QuotaLeaseCount(pulumi.CustomResource):
|
|
374
411
|
:param str resource_name: The unique name of the resulting resource.
|
375
412
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
376
413
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
414
|
+
:param pulumi.Input[bool] inheritable: If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
377
415
|
:param pulumi.Input[int] max_leases: The maximum number of leases to be allowed by the quota
|
378
416
|
rule. The `max_leases` must be positive.
|
379
417
|
:param pulumi.Input[str] name: Name of the rate limit quota
|
@@ -393,6 +431,7 @@ class QuotaLeaseCount(pulumi.CustomResource):
|
|
393
431
|
|
394
432
|
__props__ = _QuotaLeaseCountState.__new__(_QuotaLeaseCountState)
|
395
433
|
|
434
|
+
__props__.__dict__["inheritable"] = inheritable
|
396
435
|
__props__.__dict__["max_leases"] = max_leases
|
397
436
|
__props__.__dict__["name"] = name
|
398
437
|
__props__.__dict__["namespace"] = namespace
|
@@ -400,6 +439,14 @@ class QuotaLeaseCount(pulumi.CustomResource):
|
|
400
439
|
__props__.__dict__["role"] = role
|
401
440
|
return QuotaLeaseCount(resource_name, opts=opts, __props__=__props__)
|
402
441
|
|
442
|
+
@property
|
443
|
+
@pulumi.getter
|
444
|
+
def inheritable(self) -> pulumi.Output[Optional[bool]]:
|
445
|
+
"""
|
446
|
+
If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
447
|
+
"""
|
448
|
+
return pulumi.get(self, "inheritable")
|
449
|
+
|
403
450
|
@property
|
404
451
|
@pulumi.getter(name="maxLeases")
|
405
452
|
def max_leases(self) -> pulumi.Output[int]:
|
pulumi_vault/quota_rate_limit.py
CHANGED
@@ -16,6 +16,7 @@ class QuotaRateLimitArgs:
|
|
16
16
|
def __init__(__self__, *,
|
17
17
|
rate: pulumi.Input[float],
|
18
18
|
block_interval: Optional[pulumi.Input[int]] = None,
|
19
|
+
inheritable: Optional[pulumi.Input[bool]] = None,
|
19
20
|
interval: Optional[pulumi.Input[int]] = None,
|
20
21
|
name: Optional[pulumi.Input[str]] = None,
|
21
22
|
namespace: Optional[pulumi.Input[str]] = None,
|
@@ -27,6 +28,7 @@ class QuotaRateLimitArgs:
|
|
27
28
|
rule. The `rate` must be positive.
|
28
29
|
:param pulumi.Input[int] block_interval: If set, when a client reaches a rate limit threshold, the client will
|
29
30
|
be prohibited from any further requests until after the 'block_interval' in seconds has elapsed.
|
31
|
+
:param pulumi.Input[bool] inheritable: If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
30
32
|
:param pulumi.Input[int] interval: The duration in seconds to enforce rate limiting for.
|
31
33
|
:param pulumi.Input[str] name: Name of the rate limit quota
|
32
34
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
@@ -44,6 +46,8 @@ class QuotaRateLimitArgs:
|
|
44
46
|
pulumi.set(__self__, "rate", rate)
|
45
47
|
if block_interval is not None:
|
46
48
|
pulumi.set(__self__, "block_interval", block_interval)
|
49
|
+
if inheritable is not None:
|
50
|
+
pulumi.set(__self__, "inheritable", inheritable)
|
47
51
|
if interval is not None:
|
48
52
|
pulumi.set(__self__, "interval", interval)
|
49
53
|
if name is not None:
|
@@ -81,6 +85,18 @@ class QuotaRateLimitArgs:
|
|
81
85
|
def block_interval(self, value: Optional[pulumi.Input[int]]):
|
82
86
|
pulumi.set(self, "block_interval", value)
|
83
87
|
|
88
|
+
@property
|
89
|
+
@pulumi.getter
|
90
|
+
def inheritable(self) -> Optional[pulumi.Input[bool]]:
|
91
|
+
"""
|
92
|
+
If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
93
|
+
"""
|
94
|
+
return pulumi.get(self, "inheritable")
|
95
|
+
|
96
|
+
@inheritable.setter
|
97
|
+
def inheritable(self, value: Optional[pulumi.Input[bool]]):
|
98
|
+
pulumi.set(self, "inheritable", value)
|
99
|
+
|
84
100
|
@property
|
85
101
|
@pulumi.getter
|
86
102
|
def interval(self) -> Optional[pulumi.Input[int]]:
|
@@ -154,6 +170,7 @@ class QuotaRateLimitArgs:
|
|
154
170
|
class _QuotaRateLimitState:
|
155
171
|
def __init__(__self__, *,
|
156
172
|
block_interval: Optional[pulumi.Input[int]] = None,
|
173
|
+
inheritable: Optional[pulumi.Input[bool]] = None,
|
157
174
|
interval: Optional[pulumi.Input[int]] = None,
|
158
175
|
name: Optional[pulumi.Input[str]] = None,
|
159
176
|
namespace: Optional[pulumi.Input[str]] = None,
|
@@ -164,6 +181,7 @@ class _QuotaRateLimitState:
|
|
164
181
|
Input properties used for looking up and filtering QuotaRateLimit resources.
|
165
182
|
:param pulumi.Input[int] block_interval: If set, when a client reaches a rate limit threshold, the client will
|
166
183
|
be prohibited from any further requests until after the 'block_interval' in seconds has elapsed.
|
184
|
+
:param pulumi.Input[bool] inheritable: If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
167
185
|
:param pulumi.Input[int] interval: The duration in seconds to enforce rate limiting for.
|
168
186
|
:param pulumi.Input[str] name: Name of the rate limit quota
|
169
187
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
@@ -182,6 +200,8 @@ class _QuotaRateLimitState:
|
|
182
200
|
"""
|
183
201
|
if block_interval is not None:
|
184
202
|
pulumi.set(__self__, "block_interval", block_interval)
|
203
|
+
if inheritable is not None:
|
204
|
+
pulumi.set(__self__, "inheritable", inheritable)
|
185
205
|
if interval is not None:
|
186
206
|
pulumi.set(__self__, "interval", interval)
|
187
207
|
if name is not None:
|
@@ -208,6 +228,18 @@ class _QuotaRateLimitState:
|
|
208
228
|
def block_interval(self, value: Optional[pulumi.Input[int]]):
|
209
229
|
pulumi.set(self, "block_interval", value)
|
210
230
|
|
231
|
+
@property
|
232
|
+
@pulumi.getter
|
233
|
+
def inheritable(self) -> Optional[pulumi.Input[bool]]:
|
234
|
+
"""
|
235
|
+
If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
236
|
+
"""
|
237
|
+
return pulumi.get(self, "inheritable")
|
238
|
+
|
239
|
+
@inheritable.setter
|
240
|
+
def inheritable(self, value: Optional[pulumi.Input[bool]]):
|
241
|
+
pulumi.set(self, "inheritable", value)
|
242
|
+
|
211
243
|
@property
|
212
244
|
@pulumi.getter
|
213
245
|
def interval(self) -> Optional[pulumi.Input[int]]:
|
@@ -296,6 +328,7 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
296
328
|
resource_name: str,
|
297
329
|
opts: Optional[pulumi.ResourceOptions] = None,
|
298
330
|
block_interval: Optional[pulumi.Input[int]] = None,
|
331
|
+
inheritable: Optional[pulumi.Input[bool]] = None,
|
299
332
|
interval: Optional[pulumi.Input[int]] = None,
|
300
333
|
name: Optional[pulumi.Input[str]] = None,
|
301
334
|
namespace: Optional[pulumi.Input[str]] = None,
|
@@ -335,6 +368,7 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
335
368
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
336
369
|
:param pulumi.Input[int] block_interval: If set, when a client reaches a rate limit threshold, the client will
|
337
370
|
be prohibited from any further requests until after the 'block_interval' in seconds has elapsed.
|
371
|
+
:param pulumi.Input[bool] inheritable: If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
338
372
|
:param pulumi.Input[int] interval: The duration in seconds to enforce rate limiting for.
|
339
373
|
:param pulumi.Input[str] name: Name of the rate limit quota
|
340
374
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
@@ -401,6 +435,7 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
401
435
|
resource_name: str,
|
402
436
|
opts: Optional[pulumi.ResourceOptions] = None,
|
403
437
|
block_interval: Optional[pulumi.Input[int]] = None,
|
438
|
+
inheritable: Optional[pulumi.Input[bool]] = None,
|
404
439
|
interval: Optional[pulumi.Input[int]] = None,
|
405
440
|
name: Optional[pulumi.Input[str]] = None,
|
406
441
|
namespace: Optional[pulumi.Input[str]] = None,
|
@@ -417,6 +452,7 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
417
452
|
__props__ = QuotaRateLimitArgs.__new__(QuotaRateLimitArgs)
|
418
453
|
|
419
454
|
__props__.__dict__["block_interval"] = block_interval
|
455
|
+
__props__.__dict__["inheritable"] = inheritable
|
420
456
|
__props__.__dict__["interval"] = interval
|
421
457
|
__props__.__dict__["name"] = name
|
422
458
|
__props__.__dict__["namespace"] = namespace
|
@@ -436,6 +472,7 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
436
472
|
id: pulumi.Input[str],
|
437
473
|
opts: Optional[pulumi.ResourceOptions] = None,
|
438
474
|
block_interval: Optional[pulumi.Input[int]] = None,
|
475
|
+
inheritable: Optional[pulumi.Input[bool]] = None,
|
439
476
|
interval: Optional[pulumi.Input[int]] = None,
|
440
477
|
name: Optional[pulumi.Input[str]] = None,
|
441
478
|
namespace: Optional[pulumi.Input[str]] = None,
|
@@ -451,6 +488,7 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
451
488
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
452
489
|
:param pulumi.Input[int] block_interval: If set, when a client reaches a rate limit threshold, the client will
|
453
490
|
be prohibited from any further requests until after the 'block_interval' in seconds has elapsed.
|
491
|
+
:param pulumi.Input[bool] inheritable: If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
454
492
|
:param pulumi.Input[int] interval: The duration in seconds to enforce rate limiting for.
|
455
493
|
:param pulumi.Input[str] name: Name of the rate limit quota
|
456
494
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
@@ -472,6 +510,7 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
472
510
|
__props__ = _QuotaRateLimitState.__new__(_QuotaRateLimitState)
|
473
511
|
|
474
512
|
__props__.__dict__["block_interval"] = block_interval
|
513
|
+
__props__.__dict__["inheritable"] = inheritable
|
475
514
|
__props__.__dict__["interval"] = interval
|
476
515
|
__props__.__dict__["name"] = name
|
477
516
|
__props__.__dict__["namespace"] = namespace
|
@@ -489,6 +528,14 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
489
528
|
"""
|
490
529
|
return pulumi.get(self, "block_interval")
|
491
530
|
|
531
|
+
@property
|
532
|
+
@pulumi.getter
|
533
|
+
def inheritable(self) -> pulumi.Output[Optional[bool]]:
|
534
|
+
"""
|
535
|
+
If set to `true` on a quota where path is set to a namespace, the same quota will be cumulatively applied to all child namespace. The inheritable parameter cannot be set to `true` if the path does not specify a namespace. Only the quotas associated with the root namespace are inheritable by default. Requires Vault 1.15+.
|
536
|
+
"""
|
537
|
+
return pulumi.get(self, "inheritable")
|
538
|
+
|
492
539
|
@property
|
493
540
|
@pulumi.getter
|
494
541
|
def interval(self) -> pulumi.Output[int]:
|