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.
@@ -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
+
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "resource": true,
3
3
  "name": "vault",
4
- "version": "6.1.1"
4
+ "version": "6.2.0"
5
5
  }
@@ -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]:
@@ -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]: