pulumi-vault 6.2.0__py3-none-any.whl → 6.2.0a1712470779__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 +0 -26
- pulumi_vault/_inputs.py +20 -0
- pulumi_vault/ad/secret_backend.py +6 -2
- pulumi_vault/ad/secret_library.py +4 -2
- pulumi_vault/ad/secret_role.py +4 -0
- pulumi_vault/alicloud/auth_backend_role.py +192 -69
- pulumi_vault/approle/auth_backend_login.py +4 -0
- pulumi_vault/approle/auth_backend_role.py +186 -63
- pulumi_vault/approle/auth_backend_role_secret_id.py +4 -0
- pulumi_vault/approle/get_auth_backend_role_id.py +4 -0
- pulumi_vault/audit.py +20 -12
- pulumi_vault/audit_request_header.py +6 -6
- pulumi_vault/auth_backend.py +0 -47
- pulumi_vault/aws/auth_backend_client.py +17 -253
- pulumi_vault/aws/auth_backend_config_identity.py +4 -0
- pulumi_vault/aws/auth_backend_identity_whitelist.py +10 -6
- pulumi_vault/aws/auth_backend_login.py +8 -0
- pulumi_vault/aws/auth_backend_role.py +186 -63
- pulumi_vault/aws/auth_backend_roletag_blacklist.py +10 -6
- pulumi_vault/aws/auth_backend_sts_role.py +4 -0
- pulumi_vault/aws/secret_backend_role.py +4 -56
- pulumi_vault/aws/secret_backend_static_role.py +4 -2
- pulumi_vault/azure/auth_backend_config.py +10 -139
- pulumi_vault/azure/auth_backend_role.py +186 -63
- pulumi_vault/azure/backend.py +22 -217
- pulumi_vault/azure/backend_role.py +18 -14
- pulumi_vault/azure/get_access_credentials.py +4 -0
- pulumi_vault/cert_auth_backend_role.py +208 -75
- pulumi_vault/consul/secret_backend.py +18 -10
- pulumi_vault/consul/secret_backend_role.py +4 -2
- pulumi_vault/database/_inputs.py +784 -522
- pulumi_vault/database/outputs.py +784 -522
- pulumi_vault/database/secret_backend_connection.py +4 -2
- pulumi_vault/database/secret_backend_role.py +4 -4
- pulumi_vault/database/secret_backend_static_role.py +8 -10
- pulumi_vault/database/secrets_mount.py +4 -286
- pulumi_vault/egp_policy.py +8 -4
- pulumi_vault/gcp/auth_backend.py +18 -226
- pulumi_vault/gcp/auth_backend_role.py +264 -63
- pulumi_vault/gcp/get_auth_backend_role.py +4 -0
- pulumi_vault/gcp/secret_backend.py +9 -275
- pulumi_vault/gcp/secret_impersonated_account.py +14 -12
- pulumi_vault/gcp/secret_roleset.py +6 -4
- pulumi_vault/gcp/secret_static_account.py +16 -14
- pulumi_vault/generic/endpoint.py +8 -4
- pulumi_vault/generic/get_secret.py +4 -40
- pulumi_vault/get_auth_backend.py +4 -0
- pulumi_vault/get_auth_backends.py +8 -0
- pulumi_vault/get_namespace.py +12 -0
- pulumi_vault/get_namespaces.py +12 -4
- pulumi_vault/get_nomad_access_token.py +4 -0
- pulumi_vault/get_policy_document.py +8 -8
- pulumi_vault/get_raft_autopilot_state.py +4 -0
- pulumi_vault/github/auth_backend.py +4 -0
- pulumi_vault/github/team.py +6 -2
- pulumi_vault/github/user.py +6 -2
- pulumi_vault/identity/entity.py +8 -6
- pulumi_vault/identity/entity_alias.py +8 -6
- pulumi_vault/identity/entity_policies.py +12 -12
- pulumi_vault/identity/get_entity.py +4 -0
- pulumi_vault/identity/get_group.py +4 -0
- pulumi_vault/identity/get_oidc_client_creds.py +4 -2
- pulumi_vault/identity/get_oidc_openid_config.py +6 -10
- pulumi_vault/identity/get_oidc_public_keys.py +6 -10
- pulumi_vault/identity/group.py +42 -38
- pulumi_vault/identity/group_alias.py +4 -2
- pulumi_vault/identity/group_member_entity_ids.py +16 -12
- pulumi_vault/identity/group_member_group_ids.py +20 -24
- pulumi_vault/identity/group_policies.py +8 -4
- pulumi_vault/identity/mfa_duo.py +8 -4
- pulumi_vault/identity/mfa_login_enforcement.py +8 -8
- pulumi_vault/identity/mfa_okta.py +8 -4
- pulumi_vault/identity/mfa_pingid.py +4 -0
- pulumi_vault/identity/mfa_totp.py +4 -0
- pulumi_vault/identity/oidc.py +4 -0
- pulumi_vault/identity/oidc_assignment.py +6 -10
- pulumi_vault/identity/oidc_client.py +10 -10
- pulumi_vault/identity/oidc_key.py +12 -16
- pulumi_vault/identity/oidc_key_allowed_client_id.py +12 -16
- pulumi_vault/identity/oidc_provider.py +16 -22
- pulumi_vault/identity/oidc_role.py +20 -28
- pulumi_vault/identity/oidc_scope.py +8 -6
- pulumi_vault/jwt/auth_backend.py +32 -20
- pulumi_vault/jwt/auth_backend_role.py +225 -91
- pulumi_vault/kmip/secret_backend.py +14 -10
- pulumi_vault/kmip/secret_role.py +4 -0
- pulumi_vault/kmip/secret_scope.py +4 -0
- pulumi_vault/kubernetes/auth_backend_config.py +4 -0
- pulumi_vault/kubernetes/auth_backend_role.py +172 -56
- pulumi_vault/kubernetes/get_service_account_token.py +8 -8
- pulumi_vault/kubernetes/secret_backend.py +8 -288
- pulumi_vault/kubernetes/secret_backend_role.py +24 -24
- pulumi_vault/kv/get_secret.py +4 -0
- pulumi_vault/kv/get_secret_subkeys_v2.py +6 -4
- pulumi_vault/kv/get_secret_v2.py +0 -58
- pulumi_vault/kv/get_secrets_list.py +8 -4
- pulumi_vault/kv/get_secrets_list_v2.py +12 -14
- pulumi_vault/kv/secret.py +4 -0
- pulumi_vault/kv/secret_backend_v2.py +4 -0
- pulumi_vault/kv/secret_v2.py +4 -2
- pulumi_vault/ldap/auth_backend.py +161 -66
- pulumi_vault/ldap/auth_backend_group.py +4 -0
- pulumi_vault/ldap/auth_backend_user.py +4 -0
- pulumi_vault/ldap/secret_backend.py +8 -286
- pulumi_vault/ldap/secret_backend_dynamic_role.py +4 -0
- pulumi_vault/ldap/secret_backend_library_set.py +4 -2
- pulumi_vault/ldap/secret_backend_static_role.py +4 -0
- pulumi_vault/managed/_inputs.py +132 -84
- pulumi_vault/managed/keys.py +28 -7
- pulumi_vault/managed/outputs.py +132 -84
- pulumi_vault/mfa_duo.py +6 -4
- pulumi_vault/mfa_okta.py +6 -4
- pulumi_vault/mfa_pingid.py +6 -4
- pulumi_vault/mfa_totp.py +12 -10
- pulumi_vault/mongodbatlas/secret_backend.py +4 -0
- pulumi_vault/mongodbatlas/secret_role.py +4 -2
- pulumi_vault/mount.py +42 -350
- pulumi_vault/nomad_secret_backend.py +8 -4
- pulumi_vault/nomad_secret_role.py +4 -0
- pulumi_vault/okta/_inputs.py +8 -8
- pulumi_vault/okta/auth_backend.py +10 -459
- pulumi_vault/okta/auth_backend_group.py +4 -0
- pulumi_vault/okta/auth_backend_user.py +4 -0
- pulumi_vault/okta/outputs.py +8 -8
- pulumi_vault/outputs.py +20 -0
- pulumi_vault/password_policy.py +8 -6
- pulumi_vault/pkisecret/__init__.py +0 -2
- pulumi_vault/pkisecret/_inputs.py +0 -30
- pulumi_vault/pkisecret/backend_config_cluster.py +4 -0
- pulumi_vault/pkisecret/get_backend_issuer.py +0 -36
- pulumi_vault/pkisecret/get_backend_issuers.py +4 -0
- pulumi_vault/pkisecret/get_backend_key.py +6 -2
- pulumi_vault/pkisecret/get_backend_keys.py +4 -0
- pulumi_vault/pkisecret/outputs.py +0 -54
- pulumi_vault/pkisecret/secret_backend_cert.py +8 -6
- pulumi_vault/pkisecret/secret_backend_config_ca.py +8 -4
- pulumi_vault/pkisecret/secret_backend_config_issuers.py +4 -0
- pulumi_vault/pkisecret/secret_backend_config_urls.py +4 -0
- pulumi_vault/pkisecret/secret_backend_crl_config.py +6 -2
- pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +8 -4
- pulumi_vault/pkisecret/secret_backend_intermediate_set_signed.py +14 -10
- pulumi_vault/pkisecret/secret_backend_issuer.py +4 -0
- pulumi_vault/pkisecret/secret_backend_role.py +4 -2
- pulumi_vault/pkisecret/secret_backend_root_cert.py +8 -4
- pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +10 -6
- pulumi_vault/pkisecret/secret_backend_sign.py +8 -6
- pulumi_vault/provider.py +8 -0
- pulumi_vault/pulumi-plugin.json +1 -2
- pulumi_vault/quota_lease_count.py +8 -53
- pulumi_vault/quota_rate_limit.py +4 -49
- pulumi_vault/rabbitmq/secret_backend.py +8 -4
- pulumi_vault/rabbitmq/secret_backend_role.py +4 -2
- pulumi_vault/raft_autopilot.py +4 -0
- pulumi_vault/raft_snapshot_agent_config.py +304 -109
- pulumi_vault/rgp_policy.py +6 -2
- pulumi_vault/saml/auth_backend.py +12 -8
- pulumi_vault/saml/auth_backend_role.py +178 -64
- pulumi_vault/secrets/sync_association.py +10 -12
- pulumi_vault/secrets/sync_aws_destination.py +8 -6
- pulumi_vault/secrets/sync_azure_destination.py +12 -10
- pulumi_vault/secrets/sync_config.py +6 -2
- pulumi_vault/secrets/sync_gcp_destination.py +6 -6
- pulumi_vault/secrets/sync_gh_destination.py +8 -6
- pulumi_vault/secrets/sync_github_apps.py +8 -8
- pulumi_vault/secrets/sync_vercel_destination.py +8 -6
- pulumi_vault/ssh/_inputs.py +32 -6
- pulumi_vault/ssh/outputs.py +32 -6
- pulumi_vault/ssh/secret_backend_ca.py +4 -94
- pulumi_vault/ssh/secret_backend_role.py +4 -4
- pulumi_vault/terraformcloud/secret_backend.py +56 -0
- pulumi_vault/terraformcloud/secret_creds.py +17 -2
- pulumi_vault/terraformcloud/secret_role.py +69 -2
- pulumi_vault/token.py +18 -14
- pulumi_vault/tokenauth/auth_backend_role.py +180 -64
- pulumi_vault/transform/alphabet.py +6 -4
- pulumi_vault/transform/get_decode.py +4 -4
- pulumi_vault/transform/get_encode.py +4 -4
- pulumi_vault/transform/role.py +6 -4
- pulumi_vault/transform/template.py +4 -4
- pulumi_vault/transit/get_decrypt.py +20 -4
- pulumi_vault/transit/get_encrypt.py +14 -0
- pulumi_vault/transit/secret_backend_key.py +6 -6
- pulumi_vault/transit/secret_cache_config.py +4 -0
- {pulumi_vault-6.2.0.dist-info → pulumi_vault-6.2.0a1712470779.dist-info}/METADATA +1 -1
- pulumi_vault-6.2.0a1712470779.dist-info/RECORD +252 -0
- {pulumi_vault-6.2.0.dist-info → pulumi_vault-6.2.0a1712470779.dist-info}/WHEEL +1 -1
- pulumi_vault/pkisecret/backend_config_est.py +0 -614
- pulumi_vault/pkisecret/get_backend_config_est.py +0 -233
- pulumi_vault/plugin.py +0 -590
- pulumi_vault/plugin_pinned_version.py +0 -293
- pulumi_vault-6.2.0.dist-info/RECORD +0 -256
- {pulumi_vault-6.2.0.dist-info → pulumi_vault-6.2.0a1712470779.dist-info}/top_level.txt +0 -0
@@ -40,22 +40,45 @@ class AuthBackendRoleArgs:
|
|
40
40
|
The set of arguments for constructing a AuthBackendRole resource.
|
41
41
|
:param pulumi.Input[str] role: Name of the GCP role
|
42
42
|
:param pulumi.Input[str] type: Type of GCP authentication role (either `gce` or `iam`)
|
43
|
+
:param pulumi.Input[bool] allow_gce_inference: A flag to determine if this role should allow GCE instances to authenticate by inferring service accounts from the GCE identity metadata token.
|
43
44
|
:param pulumi.Input[str] backend: Path to the mounted GCP auth backend
|
45
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_instance_groups: The instance groups that an authorized instance must belong to in order to be authenticated. If specified, either `bound_zones` or `bound_regions` must be set too.
|
46
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_labels: A comma-separated list of GCP labels formatted as `"key:value"` strings that must be set on authorized GCE instances. Because GCP labels are not currently ACL'd, we recommend that this be used in conjunction with other restrictions.
|
44
47
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_projects: An array of GCP project IDs. Only entities belonging to this project can authenticate under the role.
|
48
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_regions: The list of regions that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a regional group and the group must belong to this region. If bound_zones are provided, this attribute is ignored.
|
45
49
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_service_accounts: GCP Service Accounts allowed to issue tokens under this role. (Note: **Required** if role is `iam`)
|
50
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_zones: The list of zones that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
|
51
|
+
:param pulumi.Input[str] max_jwt_exp: The number of seconds past the time of authentication that the login param JWT must expire within. For example, if a user attempts to login with a token that expires within an hour and this is set to 15 minutes, Vault will return an error prompting the user to create a new signed JWT with a shorter `exp`. The GCE metadata tokens currently do not allow the `exp` claim to be customized.
|
46
52
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
47
53
|
The value should not contain leading or trailing forward slashes.
|
48
54
|
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
49
55
|
*Available only for Vault Enterprise*.
|
50
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] token_bound_cidrs:
|
51
|
-
|
52
|
-
|
53
|
-
:param pulumi.Input[
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
:param pulumi.Input[int]
|
58
|
-
|
56
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] token_bound_cidrs: List of CIDR blocks; if set, specifies blocks of IP
|
57
|
+
addresses which can authenticate successfully, and ties the resulting token to these blocks
|
58
|
+
as well.
|
59
|
+
:param pulumi.Input[int] token_explicit_max_ttl: If set, will encode an
|
60
|
+
[explicit max TTL](https://www.vaultproject.io/docs/concepts/tokens.html#token-time-to-live-periodic-tokens-and-explicit-max-ttls)
|
61
|
+
onto the token in number of seconds. This is a hard cap even if `token_ttl` and
|
62
|
+
`token_max_ttl` would otherwise allow a renewal.
|
63
|
+
:param pulumi.Input[int] token_max_ttl: The maximum lifetime for generated tokens in number of seconds.
|
64
|
+
Its current value will be referenced at renewal time.
|
65
|
+
:param pulumi.Input[bool] token_no_default_policy: If set, the default policy will not be set on
|
66
|
+
generated tokens; otherwise it will be added to the policies set in token_policies.
|
67
|
+
:param pulumi.Input[int] token_num_uses: The [maximum number](https://www.vaultproject.io/api-docs/gcp#token_num_uses)
|
68
|
+
of times a generated token may be used (within its lifetime); 0 means unlimited.
|
69
|
+
:param pulumi.Input[int] token_period: If set, indicates that the
|
70
|
+
token generated using this role should never expire. The token should be renewed within the
|
71
|
+
duration specified by this value. At each renewal, the token's TTL will be set to the
|
72
|
+
value of this field. Specified in seconds.
|
73
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] token_policies: List of policies to encode onto generated tokens. Depending
|
74
|
+
on the auth method, this list may be supplemented by user/group/other values.
|
75
|
+
:param pulumi.Input[int] token_ttl: The incremental lifetime for generated tokens in number of seconds.
|
76
|
+
Its current value will be referenced at renewal time.
|
77
|
+
:param pulumi.Input[str] token_type: The type of token that should be generated. Can be `service`,
|
78
|
+
`batch`, or `default` to use the mount's tuned default (which unless changed will be
|
79
|
+
`service` tokens). For token store roles, there are two additional possibilities:
|
80
|
+
`default-service` and `default-batch` which specify the type to return unless the client
|
81
|
+
requests a different type at generation time.
|
59
82
|
"""
|
60
83
|
pulumi.set(__self__, "role", role)
|
61
84
|
pulumi.set(__self__, "type", type)
|
@@ -136,6 +159,9 @@ class AuthBackendRoleArgs:
|
|
136
159
|
@property
|
137
160
|
@pulumi.getter(name="allowGceInference")
|
138
161
|
def allow_gce_inference(self) -> Optional[pulumi.Input[bool]]:
|
162
|
+
"""
|
163
|
+
A flag to determine if this role should allow GCE instances to authenticate by inferring service accounts from the GCE identity metadata token.
|
164
|
+
"""
|
139
165
|
return pulumi.get(self, "allow_gce_inference")
|
140
166
|
|
141
167
|
@allow_gce_inference.setter
|
@@ -157,6 +183,9 @@ class AuthBackendRoleArgs:
|
|
157
183
|
@property
|
158
184
|
@pulumi.getter(name="boundInstanceGroups")
|
159
185
|
def bound_instance_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
186
|
+
"""
|
187
|
+
The instance groups that an authorized instance must belong to in order to be authenticated. If specified, either `bound_zones` or `bound_regions` must be set too.
|
188
|
+
"""
|
160
189
|
return pulumi.get(self, "bound_instance_groups")
|
161
190
|
|
162
191
|
@bound_instance_groups.setter
|
@@ -166,6 +195,9 @@ class AuthBackendRoleArgs:
|
|
166
195
|
@property
|
167
196
|
@pulumi.getter(name="boundLabels")
|
168
197
|
def bound_labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
198
|
+
"""
|
199
|
+
A comma-separated list of GCP labels formatted as `"key:value"` strings that must be set on authorized GCE instances. Because GCP labels are not currently ACL'd, we recommend that this be used in conjunction with other restrictions.
|
200
|
+
"""
|
169
201
|
return pulumi.get(self, "bound_labels")
|
170
202
|
|
171
203
|
@bound_labels.setter
|
@@ -187,6 +219,9 @@ class AuthBackendRoleArgs:
|
|
187
219
|
@property
|
188
220
|
@pulumi.getter(name="boundRegions")
|
189
221
|
def bound_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
222
|
+
"""
|
223
|
+
The list of regions that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a regional group and the group must belong to this region. If bound_zones are provided, this attribute is ignored.
|
224
|
+
"""
|
190
225
|
return pulumi.get(self, "bound_regions")
|
191
226
|
|
192
227
|
@bound_regions.setter
|
@@ -208,6 +243,9 @@ class AuthBackendRoleArgs:
|
|
208
243
|
@property
|
209
244
|
@pulumi.getter(name="boundZones")
|
210
245
|
def bound_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
246
|
+
"""
|
247
|
+
The list of zones that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
|
248
|
+
"""
|
211
249
|
return pulumi.get(self, "bound_zones")
|
212
250
|
|
213
251
|
@bound_zones.setter
|
@@ -217,6 +255,9 @@ class AuthBackendRoleArgs:
|
|
217
255
|
@property
|
218
256
|
@pulumi.getter(name="maxJwtExp")
|
219
257
|
def max_jwt_exp(self) -> Optional[pulumi.Input[str]]:
|
258
|
+
"""
|
259
|
+
The number of seconds past the time of authentication that the login param JWT must expire within. For example, if a user attempts to login with a token that expires within an hour and this is set to 15 minutes, Vault will return an error prompting the user to create a new signed JWT with a shorter `exp`. The GCE metadata tokens currently do not allow the `exp` claim to be customized.
|
260
|
+
"""
|
220
261
|
return pulumi.get(self, "max_jwt_exp")
|
221
262
|
|
222
263
|
@max_jwt_exp.setter
|
@@ -242,7 +283,9 @@ class AuthBackendRoleArgs:
|
|
242
283
|
@pulumi.getter(name="tokenBoundCidrs")
|
243
284
|
def token_bound_cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
244
285
|
"""
|
245
|
-
|
286
|
+
List of CIDR blocks; if set, specifies blocks of IP
|
287
|
+
addresses which can authenticate successfully, and ties the resulting token to these blocks
|
288
|
+
as well.
|
246
289
|
"""
|
247
290
|
return pulumi.get(self, "token_bound_cidrs")
|
248
291
|
|
@@ -254,7 +297,10 @@ class AuthBackendRoleArgs:
|
|
254
297
|
@pulumi.getter(name="tokenExplicitMaxTtl")
|
255
298
|
def token_explicit_max_ttl(self) -> Optional[pulumi.Input[int]]:
|
256
299
|
"""
|
257
|
-
|
300
|
+
If set, will encode an
|
301
|
+
[explicit max TTL](https://www.vaultproject.io/docs/concepts/tokens.html#token-time-to-live-periodic-tokens-and-explicit-max-ttls)
|
302
|
+
onto the token in number of seconds. This is a hard cap even if `token_ttl` and
|
303
|
+
`token_max_ttl` would otherwise allow a renewal.
|
258
304
|
"""
|
259
305
|
return pulumi.get(self, "token_explicit_max_ttl")
|
260
306
|
|
@@ -266,7 +312,8 @@ class AuthBackendRoleArgs:
|
|
266
312
|
@pulumi.getter(name="tokenMaxTtl")
|
267
313
|
def token_max_ttl(self) -> Optional[pulumi.Input[int]]:
|
268
314
|
"""
|
269
|
-
The maximum lifetime
|
315
|
+
The maximum lifetime for generated tokens in number of seconds.
|
316
|
+
Its current value will be referenced at renewal time.
|
270
317
|
"""
|
271
318
|
return pulumi.get(self, "token_max_ttl")
|
272
319
|
|
@@ -278,7 +325,8 @@ class AuthBackendRoleArgs:
|
|
278
325
|
@pulumi.getter(name="tokenNoDefaultPolicy")
|
279
326
|
def token_no_default_policy(self) -> Optional[pulumi.Input[bool]]:
|
280
327
|
"""
|
281
|
-
If
|
328
|
+
If set, the default policy will not be set on
|
329
|
+
generated tokens; otherwise it will be added to the policies set in token_policies.
|
282
330
|
"""
|
283
331
|
return pulumi.get(self, "token_no_default_policy")
|
284
332
|
|
@@ -290,7 +338,8 @@ class AuthBackendRoleArgs:
|
|
290
338
|
@pulumi.getter(name="tokenNumUses")
|
291
339
|
def token_num_uses(self) -> Optional[pulumi.Input[int]]:
|
292
340
|
"""
|
293
|
-
The maximum number
|
341
|
+
The [maximum number](https://www.vaultproject.io/api-docs/gcp#token_num_uses)
|
342
|
+
of times a generated token may be used (within its lifetime); 0 means unlimited.
|
294
343
|
"""
|
295
344
|
return pulumi.get(self, "token_num_uses")
|
296
345
|
|
@@ -302,7 +351,10 @@ class AuthBackendRoleArgs:
|
|
302
351
|
@pulumi.getter(name="tokenPeriod")
|
303
352
|
def token_period(self) -> Optional[pulumi.Input[int]]:
|
304
353
|
"""
|
305
|
-
|
354
|
+
If set, indicates that the
|
355
|
+
token generated using this role should never expire. The token should be renewed within the
|
356
|
+
duration specified by this value. At each renewal, the token's TTL will be set to the
|
357
|
+
value of this field. Specified in seconds.
|
306
358
|
"""
|
307
359
|
return pulumi.get(self, "token_period")
|
308
360
|
|
@@ -314,7 +366,8 @@ class AuthBackendRoleArgs:
|
|
314
366
|
@pulumi.getter(name="tokenPolicies")
|
315
367
|
def token_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
316
368
|
"""
|
317
|
-
|
369
|
+
List of policies to encode onto generated tokens. Depending
|
370
|
+
on the auth method, this list may be supplemented by user/group/other values.
|
318
371
|
"""
|
319
372
|
return pulumi.get(self, "token_policies")
|
320
373
|
|
@@ -326,7 +379,8 @@ class AuthBackendRoleArgs:
|
|
326
379
|
@pulumi.getter(name="tokenTtl")
|
327
380
|
def token_ttl(self) -> Optional[pulumi.Input[int]]:
|
328
381
|
"""
|
329
|
-
The
|
382
|
+
The incremental lifetime for generated tokens in number of seconds.
|
383
|
+
Its current value will be referenced at renewal time.
|
330
384
|
"""
|
331
385
|
return pulumi.get(self, "token_ttl")
|
332
386
|
|
@@ -338,7 +392,11 @@ class AuthBackendRoleArgs:
|
|
338
392
|
@pulumi.getter(name="tokenType")
|
339
393
|
def token_type(self) -> Optional[pulumi.Input[str]]:
|
340
394
|
"""
|
341
|
-
The type of token
|
395
|
+
The type of token that should be generated. Can be `service`,
|
396
|
+
`batch`, or `default` to use the mount's tuned default (which unless changed will be
|
397
|
+
`service` tokens). For token store roles, there are two additional possibilities:
|
398
|
+
`default-service` and `default-batch` which specify the type to return unless the client
|
399
|
+
requests a different type at generation time.
|
342
400
|
"""
|
343
401
|
return pulumi.get(self, "token_type")
|
344
402
|
|
@@ -374,23 +432,46 @@ class _AuthBackendRoleState:
|
|
374
432
|
type: Optional[pulumi.Input[str]] = None):
|
375
433
|
"""
|
376
434
|
Input properties used for looking up and filtering AuthBackendRole resources.
|
435
|
+
:param pulumi.Input[bool] allow_gce_inference: A flag to determine if this role should allow GCE instances to authenticate by inferring service accounts from the GCE identity metadata token.
|
377
436
|
:param pulumi.Input[str] backend: Path to the mounted GCP auth backend
|
437
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_instance_groups: The instance groups that an authorized instance must belong to in order to be authenticated. If specified, either `bound_zones` or `bound_regions` must be set too.
|
438
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_labels: A comma-separated list of GCP labels formatted as `"key:value"` strings that must be set on authorized GCE instances. Because GCP labels are not currently ACL'd, we recommend that this be used in conjunction with other restrictions.
|
378
439
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_projects: An array of GCP project IDs. Only entities belonging to this project can authenticate under the role.
|
440
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_regions: The list of regions that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a regional group and the group must belong to this region. If bound_zones are provided, this attribute is ignored.
|
379
441
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_service_accounts: GCP Service Accounts allowed to issue tokens under this role. (Note: **Required** if role is `iam`)
|
442
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_zones: The list of zones that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
|
443
|
+
:param pulumi.Input[str] max_jwt_exp: The number of seconds past the time of authentication that the login param JWT must expire within. For example, if a user attempts to login with a token that expires within an hour and this is set to 15 minutes, Vault will return an error prompting the user to create a new signed JWT with a shorter `exp`. The GCE metadata tokens currently do not allow the `exp` claim to be customized.
|
380
444
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
381
445
|
The value should not contain leading or trailing forward slashes.
|
382
446
|
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
383
447
|
*Available only for Vault Enterprise*.
|
384
448
|
:param pulumi.Input[str] role: Name of the GCP role
|
385
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] token_bound_cidrs:
|
386
|
-
|
387
|
-
|
388
|
-
:param pulumi.Input[
|
389
|
-
|
390
|
-
|
391
|
-
|
392
|
-
:param pulumi.Input[int]
|
393
|
-
|
449
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] token_bound_cidrs: List of CIDR blocks; if set, specifies blocks of IP
|
450
|
+
addresses which can authenticate successfully, and ties the resulting token to these blocks
|
451
|
+
as well.
|
452
|
+
:param pulumi.Input[int] token_explicit_max_ttl: If set, will encode an
|
453
|
+
[explicit max TTL](https://www.vaultproject.io/docs/concepts/tokens.html#token-time-to-live-periodic-tokens-and-explicit-max-ttls)
|
454
|
+
onto the token in number of seconds. This is a hard cap even if `token_ttl` and
|
455
|
+
`token_max_ttl` would otherwise allow a renewal.
|
456
|
+
:param pulumi.Input[int] token_max_ttl: The maximum lifetime for generated tokens in number of seconds.
|
457
|
+
Its current value will be referenced at renewal time.
|
458
|
+
:param pulumi.Input[bool] token_no_default_policy: If set, the default policy will not be set on
|
459
|
+
generated tokens; otherwise it will be added to the policies set in token_policies.
|
460
|
+
:param pulumi.Input[int] token_num_uses: The [maximum number](https://www.vaultproject.io/api-docs/gcp#token_num_uses)
|
461
|
+
of times a generated token may be used (within its lifetime); 0 means unlimited.
|
462
|
+
:param pulumi.Input[int] token_period: If set, indicates that the
|
463
|
+
token generated using this role should never expire. The token should be renewed within the
|
464
|
+
duration specified by this value. At each renewal, the token's TTL will be set to the
|
465
|
+
value of this field. Specified in seconds.
|
466
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] token_policies: List of policies to encode onto generated tokens. Depending
|
467
|
+
on the auth method, this list may be supplemented by user/group/other values.
|
468
|
+
:param pulumi.Input[int] token_ttl: The incremental lifetime for generated tokens in number of seconds.
|
469
|
+
Its current value will be referenced at renewal time.
|
470
|
+
:param pulumi.Input[str] token_type: The type of token that should be generated. Can be `service`,
|
471
|
+
`batch`, or `default` to use the mount's tuned default (which unless changed will be
|
472
|
+
`service` tokens). For token store roles, there are two additional possibilities:
|
473
|
+
`default-service` and `default-batch` which specify the type to return unless the client
|
474
|
+
requests a different type at generation time.
|
394
475
|
:param pulumi.Input[str] type: Type of GCP authentication role (either `gce` or `iam`)
|
395
476
|
"""
|
396
477
|
if add_group_aliases is not None:
|
@@ -450,6 +531,9 @@ class _AuthBackendRoleState:
|
|
450
531
|
@property
|
451
532
|
@pulumi.getter(name="allowGceInference")
|
452
533
|
def allow_gce_inference(self) -> Optional[pulumi.Input[bool]]:
|
534
|
+
"""
|
535
|
+
A flag to determine if this role should allow GCE instances to authenticate by inferring service accounts from the GCE identity metadata token.
|
536
|
+
"""
|
453
537
|
return pulumi.get(self, "allow_gce_inference")
|
454
538
|
|
455
539
|
@allow_gce_inference.setter
|
@@ -471,6 +555,9 @@ class _AuthBackendRoleState:
|
|
471
555
|
@property
|
472
556
|
@pulumi.getter(name="boundInstanceGroups")
|
473
557
|
def bound_instance_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
558
|
+
"""
|
559
|
+
The instance groups that an authorized instance must belong to in order to be authenticated. If specified, either `bound_zones` or `bound_regions` must be set too.
|
560
|
+
"""
|
474
561
|
return pulumi.get(self, "bound_instance_groups")
|
475
562
|
|
476
563
|
@bound_instance_groups.setter
|
@@ -480,6 +567,9 @@ class _AuthBackendRoleState:
|
|
480
567
|
@property
|
481
568
|
@pulumi.getter(name="boundLabels")
|
482
569
|
def bound_labels(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
570
|
+
"""
|
571
|
+
A comma-separated list of GCP labels formatted as `"key:value"` strings that must be set on authorized GCE instances. Because GCP labels are not currently ACL'd, we recommend that this be used in conjunction with other restrictions.
|
572
|
+
"""
|
483
573
|
return pulumi.get(self, "bound_labels")
|
484
574
|
|
485
575
|
@bound_labels.setter
|
@@ -501,6 +591,9 @@ class _AuthBackendRoleState:
|
|
501
591
|
@property
|
502
592
|
@pulumi.getter(name="boundRegions")
|
503
593
|
def bound_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
594
|
+
"""
|
595
|
+
The list of regions that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a regional group and the group must belong to this region. If bound_zones are provided, this attribute is ignored.
|
596
|
+
"""
|
504
597
|
return pulumi.get(self, "bound_regions")
|
505
598
|
|
506
599
|
@bound_regions.setter
|
@@ -522,6 +615,9 @@ class _AuthBackendRoleState:
|
|
522
615
|
@property
|
523
616
|
@pulumi.getter(name="boundZones")
|
524
617
|
def bound_zones(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
618
|
+
"""
|
619
|
+
The list of zones that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
|
620
|
+
"""
|
525
621
|
return pulumi.get(self, "bound_zones")
|
526
622
|
|
527
623
|
@bound_zones.setter
|
@@ -531,6 +627,9 @@ class _AuthBackendRoleState:
|
|
531
627
|
@property
|
532
628
|
@pulumi.getter(name="maxJwtExp")
|
533
629
|
def max_jwt_exp(self) -> Optional[pulumi.Input[str]]:
|
630
|
+
"""
|
631
|
+
The number of seconds past the time of authentication that the login param JWT must expire within. For example, if a user attempts to login with a token that expires within an hour and this is set to 15 minutes, Vault will return an error prompting the user to create a new signed JWT with a shorter `exp`. The GCE metadata tokens currently do not allow the `exp` claim to be customized.
|
632
|
+
"""
|
534
633
|
return pulumi.get(self, "max_jwt_exp")
|
535
634
|
|
536
635
|
@max_jwt_exp.setter
|
@@ -568,7 +667,9 @@ class _AuthBackendRoleState:
|
|
568
667
|
@pulumi.getter(name="tokenBoundCidrs")
|
569
668
|
def token_bound_cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
570
669
|
"""
|
571
|
-
|
670
|
+
List of CIDR blocks; if set, specifies blocks of IP
|
671
|
+
addresses which can authenticate successfully, and ties the resulting token to these blocks
|
672
|
+
as well.
|
572
673
|
"""
|
573
674
|
return pulumi.get(self, "token_bound_cidrs")
|
574
675
|
|
@@ -580,7 +681,10 @@ class _AuthBackendRoleState:
|
|
580
681
|
@pulumi.getter(name="tokenExplicitMaxTtl")
|
581
682
|
def token_explicit_max_ttl(self) -> Optional[pulumi.Input[int]]:
|
582
683
|
"""
|
583
|
-
|
684
|
+
If set, will encode an
|
685
|
+
[explicit max TTL](https://www.vaultproject.io/docs/concepts/tokens.html#token-time-to-live-periodic-tokens-and-explicit-max-ttls)
|
686
|
+
onto the token in number of seconds. This is a hard cap even if `token_ttl` and
|
687
|
+
`token_max_ttl` would otherwise allow a renewal.
|
584
688
|
"""
|
585
689
|
return pulumi.get(self, "token_explicit_max_ttl")
|
586
690
|
|
@@ -592,7 +696,8 @@ class _AuthBackendRoleState:
|
|
592
696
|
@pulumi.getter(name="tokenMaxTtl")
|
593
697
|
def token_max_ttl(self) -> Optional[pulumi.Input[int]]:
|
594
698
|
"""
|
595
|
-
The maximum lifetime
|
699
|
+
The maximum lifetime for generated tokens in number of seconds.
|
700
|
+
Its current value will be referenced at renewal time.
|
596
701
|
"""
|
597
702
|
return pulumi.get(self, "token_max_ttl")
|
598
703
|
|
@@ -604,7 +709,8 @@ class _AuthBackendRoleState:
|
|
604
709
|
@pulumi.getter(name="tokenNoDefaultPolicy")
|
605
710
|
def token_no_default_policy(self) -> Optional[pulumi.Input[bool]]:
|
606
711
|
"""
|
607
|
-
If
|
712
|
+
If set, the default policy will not be set on
|
713
|
+
generated tokens; otherwise it will be added to the policies set in token_policies.
|
608
714
|
"""
|
609
715
|
return pulumi.get(self, "token_no_default_policy")
|
610
716
|
|
@@ -616,7 +722,8 @@ class _AuthBackendRoleState:
|
|
616
722
|
@pulumi.getter(name="tokenNumUses")
|
617
723
|
def token_num_uses(self) -> Optional[pulumi.Input[int]]:
|
618
724
|
"""
|
619
|
-
The maximum number
|
725
|
+
The [maximum number](https://www.vaultproject.io/api-docs/gcp#token_num_uses)
|
726
|
+
of times a generated token may be used (within its lifetime); 0 means unlimited.
|
620
727
|
"""
|
621
728
|
return pulumi.get(self, "token_num_uses")
|
622
729
|
|
@@ -628,7 +735,10 @@ class _AuthBackendRoleState:
|
|
628
735
|
@pulumi.getter(name="tokenPeriod")
|
629
736
|
def token_period(self) -> Optional[pulumi.Input[int]]:
|
630
737
|
"""
|
631
|
-
|
738
|
+
If set, indicates that the
|
739
|
+
token generated using this role should never expire. The token should be renewed within the
|
740
|
+
duration specified by this value. At each renewal, the token's TTL will be set to the
|
741
|
+
value of this field. Specified in seconds.
|
632
742
|
"""
|
633
743
|
return pulumi.get(self, "token_period")
|
634
744
|
|
@@ -640,7 +750,8 @@ class _AuthBackendRoleState:
|
|
640
750
|
@pulumi.getter(name="tokenPolicies")
|
641
751
|
def token_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
642
752
|
"""
|
643
|
-
|
753
|
+
List of policies to encode onto generated tokens. Depending
|
754
|
+
on the auth method, this list may be supplemented by user/group/other values.
|
644
755
|
"""
|
645
756
|
return pulumi.get(self, "token_policies")
|
646
757
|
|
@@ -652,7 +763,8 @@ class _AuthBackendRoleState:
|
|
652
763
|
@pulumi.getter(name="tokenTtl")
|
653
764
|
def token_ttl(self) -> Optional[pulumi.Input[int]]:
|
654
765
|
"""
|
655
|
-
The
|
766
|
+
The incremental lifetime for generated tokens in number of seconds.
|
767
|
+
Its current value will be referenced at renewal time.
|
656
768
|
"""
|
657
769
|
return pulumi.get(self, "token_ttl")
|
658
770
|
|
@@ -664,7 +776,11 @@ class _AuthBackendRoleState:
|
|
664
776
|
@pulumi.getter(name="tokenType")
|
665
777
|
def token_type(self) -> Optional[pulumi.Input[str]]:
|
666
778
|
"""
|
667
|
-
The type of token
|
779
|
+
The type of token that should be generated. Can be `service`,
|
780
|
+
`batch`, or `default` to use the mount's tuned default (which unless changed will be
|
781
|
+
`service` tokens). For token store roles, there are two additional possibilities:
|
782
|
+
`default-service` and `default-batch` which specify the type to return unless the client
|
783
|
+
requests a different type at generation time.
|
668
784
|
"""
|
669
785
|
return pulumi.get(self, "token_type")
|
670
786
|
|
@@ -718,6 +834,7 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
718
834
|
|
719
835
|
## Example Usage
|
720
836
|
|
837
|
+
<!--Start PulumiCodeChooser -->
|
721
838
|
```python
|
722
839
|
import pulumi
|
723
840
|
import pulumi_vault as vault
|
@@ -739,6 +856,7 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
739
856
|
],
|
740
857
|
add_group_aliases=True)
|
741
858
|
```
|
859
|
+
<!--End PulumiCodeChooser -->
|
742
860
|
|
743
861
|
## Import
|
744
862
|
|
@@ -750,23 +868,46 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
750
868
|
|
751
869
|
:param str resource_name: The name of the resource.
|
752
870
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
871
|
+
:param pulumi.Input[bool] allow_gce_inference: A flag to determine if this role should allow GCE instances to authenticate by inferring service accounts from the GCE identity metadata token.
|
753
872
|
:param pulumi.Input[str] backend: Path to the mounted GCP auth backend
|
873
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_instance_groups: The instance groups that an authorized instance must belong to in order to be authenticated. If specified, either `bound_zones` or `bound_regions` must be set too.
|
874
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_labels: A comma-separated list of GCP labels formatted as `"key:value"` strings that must be set on authorized GCE instances. Because GCP labels are not currently ACL'd, we recommend that this be used in conjunction with other restrictions.
|
754
875
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_projects: An array of GCP project IDs. Only entities belonging to this project can authenticate under the role.
|
876
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_regions: The list of regions that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a regional group and the group must belong to this region. If bound_zones are provided, this attribute is ignored.
|
755
877
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_service_accounts: GCP Service Accounts allowed to issue tokens under this role. (Note: **Required** if role is `iam`)
|
878
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_zones: The list of zones that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
|
879
|
+
:param pulumi.Input[str] max_jwt_exp: The number of seconds past the time of authentication that the login param JWT must expire within. For example, if a user attempts to login with a token that expires within an hour and this is set to 15 minutes, Vault will return an error prompting the user to create a new signed JWT with a shorter `exp`. The GCE metadata tokens currently do not allow the `exp` claim to be customized.
|
756
880
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
757
881
|
The value should not contain leading or trailing forward slashes.
|
758
882
|
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
759
883
|
*Available only for Vault Enterprise*.
|
760
884
|
:param pulumi.Input[str] role: Name of the GCP role
|
761
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] token_bound_cidrs:
|
762
|
-
|
763
|
-
|
764
|
-
:param pulumi.Input[
|
765
|
-
|
766
|
-
|
767
|
-
|
768
|
-
:param pulumi.Input[int]
|
769
|
-
|
885
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] token_bound_cidrs: List of CIDR blocks; if set, specifies blocks of IP
|
886
|
+
addresses which can authenticate successfully, and ties the resulting token to these blocks
|
887
|
+
as well.
|
888
|
+
:param pulumi.Input[int] token_explicit_max_ttl: If set, will encode an
|
889
|
+
[explicit max TTL](https://www.vaultproject.io/docs/concepts/tokens.html#token-time-to-live-periodic-tokens-and-explicit-max-ttls)
|
890
|
+
onto the token in number of seconds. This is a hard cap even if `token_ttl` and
|
891
|
+
`token_max_ttl` would otherwise allow a renewal.
|
892
|
+
:param pulumi.Input[int] token_max_ttl: The maximum lifetime for generated tokens in number of seconds.
|
893
|
+
Its current value will be referenced at renewal time.
|
894
|
+
:param pulumi.Input[bool] token_no_default_policy: If set, the default policy will not be set on
|
895
|
+
generated tokens; otherwise it will be added to the policies set in token_policies.
|
896
|
+
:param pulumi.Input[int] token_num_uses: The [maximum number](https://www.vaultproject.io/api-docs/gcp#token_num_uses)
|
897
|
+
of times a generated token may be used (within its lifetime); 0 means unlimited.
|
898
|
+
:param pulumi.Input[int] token_period: If set, indicates that the
|
899
|
+
token generated using this role should never expire. The token should be renewed within the
|
900
|
+
duration specified by this value. At each renewal, the token's TTL will be set to the
|
901
|
+
value of this field. Specified in seconds.
|
902
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] token_policies: List of policies to encode onto generated tokens. Depending
|
903
|
+
on the auth method, this list may be supplemented by user/group/other values.
|
904
|
+
:param pulumi.Input[int] token_ttl: The incremental lifetime for generated tokens in number of seconds.
|
905
|
+
Its current value will be referenced at renewal time.
|
906
|
+
:param pulumi.Input[str] token_type: The type of token that should be generated. Can be `service`,
|
907
|
+
`batch`, or `default` to use the mount's tuned default (which unless changed will be
|
908
|
+
`service` tokens). For token store roles, there are two additional possibilities:
|
909
|
+
`default-service` and `default-batch` which specify the type to return unless the client
|
910
|
+
requests a different type at generation time.
|
770
911
|
:param pulumi.Input[str] type: Type of GCP authentication role (either `gce` or `iam`)
|
771
912
|
"""
|
772
913
|
...
|
@@ -780,6 +921,7 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
780
921
|
|
781
922
|
## Example Usage
|
782
923
|
|
924
|
+
<!--Start PulumiCodeChooser -->
|
783
925
|
```python
|
784
926
|
import pulumi
|
785
927
|
import pulumi_vault as vault
|
@@ -801,6 +943,7 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
801
943
|
],
|
802
944
|
add_group_aliases=True)
|
803
945
|
```
|
946
|
+
<!--End PulumiCodeChooser -->
|
804
947
|
|
805
948
|
## Import
|
806
949
|
|
@@ -921,23 +1064,46 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
921
1064
|
:param str resource_name: The unique name of the resulting resource.
|
922
1065
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
923
1066
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
1067
|
+
:param pulumi.Input[bool] allow_gce_inference: A flag to determine if this role should allow GCE instances to authenticate by inferring service accounts from the GCE identity metadata token.
|
924
1068
|
:param pulumi.Input[str] backend: Path to the mounted GCP auth backend
|
1069
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_instance_groups: The instance groups that an authorized instance must belong to in order to be authenticated. If specified, either `bound_zones` or `bound_regions` must be set too.
|
1070
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_labels: A comma-separated list of GCP labels formatted as `"key:value"` strings that must be set on authorized GCE instances. Because GCP labels are not currently ACL'd, we recommend that this be used in conjunction with other restrictions.
|
925
1071
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_projects: An array of GCP project IDs. Only entities belonging to this project can authenticate under the role.
|
1072
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_regions: The list of regions that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a regional group and the group must belong to this region. If bound_zones are provided, this attribute is ignored.
|
926
1073
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_service_accounts: GCP Service Accounts allowed to issue tokens under this role. (Note: **Required** if role is `iam`)
|
1074
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] bound_zones: The list of zones that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
|
1075
|
+
:param pulumi.Input[str] max_jwt_exp: The number of seconds past the time of authentication that the login param JWT must expire within. For example, if a user attempts to login with a token that expires within an hour and this is set to 15 minutes, Vault will return an error prompting the user to create a new signed JWT with a shorter `exp`. The GCE metadata tokens currently do not allow the `exp` claim to be customized.
|
927
1076
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
928
1077
|
The value should not contain leading or trailing forward slashes.
|
929
1078
|
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
930
1079
|
*Available only for Vault Enterprise*.
|
931
1080
|
:param pulumi.Input[str] role: Name of the GCP role
|
932
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] token_bound_cidrs:
|
933
|
-
|
934
|
-
|
935
|
-
:param pulumi.Input[
|
936
|
-
|
937
|
-
|
938
|
-
|
939
|
-
:param pulumi.Input[int]
|
940
|
-
|
1081
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] token_bound_cidrs: List of CIDR blocks; if set, specifies blocks of IP
|
1082
|
+
addresses which can authenticate successfully, and ties the resulting token to these blocks
|
1083
|
+
as well.
|
1084
|
+
:param pulumi.Input[int] token_explicit_max_ttl: If set, will encode an
|
1085
|
+
[explicit max TTL](https://www.vaultproject.io/docs/concepts/tokens.html#token-time-to-live-periodic-tokens-and-explicit-max-ttls)
|
1086
|
+
onto the token in number of seconds. This is a hard cap even if `token_ttl` and
|
1087
|
+
`token_max_ttl` would otherwise allow a renewal.
|
1088
|
+
:param pulumi.Input[int] token_max_ttl: The maximum lifetime for generated tokens in number of seconds.
|
1089
|
+
Its current value will be referenced at renewal time.
|
1090
|
+
:param pulumi.Input[bool] token_no_default_policy: If set, the default policy will not be set on
|
1091
|
+
generated tokens; otherwise it will be added to the policies set in token_policies.
|
1092
|
+
:param pulumi.Input[int] token_num_uses: The [maximum number](https://www.vaultproject.io/api-docs/gcp#token_num_uses)
|
1093
|
+
of times a generated token may be used (within its lifetime); 0 means unlimited.
|
1094
|
+
:param pulumi.Input[int] token_period: If set, indicates that the
|
1095
|
+
token generated using this role should never expire. The token should be renewed within the
|
1096
|
+
duration specified by this value. At each renewal, the token's TTL will be set to the
|
1097
|
+
value of this field. Specified in seconds.
|
1098
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] token_policies: List of policies to encode onto generated tokens. Depending
|
1099
|
+
on the auth method, this list may be supplemented by user/group/other values.
|
1100
|
+
:param pulumi.Input[int] token_ttl: The incremental lifetime for generated tokens in number of seconds.
|
1101
|
+
Its current value will be referenced at renewal time.
|
1102
|
+
:param pulumi.Input[str] token_type: The type of token that should be generated. Can be `service`,
|
1103
|
+
`batch`, or `default` to use the mount's tuned default (which unless changed will be
|
1104
|
+
`service` tokens). For token store roles, there are two additional possibilities:
|
1105
|
+
`default-service` and `default-batch` which specify the type to return unless the client
|
1106
|
+
requests a different type at generation time.
|
941
1107
|
:param pulumi.Input[str] type: Type of GCP authentication role (either `gce` or `iam`)
|
942
1108
|
"""
|
943
1109
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
@@ -976,6 +1142,9 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
976
1142
|
@property
|
977
1143
|
@pulumi.getter(name="allowGceInference")
|
978
1144
|
def allow_gce_inference(self) -> pulumi.Output[bool]:
|
1145
|
+
"""
|
1146
|
+
A flag to determine if this role should allow GCE instances to authenticate by inferring service accounts from the GCE identity metadata token.
|
1147
|
+
"""
|
979
1148
|
return pulumi.get(self, "allow_gce_inference")
|
980
1149
|
|
981
1150
|
@property
|
@@ -989,11 +1158,17 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
989
1158
|
@property
|
990
1159
|
@pulumi.getter(name="boundInstanceGroups")
|
991
1160
|
def bound_instance_groups(self) -> pulumi.Output[Sequence[str]]:
|
1161
|
+
"""
|
1162
|
+
The instance groups that an authorized instance must belong to in order to be authenticated. If specified, either `bound_zones` or `bound_regions` must be set too.
|
1163
|
+
"""
|
992
1164
|
return pulumi.get(self, "bound_instance_groups")
|
993
1165
|
|
994
1166
|
@property
|
995
1167
|
@pulumi.getter(name="boundLabels")
|
996
1168
|
def bound_labels(self) -> pulumi.Output[Sequence[str]]:
|
1169
|
+
"""
|
1170
|
+
A comma-separated list of GCP labels formatted as `"key:value"` strings that must be set on authorized GCE instances. Because GCP labels are not currently ACL'd, we recommend that this be used in conjunction with other restrictions.
|
1171
|
+
"""
|
997
1172
|
return pulumi.get(self, "bound_labels")
|
998
1173
|
|
999
1174
|
@property
|
@@ -1007,6 +1182,9 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
1007
1182
|
@property
|
1008
1183
|
@pulumi.getter(name="boundRegions")
|
1009
1184
|
def bound_regions(self) -> pulumi.Output[Sequence[str]]:
|
1185
|
+
"""
|
1186
|
+
The list of regions that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a regional group and the group must belong to this region. If bound_zones are provided, this attribute is ignored.
|
1187
|
+
"""
|
1010
1188
|
return pulumi.get(self, "bound_regions")
|
1011
1189
|
|
1012
1190
|
@property
|
@@ -1020,11 +1198,17 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
1020
1198
|
@property
|
1021
1199
|
@pulumi.getter(name="boundZones")
|
1022
1200
|
def bound_zones(self) -> pulumi.Output[Sequence[str]]:
|
1201
|
+
"""
|
1202
|
+
The list of zones that a GCE instance must belong to in order to be authenticated. If bound_instance_groups is provided, it is assumed to be a zonal group and the group must belong to this zone.
|
1203
|
+
"""
|
1023
1204
|
return pulumi.get(self, "bound_zones")
|
1024
1205
|
|
1025
1206
|
@property
|
1026
1207
|
@pulumi.getter(name="maxJwtExp")
|
1027
1208
|
def max_jwt_exp(self) -> pulumi.Output[str]:
|
1209
|
+
"""
|
1210
|
+
The number of seconds past the time of authentication that the login param JWT must expire within. For example, if a user attempts to login with a token that expires within an hour and this is set to 15 minutes, Vault will return an error prompting the user to create a new signed JWT with a shorter `exp`. The GCE metadata tokens currently do not allow the `exp` claim to be customized.
|
1211
|
+
"""
|
1028
1212
|
return pulumi.get(self, "max_jwt_exp")
|
1029
1213
|
|
1030
1214
|
@property
|
@@ -1050,7 +1234,9 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
1050
1234
|
@pulumi.getter(name="tokenBoundCidrs")
|
1051
1235
|
def token_bound_cidrs(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1052
1236
|
"""
|
1053
|
-
|
1237
|
+
List of CIDR blocks; if set, specifies blocks of IP
|
1238
|
+
addresses which can authenticate successfully, and ties the resulting token to these blocks
|
1239
|
+
as well.
|
1054
1240
|
"""
|
1055
1241
|
return pulumi.get(self, "token_bound_cidrs")
|
1056
1242
|
|
@@ -1058,7 +1244,10 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
1058
1244
|
@pulumi.getter(name="tokenExplicitMaxTtl")
|
1059
1245
|
def token_explicit_max_ttl(self) -> pulumi.Output[Optional[int]]:
|
1060
1246
|
"""
|
1061
|
-
|
1247
|
+
If set, will encode an
|
1248
|
+
[explicit max TTL](https://www.vaultproject.io/docs/concepts/tokens.html#token-time-to-live-periodic-tokens-and-explicit-max-ttls)
|
1249
|
+
onto the token in number of seconds. This is a hard cap even if `token_ttl` and
|
1250
|
+
`token_max_ttl` would otherwise allow a renewal.
|
1062
1251
|
"""
|
1063
1252
|
return pulumi.get(self, "token_explicit_max_ttl")
|
1064
1253
|
|
@@ -1066,7 +1255,8 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
1066
1255
|
@pulumi.getter(name="tokenMaxTtl")
|
1067
1256
|
def token_max_ttl(self) -> pulumi.Output[Optional[int]]:
|
1068
1257
|
"""
|
1069
|
-
The maximum lifetime
|
1258
|
+
The maximum lifetime for generated tokens in number of seconds.
|
1259
|
+
Its current value will be referenced at renewal time.
|
1070
1260
|
"""
|
1071
1261
|
return pulumi.get(self, "token_max_ttl")
|
1072
1262
|
|
@@ -1074,7 +1264,8 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
1074
1264
|
@pulumi.getter(name="tokenNoDefaultPolicy")
|
1075
1265
|
def token_no_default_policy(self) -> pulumi.Output[Optional[bool]]:
|
1076
1266
|
"""
|
1077
|
-
If
|
1267
|
+
If set, the default policy will not be set on
|
1268
|
+
generated tokens; otherwise it will be added to the policies set in token_policies.
|
1078
1269
|
"""
|
1079
1270
|
return pulumi.get(self, "token_no_default_policy")
|
1080
1271
|
|
@@ -1082,7 +1273,8 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
1082
1273
|
@pulumi.getter(name="tokenNumUses")
|
1083
1274
|
def token_num_uses(self) -> pulumi.Output[Optional[int]]:
|
1084
1275
|
"""
|
1085
|
-
The maximum number
|
1276
|
+
The [maximum number](https://www.vaultproject.io/api-docs/gcp#token_num_uses)
|
1277
|
+
of times a generated token may be used (within its lifetime); 0 means unlimited.
|
1086
1278
|
"""
|
1087
1279
|
return pulumi.get(self, "token_num_uses")
|
1088
1280
|
|
@@ -1090,7 +1282,10 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
1090
1282
|
@pulumi.getter(name="tokenPeriod")
|
1091
1283
|
def token_period(self) -> pulumi.Output[Optional[int]]:
|
1092
1284
|
"""
|
1093
|
-
|
1285
|
+
If set, indicates that the
|
1286
|
+
token generated using this role should never expire. The token should be renewed within the
|
1287
|
+
duration specified by this value. At each renewal, the token's TTL will be set to the
|
1288
|
+
value of this field. Specified in seconds.
|
1094
1289
|
"""
|
1095
1290
|
return pulumi.get(self, "token_period")
|
1096
1291
|
|
@@ -1098,7 +1293,8 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
1098
1293
|
@pulumi.getter(name="tokenPolicies")
|
1099
1294
|
def token_policies(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
1100
1295
|
"""
|
1101
|
-
|
1296
|
+
List of policies to encode onto generated tokens. Depending
|
1297
|
+
on the auth method, this list may be supplemented by user/group/other values.
|
1102
1298
|
"""
|
1103
1299
|
return pulumi.get(self, "token_policies")
|
1104
1300
|
|
@@ -1106,7 +1302,8 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
1106
1302
|
@pulumi.getter(name="tokenTtl")
|
1107
1303
|
def token_ttl(self) -> pulumi.Output[Optional[int]]:
|
1108
1304
|
"""
|
1109
|
-
The
|
1305
|
+
The incremental lifetime for generated tokens in number of seconds.
|
1306
|
+
Its current value will be referenced at renewal time.
|
1110
1307
|
"""
|
1111
1308
|
return pulumi.get(self, "token_ttl")
|
1112
1309
|
|
@@ -1114,7 +1311,11 @@ class AuthBackendRole(pulumi.CustomResource):
|
|
1114
1311
|
@pulumi.getter(name="tokenType")
|
1115
1312
|
def token_type(self) -> pulumi.Output[Optional[str]]:
|
1116
1313
|
"""
|
1117
|
-
The type of token
|
1314
|
+
The type of token that should be generated. Can be `service`,
|
1315
|
+
`batch`, or `default` to use the mount's tuned default (which unless changed will be
|
1316
|
+
`service` tokens). For token store roles, there are two additional possibilities:
|
1317
|
+
`default-service` and `default-batch` which specify the type to return unless the client
|
1318
|
+
requests a different type at generation time.
|
1118
1319
|
"""
|
1119
1320
|
return pulumi.get(self, "token_type")
|
1120
1321
|
|