pulumi-vault 7.1.0__py3-none-any.whl → 7.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 +19 -1
- pulumi_vault/_inputs.py +873 -673
- pulumi_vault/ad/__init__.py +1 -1
- pulumi_vault/ad/get_access_credentials.py +27 -28
- pulumi_vault/ad/secret_backend.py +579 -580
- pulumi_vault/ad/secret_library.py +120 -121
- pulumi_vault/ad/secret_role.py +104 -105
- pulumi_vault/alicloud/__init__.py +1 -1
- pulumi_vault/alicloud/auth_backend_role.py +222 -223
- pulumi_vault/approle/__init__.py +1 -1
- pulumi_vault/approle/auth_backend_login.py +138 -139
- pulumi_vault/approle/auth_backend_role.py +292 -293
- pulumi_vault/approle/auth_backend_role_secret_id.py +202 -203
- pulumi_vault/approle/get_auth_backend_role_id.py +23 -24
- pulumi_vault/audit.py +103 -104
- pulumi_vault/audit_request_header.py +52 -53
- pulumi_vault/auth_backend.py +132 -133
- pulumi_vault/aws/__init__.py +1 -1
- pulumi_vault/aws/auth_backend_cert.py +86 -87
- pulumi_vault/aws/auth_backend_client.py +307 -308
- pulumi_vault/aws/auth_backend_config_identity.py +103 -104
- pulumi_vault/aws/auth_backend_identity_whitelist.py +69 -70
- pulumi_vault/aws/auth_backend_login.py +258 -259
- pulumi_vault/aws/auth_backend_role.py +486 -487
- pulumi_vault/aws/auth_backend_role_tag.py +155 -156
- pulumi_vault/aws/auth_backend_roletag_blacklist.py +69 -70
- pulumi_vault/aws/auth_backend_sts_role.py +86 -87
- pulumi_vault/aws/get_access_credentials.py +59 -60
- pulumi_vault/aws/get_static_access_credentials.py +19 -20
- pulumi_vault/aws/secret_backend.py +1016 -439
- pulumi_vault/aws/secret_backend_role.py +256 -257
- pulumi_vault/aws/secret_backend_static_role.py +137 -138
- pulumi_vault/azure/__init__.py +1 -1
- pulumi_vault/azure/_inputs.py +26 -27
- pulumi_vault/azure/auth_backend_config.py +222 -223
- pulumi_vault/azure/auth_backend_role.py +307 -308
- pulumi_vault/azure/backend.py +1057 -285
- pulumi_vault/azure/backend_role.py +194 -195
- pulumi_vault/azure/get_access_credentials.py +75 -76
- pulumi_vault/azure/outputs.py +16 -17
- pulumi_vault/cert_auth_backend_role.py +443 -444
- pulumi_vault/config/__init__.py +1 -1
- pulumi_vault/config/__init__.pyi +1 -2
- pulumi_vault/config/_inputs.py +13 -14
- pulumi_vault/config/outputs.py +380 -381
- pulumi_vault/config/ui_custom_message.py +140 -141
- pulumi_vault/config/vars.py +31 -32
- pulumi_vault/consul/__init__.py +1 -1
- pulumi_vault/consul/secret_backend.py +887 -256
- pulumi_vault/consul/secret_backend_role.py +222 -223
- pulumi_vault/database/__init__.py +1 -1
- pulumi_vault/database/_inputs.py +3167 -3168
- pulumi_vault/database/outputs.py +2123 -2124
- pulumi_vault/database/secret_backend_connection.py +259 -260
- pulumi_vault/database/secret_backend_role.py +205 -206
- pulumi_vault/database/secret_backend_static_role.py +218 -219
- pulumi_vault/database/secrets_mount.py +426 -380
- pulumi_vault/egp_policy.py +86 -87
- pulumi_vault/gcp/__init__.py +1 -1
- pulumi_vault/gcp/_inputs.py +98 -99
- pulumi_vault/gcp/auth_backend.py +322 -323
- pulumi_vault/gcp/auth_backend_role.py +347 -348
- pulumi_vault/gcp/get_auth_backend_role.py +91 -92
- pulumi_vault/gcp/outputs.py +66 -67
- pulumi_vault/gcp/secret_backend.py +878 -336
- pulumi_vault/gcp/secret_impersonated_account.py +112 -113
- pulumi_vault/gcp/secret_roleset.py +115 -116
- pulumi_vault/gcp/secret_static_account.py +115 -116
- pulumi_vault/generic/__init__.py +1 -1
- pulumi_vault/generic/endpoint.py +138 -139
- pulumi_vault/generic/get_secret.py +39 -40
- pulumi_vault/generic/secret.py +95 -96
- pulumi_vault/get_auth_backend.py +29 -30
- pulumi_vault/get_auth_backends.py +19 -20
- pulumi_vault/get_namespace.py +21 -22
- pulumi_vault/get_namespaces.py +19 -20
- pulumi_vault/get_nomad_access_token.py +25 -26
- pulumi_vault/get_policy_document.py +10 -11
- pulumi_vault/get_raft_autopilot_state.py +31 -32
- pulumi_vault/github/__init__.py +1 -1
- pulumi_vault/github/_inputs.py +50 -51
- pulumi_vault/github/auth_backend.py +285 -286
- pulumi_vault/github/outputs.py +34 -35
- pulumi_vault/github/team.py +69 -70
- pulumi_vault/github/user.py +69 -70
- pulumi_vault/identity/__init__.py +1 -1
- pulumi_vault/identity/entity.py +103 -104
- pulumi_vault/identity/entity_alias.py +86 -87
- pulumi_vault/identity/entity_policies.py +78 -79
- pulumi_vault/identity/get_entity.py +62 -63
- pulumi_vault/identity/get_group.py +75 -76
- pulumi_vault/identity/get_oidc_client_creds.py +19 -20
- pulumi_vault/identity/get_oidc_openid_config.py +39 -40
- pulumi_vault/identity/get_oidc_public_keys.py +17 -18
- pulumi_vault/identity/group.py +171 -172
- pulumi_vault/identity/group_alias.py +69 -70
- pulumi_vault/identity/group_member_entity_ids.py +69 -70
- pulumi_vault/identity/group_member_group_ids.py +69 -70
- pulumi_vault/identity/group_policies.py +78 -79
- pulumi_vault/identity/mfa_duo.py +183 -184
- pulumi_vault/identity/mfa_login_enforcement.py +147 -148
- pulumi_vault/identity/mfa_okta.py +166 -167
- pulumi_vault/identity/mfa_pingid.py +160 -161
- pulumi_vault/identity/mfa_totp.py +217 -218
- pulumi_vault/identity/oidc.py +35 -36
- pulumi_vault/identity/oidc_assignment.py +69 -70
- pulumi_vault/identity/oidc_client.py +155 -156
- pulumi_vault/identity/oidc_key.py +103 -104
- pulumi_vault/identity/oidc_key_allowed_client_id.py +52 -53
- pulumi_vault/identity/oidc_provider.py +112 -113
- pulumi_vault/identity/oidc_role.py +103 -104
- pulumi_vault/identity/oidc_scope.py +69 -70
- pulumi_vault/identity/outputs.py +42 -43
- pulumi_vault/jwt/__init__.py +1 -1
- pulumi_vault/jwt/_inputs.py +50 -51
- pulumi_vault/jwt/auth_backend.py +400 -354
- pulumi_vault/jwt/auth_backend_role.py +494 -495
- pulumi_vault/jwt/outputs.py +34 -35
- pulumi_vault/kmip/__init__.py +1 -1
- pulumi_vault/kmip/secret_backend.py +1006 -227
- pulumi_vault/kmip/secret_role.py +358 -359
- pulumi_vault/kmip/secret_scope.py +69 -70
- pulumi_vault/kubernetes/__init__.py +1 -1
- pulumi_vault/kubernetes/auth_backend_config.py +171 -172
- pulumi_vault/kubernetes/auth_backend_role.py +273 -274
- pulumi_vault/kubernetes/get_auth_backend_config.py +57 -58
- pulumi_vault/kubernetes/get_auth_backend_role.py +87 -88
- pulumi_vault/kubernetes/get_service_account_token.py +51 -52
- pulumi_vault/kubernetes/secret_backend.py +431 -385
- pulumi_vault/kubernetes/secret_backend_role.py +239 -240
- pulumi_vault/kv/__init__.py +1 -1
- pulumi_vault/kv/_inputs.py +25 -26
- pulumi_vault/kv/get_secret.py +25 -26
- pulumi_vault/kv/get_secret_subkeys_v2.py +39 -40
- pulumi_vault/kv/get_secret_v2.py +41 -42
- pulumi_vault/kv/get_secrets_list.py +17 -18
- pulumi_vault/kv/get_secrets_list_v2.py +25 -26
- pulumi_vault/kv/outputs.py +17 -18
- pulumi_vault/kv/secret.py +61 -62
- pulumi_vault/kv/secret_backend_v2.py +86 -87
- pulumi_vault/kv/secret_v2.py +184 -185
- pulumi_vault/ldap/__init__.py +1 -1
- pulumi_vault/ldap/auth_backend.py +716 -717
- pulumi_vault/ldap/auth_backend_group.py +69 -70
- pulumi_vault/ldap/auth_backend_user.py +86 -87
- pulumi_vault/ldap/get_dynamic_credentials.py +27 -28
- pulumi_vault/ldap/get_static_credentials.py +29 -30
- pulumi_vault/ldap/secret_backend.py +732 -693
- pulumi_vault/ldap/secret_backend_dynamic_role.py +154 -155
- pulumi_vault/ldap/secret_backend_library_set.py +120 -121
- pulumi_vault/ldap/secret_backend_static_role.py +120 -121
- pulumi_vault/managed/__init__.py +1 -1
- pulumi_vault/managed/_inputs.py +274 -275
- pulumi_vault/managed/keys.py +27 -28
- pulumi_vault/managed/outputs.py +184 -185
- pulumi_vault/mfa_duo.py +137 -138
- pulumi_vault/mfa_okta.py +137 -138
- pulumi_vault/mfa_pingid.py +149 -150
- pulumi_vault/mfa_totp.py +154 -155
- pulumi_vault/mongodbatlas/__init__.py +1 -1
- pulumi_vault/mongodbatlas/secret_backend.py +78 -79
- pulumi_vault/mongodbatlas/secret_role.py +188 -189
- pulumi_vault/mount.py +380 -334
- pulumi_vault/namespace.py +78 -79
- pulumi_vault/nomad_secret_backend.py +909 -271
- pulumi_vault/nomad_secret_role.py +103 -104
- pulumi_vault/oci_auth_backend.py +683 -0
- pulumi_vault/oci_auth_backend_role.py +798 -0
- pulumi_vault/okta/__init__.py +1 -1
- pulumi_vault/okta/_inputs.py +31 -32
- pulumi_vault/okta/auth_backend.py +305 -306
- pulumi_vault/okta/auth_backend_group.py +69 -70
- pulumi_vault/okta/auth_backend_user.py +86 -87
- pulumi_vault/okta/outputs.py +21 -22
- pulumi_vault/outputs.py +234 -82
- pulumi_vault/pkisecret/__init__.py +1 -1
- pulumi_vault/pkisecret/_inputs.py +55 -56
- pulumi_vault/pkisecret/backend_acme_eab.py +116 -117
- pulumi_vault/pkisecret/backend_config_acme.py +175 -176
- pulumi_vault/pkisecret/backend_config_auto_tidy.py +394 -395
- pulumi_vault/pkisecret/backend_config_cluster.py +71 -72
- pulumi_vault/pkisecret/backend_config_cmpv2.py +132 -133
- pulumi_vault/pkisecret/backend_config_est.py +149 -150
- pulumi_vault/pkisecret/backend_config_scep.py +205 -159
- pulumi_vault/pkisecret/get_backend_cert_metadata.py +37 -38
- pulumi_vault/pkisecret/get_backend_config_cmpv2.py +32 -33
- pulumi_vault/pkisecret/get_backend_config_est.py +30 -31
- pulumi_vault/pkisecret/get_backend_config_scep.py +50 -31
- pulumi_vault/pkisecret/get_backend_issuer.py +63 -64
- pulumi_vault/pkisecret/get_backend_issuers.py +23 -24
- pulumi_vault/pkisecret/get_backend_key.py +29 -30
- pulumi_vault/pkisecret/get_backend_keys.py +23 -24
- pulumi_vault/pkisecret/outputs.py +61 -62
- pulumi_vault/pkisecret/secret_backend_cert.py +415 -416
- pulumi_vault/pkisecret/secret_backend_config_ca.py +54 -55
- pulumi_vault/pkisecret/secret_backend_config_issuers.py +75 -76
- pulumi_vault/pkisecret/secret_backend_config_urls.py +105 -106
- pulumi_vault/pkisecret/secret_backend_crl_config.py +241 -242
- pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +515 -516
- pulumi_vault/pkisecret/secret_backend_intermediate_set_signed.py +78 -79
- pulumi_vault/pkisecret/secret_backend_issuer.py +286 -287
- pulumi_vault/pkisecret/secret_backend_key.py +146 -147
- pulumi_vault/pkisecret/secret_backend_role.py +873 -874
- pulumi_vault/pkisecret/secret_backend_root_cert.py +677 -678
- pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +660 -661
- pulumi_vault/pkisecret/secret_backend_sign.py +346 -347
- pulumi_vault/plugin.py +154 -155
- pulumi_vault/plugin_pinned_version.py +52 -53
- pulumi_vault/policy.py +52 -53
- pulumi_vault/provider.py +160 -161
- pulumi_vault/pulumi-plugin.json +1 -1
- pulumi_vault/quota_lease_count.py +103 -104
- pulumi_vault/quota_rate_limit.py +171 -172
- pulumi_vault/rabbitmq/__init__.py +1 -1
- pulumi_vault/rabbitmq/_inputs.py +50 -51
- pulumi_vault/rabbitmq/outputs.py +34 -35
- pulumi_vault/rabbitmq/secret_backend.py +902 -231
- pulumi_vault/rabbitmq/secret_backend_role.py +79 -80
- pulumi_vault/raft_autopilot.py +137 -138
- pulumi_vault/raft_snapshot_agent_config.py +477 -478
- pulumi_vault/rgp_policy.py +69 -70
- pulumi_vault/saml/__init__.py +1 -1
- pulumi_vault/saml/auth_backend.py +188 -189
- pulumi_vault/saml/auth_backend_role.py +290 -291
- pulumi_vault/scep_auth_backend_role.py +252 -253
- pulumi_vault/secrets/__init__.py +1 -1
- pulumi_vault/secrets/_inputs.py +19 -20
- pulumi_vault/secrets/outputs.py +13 -14
- pulumi_vault/secrets/sync_association.py +88 -89
- pulumi_vault/secrets/sync_aws_destination.py +180 -181
- pulumi_vault/secrets/sync_azure_destination.py +180 -181
- pulumi_vault/secrets/sync_config.py +52 -53
- pulumi_vault/secrets/sync_gcp_destination.py +129 -130
- pulumi_vault/secrets/sync_gh_destination.py +163 -164
- pulumi_vault/secrets/sync_github_apps.py +78 -79
- pulumi_vault/secrets/sync_vercel_destination.py +146 -147
- pulumi_vault/ssh/__init__.py +1 -1
- pulumi_vault/ssh/_inputs.py +13 -14
- pulumi_vault/ssh/get_secret_backend_sign.py +65 -66
- pulumi_vault/ssh/outputs.py +9 -10
- pulumi_vault/ssh/secret_backend_ca.py +217 -124
- pulumi_vault/ssh/secret_backend_role.py +446 -447
- pulumi_vault/terraformcloud/__init__.py +1 -1
- pulumi_vault/terraformcloud/secret_backend.py +833 -155
- pulumi_vault/terraformcloud/secret_creds.py +93 -94
- pulumi_vault/terraformcloud/secret_role.py +117 -118
- pulumi_vault/token.py +301 -302
- pulumi_vault/tokenauth/__init__.py +1 -1
- pulumi_vault/tokenauth/auth_backend_role.py +324 -325
- pulumi_vault/transform/__init__.py +1 -1
- pulumi_vault/transform/alphabet.py +69 -70
- pulumi_vault/transform/get_decode.py +57 -58
- pulumi_vault/transform/get_encode.py +57 -58
- pulumi_vault/transform/role.py +69 -70
- pulumi_vault/transform/template.py +137 -138
- pulumi_vault/transform/transformation.py +171 -172
- pulumi_vault/transit/__init__.py +1 -1
- pulumi_vault/transit/get_cmac.py +47 -48
- pulumi_vault/transit/get_decrypt.py +25 -26
- pulumi_vault/transit/get_encrypt.py +29 -30
- pulumi_vault/transit/get_sign.py +71 -72
- pulumi_vault/transit/get_verify.py +83 -84
- pulumi_vault/transit/secret_backend_key.py +377 -350
- pulumi_vault/transit/secret_cache_config.py +52 -53
- {pulumi_vault-7.1.0.dist-info → pulumi_vault-7.2.0.dist-info}/METADATA +1 -1
- pulumi_vault-7.2.0.dist-info/RECORD +270 -0
- pulumi_vault-7.1.0.dist-info/RECORD +0 -268
- {pulumi_vault-7.1.0.dist-info → pulumi_vault-7.2.0.dist-info}/WHEEL +0 -0
- {pulumi_vault-7.1.0.dist-info → pulumi_vault-7.2.0.dist-info}/top_level.txt +0 -0
pulumi_vault/quota_rate_limit.py
CHANGED
@@ -2,8 +2,7 @@
|
|
2
2
|
# *** WARNING: this file was generated by pulumi-language-python. ***
|
3
3
|
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
4
|
|
5
|
-
import builtins
|
6
|
-
import copy
|
5
|
+
import builtins as _builtins
|
7
6
|
import warnings
|
8
7
|
import sys
|
9
8
|
import pulumi
|
@@ -20,44 +19,44 @@ __all__ = ['QuotaRateLimitArgs', 'QuotaRateLimit']
|
|
20
19
|
@pulumi.input_type
|
21
20
|
class QuotaRateLimitArgs:
|
22
21
|
def __init__(__self__, *,
|
23
|
-
rate: pulumi.Input[
|
24
|
-
block_interval: Optional[pulumi.Input[
|
25
|
-
group_by: Optional[pulumi.Input[
|
26
|
-
inheritable: Optional[pulumi.Input[
|
27
|
-
interval: Optional[pulumi.Input[
|
28
|
-
name: Optional[pulumi.Input[
|
29
|
-
namespace: Optional[pulumi.Input[
|
30
|
-
path: Optional[pulumi.Input[
|
31
|
-
role: Optional[pulumi.Input[
|
32
|
-
secondary_rate: Optional[pulumi.Input[
|
22
|
+
rate: pulumi.Input[_builtins.float],
|
23
|
+
block_interval: Optional[pulumi.Input[_builtins.int]] = None,
|
24
|
+
group_by: Optional[pulumi.Input[_builtins.str]] = None,
|
25
|
+
inheritable: Optional[pulumi.Input[_builtins.bool]] = None,
|
26
|
+
interval: Optional[pulumi.Input[_builtins.int]] = None,
|
27
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
28
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
29
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
30
|
+
role: Optional[pulumi.Input[_builtins.str]] = None,
|
31
|
+
secondary_rate: Optional[pulumi.Input[_builtins.float]] = None):
|
33
32
|
"""
|
34
33
|
The set of arguments for constructing a QuotaRateLimit resource.
|
35
|
-
:param pulumi.Input[
|
34
|
+
:param pulumi.Input[_builtins.float] rate: The maximum number of requests at any given second to be allowed by the quota
|
36
35
|
rule. The `rate` must be positive.
|
37
|
-
:param pulumi.Input[
|
36
|
+
:param pulumi.Input[_builtins.int] block_interval: If set, when a client reaches a rate limit threshold, the client will
|
38
37
|
be prohibited from any further requests until after the 'block_interval' in seconds has elapsed.
|
39
|
-
:param pulumi.Input[
|
38
|
+
:param pulumi.Input[_builtins.str] group_by: Attribute used to group requests for rate limiting. Limits are enforced independently for each
|
40
39
|
group. Valid `group_by` modes are: 1) `ip` that groups requests by their source IP address (**`group_by` defaults to
|
41
40
|
`ip` if unset, which is the only supported mode in community edition**); 2) `none` that groups together all requests
|
42
41
|
that match the rate limit quota rule; 3) `entity_then_ip` that groups requests by their entity ID for authenticated
|
43
42
|
requests that carry one, or by their IP for unauthenticated requests (or requests whose authentication is not
|
44
43
|
connected to an entity); and 4) `entity_then_none` which also groups requests by their entity ID when available, but
|
45
44
|
the rest is all grouped together (i.e. unauthenticated or with authentication not connected to an entity).
|
46
|
-
:param pulumi.Input[
|
47
|
-
:param pulumi.Input[
|
48
|
-
:param pulumi.Input[
|
49
|
-
:param pulumi.Input[
|
45
|
+
:param pulumi.Input[_builtins.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+.
|
46
|
+
:param pulumi.Input[_builtins.int] interval: The duration in seconds to enforce rate limiting for.
|
47
|
+
:param pulumi.Input[_builtins.str] name: Name of the rate limit quota
|
48
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
50
49
|
The value should not contain leading or trailing forward slashes.
|
51
50
|
The `namespace` is always relative to the provider's configured namespace.
|
52
51
|
*Available only for Vault Enterprise*.
|
53
|
-
:param pulumi.Input[
|
52
|
+
:param pulumi.Input[_builtins.str] path: Path of the mount or namespace to apply the quota. A blank path configures a
|
54
53
|
global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
|
55
54
|
`namespace1/auth/userpass` adds a `quota` to `userpass` in `namespace1`.
|
56
55
|
Updating this field on an existing quota can have "moving" effects. For example, updating
|
57
56
|
`auth/userpass` to `namespace1/auth/userpass` moves this quota from being a global mount quota to
|
58
57
|
a namespace specific mount quota. **Note, namespaces are supported in Enterprise only.**
|
59
|
-
:param pulumi.Input[
|
60
|
-
:param pulumi.Input[
|
58
|
+
:param pulumi.Input[_builtins.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.
|
59
|
+
:param pulumi.Input[_builtins.float] secondary_rate: Can only be set for the `group_by` modes `entity_then_ip` or `entity_then_none`. This is
|
61
60
|
the rate limit applied to the requests that fall under the "ip" or "none" groupings, while the authenticated requests
|
62
61
|
that contain an entity ID are subject to the `rate` field instead. Defaults to the same value as `rate`.
|
63
62
|
"""
|
@@ -81,9 +80,9 @@ class QuotaRateLimitArgs:
|
|
81
80
|
if secondary_rate is not None:
|
82
81
|
pulumi.set(__self__, "secondary_rate", secondary_rate)
|
83
82
|
|
84
|
-
@property
|
83
|
+
@_builtins.property
|
85
84
|
@pulumi.getter
|
86
|
-
def rate(self) -> pulumi.Input[
|
85
|
+
def rate(self) -> pulumi.Input[_builtins.float]:
|
87
86
|
"""
|
88
87
|
The maximum number of requests at any given second to be allowed by the quota
|
89
88
|
rule. The `rate` must be positive.
|
@@ -91,12 +90,12 @@ class QuotaRateLimitArgs:
|
|
91
90
|
return pulumi.get(self, "rate")
|
92
91
|
|
93
92
|
@rate.setter
|
94
|
-
def rate(self, value: pulumi.Input[
|
93
|
+
def rate(self, value: pulumi.Input[_builtins.float]):
|
95
94
|
pulumi.set(self, "rate", value)
|
96
95
|
|
97
|
-
@property
|
96
|
+
@_builtins.property
|
98
97
|
@pulumi.getter(name="blockInterval")
|
99
|
-
def block_interval(self) -> Optional[pulumi.Input[
|
98
|
+
def block_interval(self) -> Optional[pulumi.Input[_builtins.int]]:
|
100
99
|
"""
|
101
100
|
If set, when a client reaches a rate limit threshold, the client will
|
102
101
|
be prohibited from any further requests until after the 'block_interval' in seconds has elapsed.
|
@@ -104,12 +103,12 @@ class QuotaRateLimitArgs:
|
|
104
103
|
return pulumi.get(self, "block_interval")
|
105
104
|
|
106
105
|
@block_interval.setter
|
107
|
-
def block_interval(self, value: Optional[pulumi.Input[
|
106
|
+
def block_interval(self, value: Optional[pulumi.Input[_builtins.int]]):
|
108
107
|
pulumi.set(self, "block_interval", value)
|
109
108
|
|
110
|
-
@property
|
109
|
+
@_builtins.property
|
111
110
|
@pulumi.getter(name="groupBy")
|
112
|
-
def group_by(self) -> Optional[pulumi.Input[
|
111
|
+
def group_by(self) -> Optional[pulumi.Input[_builtins.str]]:
|
113
112
|
"""
|
114
113
|
Attribute used to group requests for rate limiting. Limits are enforced independently for each
|
115
114
|
group. Valid `group_by` modes are: 1) `ip` that groups requests by their source IP address (**`group_by` defaults to
|
@@ -122,48 +121,48 @@ class QuotaRateLimitArgs:
|
|
122
121
|
return pulumi.get(self, "group_by")
|
123
122
|
|
124
123
|
@group_by.setter
|
125
|
-
def group_by(self, value: Optional[pulumi.Input[
|
124
|
+
def group_by(self, value: Optional[pulumi.Input[_builtins.str]]):
|
126
125
|
pulumi.set(self, "group_by", value)
|
127
126
|
|
128
|
-
@property
|
127
|
+
@_builtins.property
|
129
128
|
@pulumi.getter
|
130
|
-
def inheritable(self) -> Optional[pulumi.Input[
|
129
|
+
def inheritable(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
131
130
|
"""
|
132
131
|
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+.
|
133
132
|
"""
|
134
133
|
return pulumi.get(self, "inheritable")
|
135
134
|
|
136
135
|
@inheritable.setter
|
137
|
-
def inheritable(self, value: Optional[pulumi.Input[
|
136
|
+
def inheritable(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
138
137
|
pulumi.set(self, "inheritable", value)
|
139
138
|
|
140
|
-
@property
|
139
|
+
@_builtins.property
|
141
140
|
@pulumi.getter
|
142
|
-
def interval(self) -> Optional[pulumi.Input[
|
141
|
+
def interval(self) -> Optional[pulumi.Input[_builtins.int]]:
|
143
142
|
"""
|
144
143
|
The duration in seconds to enforce rate limiting for.
|
145
144
|
"""
|
146
145
|
return pulumi.get(self, "interval")
|
147
146
|
|
148
147
|
@interval.setter
|
149
|
-
def interval(self, value: Optional[pulumi.Input[
|
148
|
+
def interval(self, value: Optional[pulumi.Input[_builtins.int]]):
|
150
149
|
pulumi.set(self, "interval", value)
|
151
150
|
|
152
|
-
@property
|
151
|
+
@_builtins.property
|
153
152
|
@pulumi.getter
|
154
|
-
def name(self) -> Optional[pulumi.Input[
|
153
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
155
154
|
"""
|
156
155
|
Name of the rate limit quota
|
157
156
|
"""
|
158
157
|
return pulumi.get(self, "name")
|
159
158
|
|
160
159
|
@name.setter
|
161
|
-
def name(self, value: Optional[pulumi.Input[
|
160
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
162
161
|
pulumi.set(self, "name", value)
|
163
162
|
|
164
|
-
@property
|
163
|
+
@_builtins.property
|
165
164
|
@pulumi.getter
|
166
|
-
def namespace(self) -> Optional[pulumi.Input[
|
165
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
167
166
|
"""
|
168
167
|
The namespace to provision the resource in.
|
169
168
|
The value should not contain leading or trailing forward slashes.
|
@@ -173,12 +172,12 @@ class QuotaRateLimitArgs:
|
|
173
172
|
return pulumi.get(self, "namespace")
|
174
173
|
|
175
174
|
@namespace.setter
|
176
|
-
def namespace(self, value: Optional[pulumi.Input[
|
175
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
177
176
|
pulumi.set(self, "namespace", value)
|
178
177
|
|
179
|
-
@property
|
178
|
+
@_builtins.property
|
180
179
|
@pulumi.getter
|
181
|
-
def path(self) -> Optional[pulumi.Input[
|
180
|
+
def path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
182
181
|
"""
|
183
182
|
Path of the mount or namespace to apply the quota. A blank path configures a
|
184
183
|
global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
|
@@ -190,24 +189,24 @@ class QuotaRateLimitArgs:
|
|
190
189
|
return pulumi.get(self, "path")
|
191
190
|
|
192
191
|
@path.setter
|
193
|
-
def path(self, value: Optional[pulumi.Input[
|
192
|
+
def path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
194
193
|
pulumi.set(self, "path", value)
|
195
194
|
|
196
|
-
@property
|
195
|
+
@_builtins.property
|
197
196
|
@pulumi.getter
|
198
|
-
def role(self) -> Optional[pulumi.Input[
|
197
|
+
def role(self) -> Optional[pulumi.Input[_builtins.str]]:
|
199
198
|
"""
|
200
199
|
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.
|
201
200
|
"""
|
202
201
|
return pulumi.get(self, "role")
|
203
202
|
|
204
203
|
@role.setter
|
205
|
-
def role(self, value: Optional[pulumi.Input[
|
204
|
+
def role(self, value: Optional[pulumi.Input[_builtins.str]]):
|
206
205
|
pulumi.set(self, "role", value)
|
207
206
|
|
208
|
-
@property
|
207
|
+
@_builtins.property
|
209
208
|
@pulumi.getter(name="secondaryRate")
|
210
|
-
def secondary_rate(self) -> Optional[pulumi.Input[
|
209
|
+
def secondary_rate(self) -> Optional[pulumi.Input[_builtins.float]]:
|
211
210
|
"""
|
212
211
|
Can only be set for the `group_by` modes `entity_then_ip` or `entity_then_none`. This is
|
213
212
|
the rate limit applied to the requests that fall under the "ip" or "none" groupings, while the authenticated requests
|
@@ -216,51 +215,51 @@ class QuotaRateLimitArgs:
|
|
216
215
|
return pulumi.get(self, "secondary_rate")
|
217
216
|
|
218
217
|
@secondary_rate.setter
|
219
|
-
def secondary_rate(self, value: Optional[pulumi.Input[
|
218
|
+
def secondary_rate(self, value: Optional[pulumi.Input[_builtins.float]]):
|
220
219
|
pulumi.set(self, "secondary_rate", value)
|
221
220
|
|
222
221
|
|
223
222
|
@pulumi.input_type
|
224
223
|
class _QuotaRateLimitState:
|
225
224
|
def __init__(__self__, *,
|
226
|
-
block_interval: Optional[pulumi.Input[
|
227
|
-
group_by: Optional[pulumi.Input[
|
228
|
-
inheritable: Optional[pulumi.Input[
|
229
|
-
interval: Optional[pulumi.Input[
|
230
|
-
name: Optional[pulumi.Input[
|
231
|
-
namespace: Optional[pulumi.Input[
|
232
|
-
path: Optional[pulumi.Input[
|
233
|
-
rate: Optional[pulumi.Input[
|
234
|
-
role: Optional[pulumi.Input[
|
235
|
-
secondary_rate: Optional[pulumi.Input[
|
225
|
+
block_interval: Optional[pulumi.Input[_builtins.int]] = None,
|
226
|
+
group_by: Optional[pulumi.Input[_builtins.str]] = None,
|
227
|
+
inheritable: Optional[pulumi.Input[_builtins.bool]] = None,
|
228
|
+
interval: Optional[pulumi.Input[_builtins.int]] = None,
|
229
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
230
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
231
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
232
|
+
rate: Optional[pulumi.Input[_builtins.float]] = None,
|
233
|
+
role: Optional[pulumi.Input[_builtins.str]] = None,
|
234
|
+
secondary_rate: Optional[pulumi.Input[_builtins.float]] = None):
|
236
235
|
"""
|
237
236
|
Input properties used for looking up and filtering QuotaRateLimit resources.
|
238
|
-
:param pulumi.Input[
|
237
|
+
:param pulumi.Input[_builtins.int] block_interval: If set, when a client reaches a rate limit threshold, the client will
|
239
238
|
be prohibited from any further requests until after the 'block_interval' in seconds has elapsed.
|
240
|
-
:param pulumi.Input[
|
239
|
+
:param pulumi.Input[_builtins.str] group_by: Attribute used to group requests for rate limiting. Limits are enforced independently for each
|
241
240
|
group. Valid `group_by` modes are: 1) `ip` that groups requests by their source IP address (**`group_by` defaults to
|
242
241
|
`ip` if unset, which is the only supported mode in community edition**); 2) `none` that groups together all requests
|
243
242
|
that match the rate limit quota rule; 3) `entity_then_ip` that groups requests by their entity ID for authenticated
|
244
243
|
requests that carry one, or by their IP for unauthenticated requests (or requests whose authentication is not
|
245
244
|
connected to an entity); and 4) `entity_then_none` which also groups requests by their entity ID when available, but
|
246
245
|
the rest is all grouped together (i.e. unauthenticated or with authentication not connected to an entity).
|
247
|
-
:param pulumi.Input[
|
248
|
-
:param pulumi.Input[
|
249
|
-
:param pulumi.Input[
|
250
|
-
:param pulumi.Input[
|
246
|
+
:param pulumi.Input[_builtins.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+.
|
247
|
+
:param pulumi.Input[_builtins.int] interval: The duration in seconds to enforce rate limiting for.
|
248
|
+
:param pulumi.Input[_builtins.str] name: Name of the rate limit quota
|
249
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
251
250
|
The value should not contain leading or trailing forward slashes.
|
252
251
|
The `namespace` is always relative to the provider's configured namespace.
|
253
252
|
*Available only for Vault Enterprise*.
|
254
|
-
:param pulumi.Input[
|
253
|
+
:param pulumi.Input[_builtins.str] path: Path of the mount or namespace to apply the quota. A blank path configures a
|
255
254
|
global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
|
256
255
|
`namespace1/auth/userpass` adds a `quota` to `userpass` in `namespace1`.
|
257
256
|
Updating this field on an existing quota can have "moving" effects. For example, updating
|
258
257
|
`auth/userpass` to `namespace1/auth/userpass` moves this quota from being a global mount quota to
|
259
258
|
a namespace specific mount quota. **Note, namespaces are supported in Enterprise only.**
|
260
|
-
:param pulumi.Input[
|
259
|
+
:param pulumi.Input[_builtins.float] rate: The maximum number of requests at any given second to be allowed by the quota
|
261
260
|
rule. The `rate` must be positive.
|
262
|
-
:param pulumi.Input[
|
263
|
-
:param pulumi.Input[
|
261
|
+
:param pulumi.Input[_builtins.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.
|
262
|
+
:param pulumi.Input[_builtins.float] secondary_rate: Can only be set for the `group_by` modes `entity_then_ip` or `entity_then_none`. This is
|
264
263
|
the rate limit applied to the requests that fall under the "ip" or "none" groupings, while the authenticated requests
|
265
264
|
that contain an entity ID are subject to the `rate` field instead. Defaults to the same value as `rate`.
|
266
265
|
"""
|
@@ -285,9 +284,9 @@ class _QuotaRateLimitState:
|
|
285
284
|
if secondary_rate is not None:
|
286
285
|
pulumi.set(__self__, "secondary_rate", secondary_rate)
|
287
286
|
|
288
|
-
@property
|
287
|
+
@_builtins.property
|
289
288
|
@pulumi.getter(name="blockInterval")
|
290
|
-
def block_interval(self) -> Optional[pulumi.Input[
|
289
|
+
def block_interval(self) -> Optional[pulumi.Input[_builtins.int]]:
|
291
290
|
"""
|
292
291
|
If set, when a client reaches a rate limit threshold, the client will
|
293
292
|
be prohibited from any further requests until after the 'block_interval' in seconds has elapsed.
|
@@ -295,12 +294,12 @@ class _QuotaRateLimitState:
|
|
295
294
|
return pulumi.get(self, "block_interval")
|
296
295
|
|
297
296
|
@block_interval.setter
|
298
|
-
def block_interval(self, value: Optional[pulumi.Input[
|
297
|
+
def block_interval(self, value: Optional[pulumi.Input[_builtins.int]]):
|
299
298
|
pulumi.set(self, "block_interval", value)
|
300
299
|
|
301
|
-
@property
|
300
|
+
@_builtins.property
|
302
301
|
@pulumi.getter(name="groupBy")
|
303
|
-
def group_by(self) -> Optional[pulumi.Input[
|
302
|
+
def group_by(self) -> Optional[pulumi.Input[_builtins.str]]:
|
304
303
|
"""
|
305
304
|
Attribute used to group requests for rate limiting. Limits are enforced independently for each
|
306
305
|
group. Valid `group_by` modes are: 1) `ip` that groups requests by their source IP address (**`group_by` defaults to
|
@@ -313,48 +312,48 @@ class _QuotaRateLimitState:
|
|
313
312
|
return pulumi.get(self, "group_by")
|
314
313
|
|
315
314
|
@group_by.setter
|
316
|
-
def group_by(self, value: Optional[pulumi.Input[
|
315
|
+
def group_by(self, value: Optional[pulumi.Input[_builtins.str]]):
|
317
316
|
pulumi.set(self, "group_by", value)
|
318
317
|
|
319
|
-
@property
|
318
|
+
@_builtins.property
|
320
319
|
@pulumi.getter
|
321
|
-
def inheritable(self) -> Optional[pulumi.Input[
|
320
|
+
def inheritable(self) -> Optional[pulumi.Input[_builtins.bool]]:
|
322
321
|
"""
|
323
322
|
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+.
|
324
323
|
"""
|
325
324
|
return pulumi.get(self, "inheritable")
|
326
325
|
|
327
326
|
@inheritable.setter
|
328
|
-
def inheritable(self, value: Optional[pulumi.Input[
|
327
|
+
def inheritable(self, value: Optional[pulumi.Input[_builtins.bool]]):
|
329
328
|
pulumi.set(self, "inheritable", value)
|
330
329
|
|
331
|
-
@property
|
330
|
+
@_builtins.property
|
332
331
|
@pulumi.getter
|
333
|
-
def interval(self) -> Optional[pulumi.Input[
|
332
|
+
def interval(self) -> Optional[pulumi.Input[_builtins.int]]:
|
334
333
|
"""
|
335
334
|
The duration in seconds to enforce rate limiting for.
|
336
335
|
"""
|
337
336
|
return pulumi.get(self, "interval")
|
338
337
|
|
339
338
|
@interval.setter
|
340
|
-
def interval(self, value: Optional[pulumi.Input[
|
339
|
+
def interval(self, value: Optional[pulumi.Input[_builtins.int]]):
|
341
340
|
pulumi.set(self, "interval", value)
|
342
341
|
|
343
|
-
@property
|
342
|
+
@_builtins.property
|
344
343
|
@pulumi.getter
|
345
|
-
def name(self) -> Optional[pulumi.Input[
|
344
|
+
def name(self) -> Optional[pulumi.Input[_builtins.str]]:
|
346
345
|
"""
|
347
346
|
Name of the rate limit quota
|
348
347
|
"""
|
349
348
|
return pulumi.get(self, "name")
|
350
349
|
|
351
350
|
@name.setter
|
352
|
-
def name(self, value: Optional[pulumi.Input[
|
351
|
+
def name(self, value: Optional[pulumi.Input[_builtins.str]]):
|
353
352
|
pulumi.set(self, "name", value)
|
354
353
|
|
355
|
-
@property
|
354
|
+
@_builtins.property
|
356
355
|
@pulumi.getter
|
357
|
-
def namespace(self) -> Optional[pulumi.Input[
|
356
|
+
def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
|
358
357
|
"""
|
359
358
|
The namespace to provision the resource in.
|
360
359
|
The value should not contain leading or trailing forward slashes.
|
@@ -364,12 +363,12 @@ class _QuotaRateLimitState:
|
|
364
363
|
return pulumi.get(self, "namespace")
|
365
364
|
|
366
365
|
@namespace.setter
|
367
|
-
def namespace(self, value: Optional[pulumi.Input[
|
366
|
+
def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
|
368
367
|
pulumi.set(self, "namespace", value)
|
369
368
|
|
370
|
-
@property
|
369
|
+
@_builtins.property
|
371
370
|
@pulumi.getter
|
372
|
-
def path(self) -> Optional[pulumi.Input[
|
371
|
+
def path(self) -> Optional[pulumi.Input[_builtins.str]]:
|
373
372
|
"""
|
374
373
|
Path of the mount or namespace to apply the quota. A blank path configures a
|
375
374
|
global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
|
@@ -381,12 +380,12 @@ class _QuotaRateLimitState:
|
|
381
380
|
return pulumi.get(self, "path")
|
382
381
|
|
383
382
|
@path.setter
|
384
|
-
def path(self, value: Optional[pulumi.Input[
|
383
|
+
def path(self, value: Optional[pulumi.Input[_builtins.str]]):
|
385
384
|
pulumi.set(self, "path", value)
|
386
385
|
|
387
|
-
@property
|
386
|
+
@_builtins.property
|
388
387
|
@pulumi.getter
|
389
|
-
def rate(self) -> Optional[pulumi.Input[
|
388
|
+
def rate(self) -> Optional[pulumi.Input[_builtins.float]]:
|
390
389
|
"""
|
391
390
|
The maximum number of requests at any given second to be allowed by the quota
|
392
391
|
rule. The `rate` must be positive.
|
@@ -394,24 +393,24 @@ class _QuotaRateLimitState:
|
|
394
393
|
return pulumi.get(self, "rate")
|
395
394
|
|
396
395
|
@rate.setter
|
397
|
-
def rate(self, value: Optional[pulumi.Input[
|
396
|
+
def rate(self, value: Optional[pulumi.Input[_builtins.float]]):
|
398
397
|
pulumi.set(self, "rate", value)
|
399
398
|
|
400
|
-
@property
|
399
|
+
@_builtins.property
|
401
400
|
@pulumi.getter
|
402
|
-
def role(self) -> Optional[pulumi.Input[
|
401
|
+
def role(self) -> Optional[pulumi.Input[_builtins.str]]:
|
403
402
|
"""
|
404
403
|
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.
|
405
404
|
"""
|
406
405
|
return pulumi.get(self, "role")
|
407
406
|
|
408
407
|
@role.setter
|
409
|
-
def role(self, value: Optional[pulumi.Input[
|
408
|
+
def role(self, value: Optional[pulumi.Input[_builtins.str]]):
|
410
409
|
pulumi.set(self, "role", value)
|
411
410
|
|
412
|
-
@property
|
411
|
+
@_builtins.property
|
413
412
|
@pulumi.getter(name="secondaryRate")
|
414
|
-
def secondary_rate(self) -> Optional[pulumi.Input[
|
413
|
+
def secondary_rate(self) -> Optional[pulumi.Input[_builtins.float]]:
|
415
414
|
"""
|
416
415
|
Can only be set for the `group_by` modes `entity_then_ip` or `entity_then_none`. This is
|
417
416
|
the rate limit applied to the requests that fall under the "ip" or "none" groupings, while the authenticated requests
|
@@ -420,7 +419,7 @@ class _QuotaRateLimitState:
|
|
420
419
|
return pulumi.get(self, "secondary_rate")
|
421
420
|
|
422
421
|
@secondary_rate.setter
|
423
|
-
def secondary_rate(self, value: Optional[pulumi.Input[
|
422
|
+
def secondary_rate(self, value: Optional[pulumi.Input[_builtins.float]]):
|
424
423
|
pulumi.set(self, "secondary_rate", value)
|
425
424
|
|
426
425
|
|
@@ -430,16 +429,16 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
430
429
|
def __init__(__self__,
|
431
430
|
resource_name: str,
|
432
431
|
opts: Optional[pulumi.ResourceOptions] = None,
|
433
|
-
block_interval: Optional[pulumi.Input[
|
434
|
-
group_by: Optional[pulumi.Input[
|
435
|
-
inheritable: Optional[pulumi.Input[
|
436
|
-
interval: Optional[pulumi.Input[
|
437
|
-
name: Optional[pulumi.Input[
|
438
|
-
namespace: Optional[pulumi.Input[
|
439
|
-
path: Optional[pulumi.Input[
|
440
|
-
rate: Optional[pulumi.Input[
|
441
|
-
role: Optional[pulumi.Input[
|
442
|
-
secondary_rate: Optional[pulumi.Input[
|
432
|
+
block_interval: Optional[pulumi.Input[_builtins.int]] = None,
|
433
|
+
group_by: Optional[pulumi.Input[_builtins.str]] = None,
|
434
|
+
inheritable: Optional[pulumi.Input[_builtins.bool]] = None,
|
435
|
+
interval: Optional[pulumi.Input[_builtins.int]] = None,
|
436
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
437
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
438
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
439
|
+
rate: Optional[pulumi.Input[_builtins.float]] = None,
|
440
|
+
role: Optional[pulumi.Input[_builtins.str]] = None,
|
441
|
+
secondary_rate: Optional[pulumi.Input[_builtins.float]] = None,
|
443
442
|
__props__=None):
|
444
443
|
"""
|
445
444
|
Manage rate limit quotas which enforce API rate limiting using a token bucket algorithm.
|
@@ -471,32 +470,32 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
471
470
|
|
472
471
|
:param str resource_name: The name of the resource.
|
473
472
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
474
|
-
:param pulumi.Input[
|
473
|
+
:param pulumi.Input[_builtins.int] block_interval: If set, when a client reaches a rate limit threshold, the client will
|
475
474
|
be prohibited from any further requests until after the 'block_interval' in seconds has elapsed.
|
476
|
-
:param pulumi.Input[
|
475
|
+
:param pulumi.Input[_builtins.str] group_by: Attribute used to group requests for rate limiting. Limits are enforced independently for each
|
477
476
|
group. Valid `group_by` modes are: 1) `ip` that groups requests by their source IP address (**`group_by` defaults to
|
478
477
|
`ip` if unset, which is the only supported mode in community edition**); 2) `none` that groups together all requests
|
479
478
|
that match the rate limit quota rule; 3) `entity_then_ip` that groups requests by their entity ID for authenticated
|
480
479
|
requests that carry one, or by their IP for unauthenticated requests (or requests whose authentication is not
|
481
480
|
connected to an entity); and 4) `entity_then_none` which also groups requests by their entity ID when available, but
|
482
481
|
the rest is all grouped together (i.e. unauthenticated or with authentication not connected to an entity).
|
483
|
-
:param pulumi.Input[
|
484
|
-
:param pulumi.Input[
|
485
|
-
:param pulumi.Input[
|
486
|
-
:param pulumi.Input[
|
482
|
+
:param pulumi.Input[_builtins.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+.
|
483
|
+
:param pulumi.Input[_builtins.int] interval: The duration in seconds to enforce rate limiting for.
|
484
|
+
:param pulumi.Input[_builtins.str] name: Name of the rate limit quota
|
485
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
487
486
|
The value should not contain leading or trailing forward slashes.
|
488
487
|
The `namespace` is always relative to the provider's configured namespace.
|
489
488
|
*Available only for Vault Enterprise*.
|
490
|
-
:param pulumi.Input[
|
489
|
+
:param pulumi.Input[_builtins.str] path: Path of the mount or namespace to apply the quota. A blank path configures a
|
491
490
|
global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
|
492
491
|
`namespace1/auth/userpass` adds a `quota` to `userpass` in `namespace1`.
|
493
492
|
Updating this field on an existing quota can have "moving" effects. For example, updating
|
494
493
|
`auth/userpass` to `namespace1/auth/userpass` moves this quota from being a global mount quota to
|
495
494
|
a namespace specific mount quota. **Note, namespaces are supported in Enterprise only.**
|
496
|
-
:param pulumi.Input[
|
495
|
+
:param pulumi.Input[_builtins.float] rate: The maximum number of requests at any given second to be allowed by the quota
|
497
496
|
rule. The `rate` must be positive.
|
498
|
-
:param pulumi.Input[
|
499
|
-
:param pulumi.Input[
|
497
|
+
:param pulumi.Input[_builtins.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.
|
498
|
+
:param pulumi.Input[_builtins.float] secondary_rate: Can only be set for the `group_by` modes `entity_then_ip` or `entity_then_none`. This is
|
500
499
|
the rate limit applied to the requests that fall under the "ip" or "none" groupings, while the authenticated requests
|
501
500
|
that contain an entity ID are subject to the `rate` field instead. Defaults to the same value as `rate`.
|
502
501
|
"""
|
@@ -549,16 +548,16 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
549
548
|
def _internal_init(__self__,
|
550
549
|
resource_name: str,
|
551
550
|
opts: Optional[pulumi.ResourceOptions] = None,
|
552
|
-
block_interval: Optional[pulumi.Input[
|
553
|
-
group_by: Optional[pulumi.Input[
|
554
|
-
inheritable: Optional[pulumi.Input[
|
555
|
-
interval: Optional[pulumi.Input[
|
556
|
-
name: Optional[pulumi.Input[
|
557
|
-
namespace: Optional[pulumi.Input[
|
558
|
-
path: Optional[pulumi.Input[
|
559
|
-
rate: Optional[pulumi.Input[
|
560
|
-
role: Optional[pulumi.Input[
|
561
|
-
secondary_rate: Optional[pulumi.Input[
|
551
|
+
block_interval: Optional[pulumi.Input[_builtins.int]] = None,
|
552
|
+
group_by: Optional[pulumi.Input[_builtins.str]] = None,
|
553
|
+
inheritable: Optional[pulumi.Input[_builtins.bool]] = None,
|
554
|
+
interval: Optional[pulumi.Input[_builtins.int]] = None,
|
555
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
556
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
557
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
558
|
+
rate: Optional[pulumi.Input[_builtins.float]] = None,
|
559
|
+
role: Optional[pulumi.Input[_builtins.str]] = None,
|
560
|
+
secondary_rate: Optional[pulumi.Input[_builtins.float]] = None,
|
562
561
|
__props__=None):
|
563
562
|
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
564
563
|
if not isinstance(opts, pulumi.ResourceOptions):
|
@@ -590,16 +589,16 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
590
589
|
def get(resource_name: str,
|
591
590
|
id: pulumi.Input[str],
|
592
591
|
opts: Optional[pulumi.ResourceOptions] = None,
|
593
|
-
block_interval: Optional[pulumi.Input[
|
594
|
-
group_by: Optional[pulumi.Input[
|
595
|
-
inheritable: Optional[pulumi.Input[
|
596
|
-
interval: Optional[pulumi.Input[
|
597
|
-
name: Optional[pulumi.Input[
|
598
|
-
namespace: Optional[pulumi.Input[
|
599
|
-
path: Optional[pulumi.Input[
|
600
|
-
rate: Optional[pulumi.Input[
|
601
|
-
role: Optional[pulumi.Input[
|
602
|
-
secondary_rate: Optional[pulumi.Input[
|
592
|
+
block_interval: Optional[pulumi.Input[_builtins.int]] = None,
|
593
|
+
group_by: Optional[pulumi.Input[_builtins.str]] = None,
|
594
|
+
inheritable: Optional[pulumi.Input[_builtins.bool]] = None,
|
595
|
+
interval: Optional[pulumi.Input[_builtins.int]] = None,
|
596
|
+
name: Optional[pulumi.Input[_builtins.str]] = None,
|
597
|
+
namespace: Optional[pulumi.Input[_builtins.str]] = None,
|
598
|
+
path: Optional[pulumi.Input[_builtins.str]] = None,
|
599
|
+
rate: Optional[pulumi.Input[_builtins.float]] = None,
|
600
|
+
role: Optional[pulumi.Input[_builtins.str]] = None,
|
601
|
+
secondary_rate: Optional[pulumi.Input[_builtins.float]] = None) -> 'QuotaRateLimit':
|
603
602
|
"""
|
604
603
|
Get an existing QuotaRateLimit resource's state with the given name, id, and optional extra
|
605
604
|
properties used to qualify the lookup.
|
@@ -607,32 +606,32 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
607
606
|
:param str resource_name: The unique name of the resulting resource.
|
608
607
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
609
608
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
610
|
-
:param pulumi.Input[
|
609
|
+
:param pulumi.Input[_builtins.int] block_interval: If set, when a client reaches a rate limit threshold, the client will
|
611
610
|
be prohibited from any further requests until after the 'block_interval' in seconds has elapsed.
|
612
|
-
:param pulumi.Input[
|
611
|
+
:param pulumi.Input[_builtins.str] group_by: Attribute used to group requests for rate limiting. Limits are enforced independently for each
|
613
612
|
group. Valid `group_by` modes are: 1) `ip` that groups requests by their source IP address (**`group_by` defaults to
|
614
613
|
`ip` if unset, which is the only supported mode in community edition**); 2) `none` that groups together all requests
|
615
614
|
that match the rate limit quota rule; 3) `entity_then_ip` that groups requests by their entity ID for authenticated
|
616
615
|
requests that carry one, or by their IP for unauthenticated requests (or requests whose authentication is not
|
617
616
|
connected to an entity); and 4) `entity_then_none` which also groups requests by their entity ID when available, but
|
618
617
|
the rest is all grouped together (i.e. unauthenticated or with authentication not connected to an entity).
|
619
|
-
:param pulumi.Input[
|
620
|
-
:param pulumi.Input[
|
621
|
-
:param pulumi.Input[
|
622
|
-
:param pulumi.Input[
|
618
|
+
:param pulumi.Input[_builtins.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+.
|
619
|
+
:param pulumi.Input[_builtins.int] interval: The duration in seconds to enforce rate limiting for.
|
620
|
+
:param pulumi.Input[_builtins.str] name: Name of the rate limit quota
|
621
|
+
:param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
|
623
622
|
The value should not contain leading or trailing forward slashes.
|
624
623
|
The `namespace` is always relative to the provider's configured namespace.
|
625
624
|
*Available only for Vault Enterprise*.
|
626
|
-
:param pulumi.Input[
|
625
|
+
:param pulumi.Input[_builtins.str] path: Path of the mount or namespace to apply the quota. A blank path configures a
|
627
626
|
global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
|
628
627
|
`namespace1/auth/userpass` adds a `quota` to `userpass` in `namespace1`.
|
629
628
|
Updating this field on an existing quota can have "moving" effects. For example, updating
|
630
629
|
`auth/userpass` to `namespace1/auth/userpass` moves this quota from being a global mount quota to
|
631
630
|
a namespace specific mount quota. **Note, namespaces are supported in Enterprise only.**
|
632
|
-
:param pulumi.Input[
|
631
|
+
:param pulumi.Input[_builtins.float] rate: The maximum number of requests at any given second to be allowed by the quota
|
633
632
|
rule. The `rate` must be positive.
|
634
|
-
:param pulumi.Input[
|
635
|
-
:param pulumi.Input[
|
633
|
+
:param pulumi.Input[_builtins.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.
|
634
|
+
:param pulumi.Input[_builtins.float] secondary_rate: Can only be set for the `group_by` modes `entity_then_ip` or `entity_then_none`. This is
|
636
635
|
the rate limit applied to the requests that fall under the "ip" or "none" groupings, while the authenticated requests
|
637
636
|
that contain an entity ID are subject to the `rate` field instead. Defaults to the same value as `rate`.
|
638
637
|
"""
|
@@ -652,18 +651,18 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
652
651
|
__props__.__dict__["secondary_rate"] = secondary_rate
|
653
652
|
return QuotaRateLimit(resource_name, opts=opts, __props__=__props__)
|
654
653
|
|
655
|
-
@property
|
654
|
+
@_builtins.property
|
656
655
|
@pulumi.getter(name="blockInterval")
|
657
|
-
def block_interval(self) -> pulumi.Output[Optional[
|
656
|
+
def block_interval(self) -> pulumi.Output[Optional[_builtins.int]]:
|
658
657
|
"""
|
659
658
|
If set, when a client reaches a rate limit threshold, the client will
|
660
659
|
be prohibited from any further requests until after the 'block_interval' in seconds has elapsed.
|
661
660
|
"""
|
662
661
|
return pulumi.get(self, "block_interval")
|
663
662
|
|
664
|
-
@property
|
663
|
+
@_builtins.property
|
665
664
|
@pulumi.getter(name="groupBy")
|
666
|
-
def group_by(self) -> pulumi.Output[
|
665
|
+
def group_by(self) -> pulumi.Output[_builtins.str]:
|
667
666
|
"""
|
668
667
|
Attribute used to group requests for rate limiting. Limits are enforced independently for each
|
669
668
|
group. Valid `group_by` modes are: 1) `ip` that groups requests by their source IP address (**`group_by` defaults to
|
@@ -675,33 +674,33 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
675
674
|
"""
|
676
675
|
return pulumi.get(self, "group_by")
|
677
676
|
|
678
|
-
@property
|
677
|
+
@_builtins.property
|
679
678
|
@pulumi.getter
|
680
|
-
def inheritable(self) -> pulumi.Output[Optional[
|
679
|
+
def inheritable(self) -> pulumi.Output[Optional[_builtins.bool]]:
|
681
680
|
"""
|
682
681
|
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+.
|
683
682
|
"""
|
684
683
|
return pulumi.get(self, "inheritable")
|
685
684
|
|
686
|
-
@property
|
685
|
+
@_builtins.property
|
687
686
|
@pulumi.getter
|
688
|
-
def interval(self) -> pulumi.Output[
|
687
|
+
def interval(self) -> pulumi.Output[_builtins.int]:
|
689
688
|
"""
|
690
689
|
The duration in seconds to enforce rate limiting for.
|
691
690
|
"""
|
692
691
|
return pulumi.get(self, "interval")
|
693
692
|
|
694
|
-
@property
|
693
|
+
@_builtins.property
|
695
694
|
@pulumi.getter
|
696
|
-
def name(self) -> pulumi.Output[
|
695
|
+
def name(self) -> pulumi.Output[_builtins.str]:
|
697
696
|
"""
|
698
697
|
Name of the rate limit quota
|
699
698
|
"""
|
700
699
|
return pulumi.get(self, "name")
|
701
700
|
|
702
|
-
@property
|
701
|
+
@_builtins.property
|
703
702
|
@pulumi.getter
|
704
|
-
def namespace(self) -> pulumi.Output[Optional[
|
703
|
+
def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
|
705
704
|
"""
|
706
705
|
The namespace to provision the resource in.
|
707
706
|
The value should not contain leading or trailing forward slashes.
|
@@ -710,9 +709,9 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
710
709
|
"""
|
711
710
|
return pulumi.get(self, "namespace")
|
712
711
|
|
713
|
-
@property
|
712
|
+
@_builtins.property
|
714
713
|
@pulumi.getter
|
715
|
-
def path(self) -> pulumi.Output[Optional[
|
714
|
+
def path(self) -> pulumi.Output[Optional[_builtins.str]]:
|
716
715
|
"""
|
717
716
|
Path of the mount or namespace to apply the quota. A blank path configures a
|
718
717
|
global rate limit quota. For example `namespace1/` adds a quota to a full namespace,
|
@@ -723,26 +722,26 @@ class QuotaRateLimit(pulumi.CustomResource):
|
|
723
722
|
"""
|
724
723
|
return pulumi.get(self, "path")
|
725
724
|
|
726
|
-
@property
|
725
|
+
@_builtins.property
|
727
726
|
@pulumi.getter
|
728
|
-
def rate(self) -> pulumi.Output[
|
727
|
+
def rate(self) -> pulumi.Output[_builtins.float]:
|
729
728
|
"""
|
730
729
|
The maximum number of requests at any given second to be allowed by the quota
|
731
730
|
rule. The `rate` must be positive.
|
732
731
|
"""
|
733
732
|
return pulumi.get(self, "rate")
|
734
733
|
|
735
|
-
@property
|
734
|
+
@_builtins.property
|
736
735
|
@pulumi.getter
|
737
|
-
def role(self) -> pulumi.Output[Optional[
|
736
|
+
def role(self) -> pulumi.Output[Optional[_builtins.str]]:
|
738
737
|
"""
|
739
738
|
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.
|
740
739
|
"""
|
741
740
|
return pulumi.get(self, "role")
|
742
741
|
|
743
|
-
@property
|
742
|
+
@_builtins.property
|
744
743
|
@pulumi.getter(name="secondaryRate")
|
745
|
-
def secondary_rate(self) -> pulumi.Output[
|
744
|
+
def secondary_rate(self) -> pulumi.Output[_builtins.float]:
|
746
745
|
"""
|
747
746
|
Can only be set for the `group_by` modes `entity_then_ip` or `entity_then_none`. This is
|
748
747
|
the rate limit applied to the requests that fall under the "ip" or "none" groupings, while the authenticated requests
|