pulumi-vault 5.21.0a1711033014__py3-none-any.whl → 6.0.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 +24 -0
- pulumi_vault/ad/get_access_credentials.py +2 -2
- pulumi_vault/ad/secret_backend.py +7 -138
- pulumi_vault/ad/secret_library.py +7 -7
- pulumi_vault/ad/secret_role.py +7 -7
- pulumi_vault/approle/auth_backend_login.py +7 -7
- pulumi_vault/approle/auth_backend_role.py +7 -7
- pulumi_vault/approle/auth_backend_role_secret_id.py +7 -7
- pulumi_vault/audit.py +7 -7
- pulumi_vault/auth_backend.py +7 -7
- pulumi_vault/aws/auth_backend_cert.py +7 -7
- pulumi_vault/aws/auth_backend_client.py +7 -7
- pulumi_vault/aws/auth_backend_config_identity.py +7 -7
- pulumi_vault/aws/auth_backend_identity_whitelist.py +7 -7
- pulumi_vault/aws/auth_backend_login.py +7 -7
- pulumi_vault/aws/auth_backend_role.py +7 -7
- pulumi_vault/aws/auth_backend_role_tag.py +7 -7
- pulumi_vault/aws/auth_backend_roletag_blacklist.py +7 -7
- pulumi_vault/aws/auth_backend_sts_role.py +7 -7
- pulumi_vault/aws/get_access_credentials.py +2 -2
- pulumi_vault/aws/secret_backend.py +7 -7
- pulumi_vault/aws/secret_backend_role.py +7 -7
- pulumi_vault/aws/secret_backend_static_role.py +7 -7
- pulumi_vault/azure/auth_backend_config.py +7 -7
- pulumi_vault/azure/auth_backend_role.py +7 -7
- pulumi_vault/azure/backend.py +7 -7
- pulumi_vault/azure/backend_role.py +7 -7
- pulumi_vault/azure/get_access_credentials.py +2 -2
- pulumi_vault/cert_auth_backend_role.py +7 -63
- pulumi_vault/config/_inputs.py +52 -0
- pulumi_vault/config/outputs.py +30 -0
- pulumi_vault/config/ui_custom_message.py +524 -0
- pulumi_vault/consul/secret_backend.py +7 -7
- pulumi_vault/consul/secret_backend_role.py +7 -76
- pulumi_vault/egp_policy.py +7 -7
- pulumi_vault/gcp/auth_backend.py +7 -7
- pulumi_vault/gcp/auth_backend_role.py +7 -7
- pulumi_vault/gcp/secret_backend.py +7 -7
- pulumi_vault/gcp/secret_roleset.py +7 -7
- pulumi_vault/gcp/secret_static_account.py +7 -7
- pulumi_vault/generic/endpoint.py +7 -7
- pulumi_vault/generic/get_secret.py +2 -2
- pulumi_vault/generic/secret.py +7 -7
- pulumi_vault/get_auth_backend.py +2 -2
- pulumi_vault/get_auth_backends.py +20 -2
- pulumi_vault/get_nomad_access_token.py +2 -2
- pulumi_vault/get_raft_autopilot_state.py +2 -2
- pulumi_vault/github/auth_backend.py +7 -7
- pulumi_vault/github/team.py +7 -7
- pulumi_vault/github/user.py +7 -7
- pulumi_vault/identity/entity.py +7 -7
- pulumi_vault/identity/entity_alias.py +7 -7
- pulumi_vault/identity/entity_policies.py +7 -7
- pulumi_vault/identity/get_entity.py +2 -2
- pulumi_vault/identity/get_group.py +2 -2
- pulumi_vault/identity/get_oidc_client_creds.py +2 -2
- pulumi_vault/identity/get_oidc_openid_config.py +2 -2
- pulumi_vault/identity/get_oidc_public_keys.py +2 -2
- pulumi_vault/identity/group.py +7 -7
- pulumi_vault/identity/group_alias.py +7 -7
- pulumi_vault/identity/group_member_entity_ids.py +7 -58
- pulumi_vault/identity/group_member_group_ids.py +7 -7
- pulumi_vault/identity/group_policies.py +7 -7
- pulumi_vault/identity/oidc.py +7 -7
- pulumi_vault/identity/oidc_assignment.py +7 -7
- pulumi_vault/identity/oidc_client.py +19 -15
- pulumi_vault/identity/oidc_key.py +7 -7
- pulumi_vault/identity/oidc_key_allowed_client_id.py +7 -7
- pulumi_vault/identity/oidc_provider.py +7 -7
- pulumi_vault/identity/oidc_role.py +7 -7
- pulumi_vault/identity/oidc_scope.py +7 -7
- pulumi_vault/jwt/auth_backend.py +7 -7
- pulumi_vault/jwt/auth_backend_role.py +7 -7
- pulumi_vault/kmip/secret_backend.py +7 -7
- pulumi_vault/kmip/secret_role.py +7 -7
- pulumi_vault/kmip/secret_scope.py +7 -7
- pulumi_vault/kubernetes/auth_backend_role.py +7 -7
- pulumi_vault/kubernetes/get_service_account_token.py +2 -2
- pulumi_vault/kubernetes/secret_backend.py +7 -7
- pulumi_vault/kubernetes/secret_backend_role.py +7 -7
- pulumi_vault/kv/get_secret.py +2 -2
- pulumi_vault/kv/get_secret_subkeys_v2.py +2 -2
- pulumi_vault/kv/get_secret_v2.py +5 -2
- pulumi_vault/kv/get_secrets_list.py +2 -2
- pulumi_vault/kv/get_secrets_list_v2.py +2 -2
- pulumi_vault/kv/secret.py +7 -7
- pulumi_vault/kv/secret_backend_v2.py +7 -7
- pulumi_vault/kv/secret_v2.py +7 -7
- pulumi_vault/ldap/auth_backend.py +7 -7
- pulumi_vault/ldap/auth_backend_group.py +7 -7
- pulumi_vault/ldap/auth_backend_user.py +7 -7
- pulumi_vault/ldap/secret_backend.py +61 -76
- pulumi_vault/ldap/secret_backend_dynamic_role.py +7 -7
- pulumi_vault/ldap/secret_backend_library_set.py +7 -7
- pulumi_vault/ldap/secret_backend_static_role.py +62 -8
- pulumi_vault/mfa_duo.py +7 -7
- pulumi_vault/mfa_okta.py +7 -7
- pulumi_vault/mfa_pingid.py +7 -7
- pulumi_vault/mfa_totp.py +7 -7
- pulumi_vault/mongodbatlas/secret_backend.py +7 -7
- pulumi_vault/mongodbatlas/secret_role.py +7 -7
- pulumi_vault/mount.py +11 -7
- pulumi_vault/namespace.py +7 -7
- pulumi_vault/nomad_secret_backend.py +7 -7
- pulumi_vault/nomad_secret_role.py +7 -7
- pulumi_vault/okta/auth_backend.py +7 -7
- pulumi_vault/okta/auth_backend_group.py +7 -7
- pulumi_vault/okta/auth_backend_user.py +7 -7
- pulumi_vault/password_policy.py +7 -7
- pulumi_vault/pkisecret/__init__.py +1 -0
- pulumi_vault/pkisecret/backend_config_cluster.py +368 -0
- pulumi_vault/pkisecret/get_backend_issuer.py +2 -2
- pulumi_vault/pkisecret/get_backend_issuers.py +2 -2
- pulumi_vault/pkisecret/get_backend_key.py +2 -2
- pulumi_vault/pkisecret/get_backend_keys.py +2 -2
- pulumi_vault/pkisecret/secret_backend_cert.py +7 -7
- pulumi_vault/pkisecret/secret_backend_config_ca.py +7 -7
- pulumi_vault/pkisecret/secret_backend_config_issuers.py +7 -7
- pulumi_vault/pkisecret/secret_backend_config_urls.py +54 -7
- pulumi_vault/pkisecret/secret_backend_crl_config.py +7 -7
- pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +7 -7
- pulumi_vault/pkisecret/secret_backend_intermediate_set_signed.py +7 -7
- pulumi_vault/pkisecret/secret_backend_issuer.py +7 -7
- pulumi_vault/pkisecret/secret_backend_key.py +7 -7
- pulumi_vault/pkisecret/secret_backend_role.py +7 -7
- pulumi_vault/pkisecret/secret_backend_root_cert.py +7 -44
- pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +7 -52
- pulumi_vault/pkisecret/secret_backend_sign.py +7 -52
- pulumi_vault/policy.py +7 -7
- pulumi_vault/rabbitmq/secret_backend.py +7 -7
- pulumi_vault/rabbitmq/secret_backend_role.py +7 -7
- pulumi_vault/raft_autopilot.py +7 -7
- pulumi_vault/raft_snapshot_agent_config.py +7 -7
- pulumi_vault/rgp_policy.py +7 -7
- pulumi_vault/saml/auth_backend.py +7 -7
- pulumi_vault/saml/auth_backend_role.py +7 -7
- pulumi_vault/secrets/__init__.py +1 -0
- pulumi_vault/secrets/sync_association.py +7 -7
- pulumi_vault/secrets/sync_aws_destination.py +161 -7
- pulumi_vault/secrets/sync_azure_destination.py +7 -7
- pulumi_vault/secrets/sync_gcp_destination.py +77 -7
- pulumi_vault/secrets/sync_gh_destination.py +122 -7
- pulumi_vault/secrets/sync_github_apps.py +370 -0
- pulumi_vault/secrets/sync_vercel_destination.py +7 -7
- pulumi_vault/ssh/secret_backend_ca.py +7 -7
- pulumi_vault/ssh/secret_backend_role.py +7 -83
- pulumi_vault/terraformcloud/secret_creds.py +7 -7
- pulumi_vault/terraformcloud/secret_role.py +7 -7
- pulumi_vault/token.py +7 -7
- pulumi_vault/tokenauth/auth_backend_role.py +7 -7
- pulumi_vault/transform/alphabet.py +7 -7
- pulumi_vault/transform/get_decode.py +2 -2
- pulumi_vault/transform/get_encode.py +2 -2
- pulumi_vault/transform/role.py +7 -7
- pulumi_vault/transform/template.py +7 -7
- pulumi_vault/transform/transformation.py +7 -7
- pulumi_vault/transit/secret_backend_key.py +7 -84
- pulumi_vault/transit/secret_cache_config.py +7 -7
- {pulumi_vault-5.21.0a1711033014.dist-info → pulumi_vault-6.0.0.dist-info}/METADATA +2 -2
- pulumi_vault-6.0.0.dist-info/RECORD +248 -0
- pulumi_vault-5.21.0a1711033014.dist-info/RECORD +0 -244
- {pulumi_vault-5.21.0a1711033014.dist-info → pulumi_vault-6.0.0.dist-info}/WHEEL +0 -0
- {pulumi_vault-5.21.0a1711033014.dist-info → pulumi_vault-6.0.0.dist-info}/top_level.txt +0 -0
@@ -16,9 +16,11 @@ class SyncAwsDestinationArgs:
|
|
16
16
|
def __init__(__self__, *,
|
17
17
|
access_key_id: Optional[pulumi.Input[str]] = None,
|
18
18
|
custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
19
|
+
external_id: Optional[pulumi.Input[str]] = None,
|
19
20
|
name: Optional[pulumi.Input[str]] = None,
|
20
21
|
namespace: Optional[pulumi.Input[str]] = None,
|
21
22
|
region: Optional[pulumi.Input[str]] = None,
|
23
|
+
role_arn: Optional[pulumi.Input[str]] = None,
|
22
24
|
secret_access_key: Optional[pulumi.Input[str]] = None,
|
23
25
|
secret_name_template: Optional[pulumi.Input[str]] = None):
|
24
26
|
"""
|
@@ -27,13 +29,23 @@ class SyncAwsDestinationArgs:
|
|
27
29
|
Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
|
28
30
|
variable.
|
29
31
|
:param pulumi.Input[Mapping[str, Any]] custom_tags: Custom tags to set on the secret managed at the destination.
|
32
|
+
:param pulumi.Input[str] external_id: Optional extra protection that must match the trust policy granting access to the
|
33
|
+
AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
|
34
|
+
The field is mutable with no special condition, but users must be careful that the new value fits with the trust
|
35
|
+
relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
|
36
|
+
denied errors. Ignored if the `role_arn` field is empty.
|
30
37
|
:param pulumi.Input[str] name: Unique name of the AWS destination.
|
31
38
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
32
39
|
The value should not contain leading or trailing forward slashes.
|
33
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
40
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
34
41
|
:param pulumi.Input[str] region: Region where to manage the secrets manager entries.
|
35
42
|
Can be omitted and directly provided to Vault using the `AWS_REGION` environment
|
36
43
|
variable.
|
44
|
+
:param pulumi.Input[str] role_arn: Specifies a role to assume when connecting to AWS. When assuming a role,
|
45
|
+
Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
|
46
|
+
exist for Vault to be able to assume this role. The role can be in a different account.
|
47
|
+
The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
|
48
|
+
It is possible to provide both an access key pair and a role to assume.
|
37
49
|
:param pulumi.Input[str] secret_access_key: Secret access key to authenticate against the AWS secrets manager.
|
38
50
|
Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
|
39
51
|
variable.
|
@@ -44,12 +56,16 @@ class SyncAwsDestinationArgs:
|
|
44
56
|
pulumi.set(__self__, "access_key_id", access_key_id)
|
45
57
|
if custom_tags is not None:
|
46
58
|
pulumi.set(__self__, "custom_tags", custom_tags)
|
59
|
+
if external_id is not None:
|
60
|
+
pulumi.set(__self__, "external_id", external_id)
|
47
61
|
if name is not None:
|
48
62
|
pulumi.set(__self__, "name", name)
|
49
63
|
if namespace is not None:
|
50
64
|
pulumi.set(__self__, "namespace", namespace)
|
51
65
|
if region is not None:
|
52
66
|
pulumi.set(__self__, "region", region)
|
67
|
+
if role_arn is not None:
|
68
|
+
pulumi.set(__self__, "role_arn", role_arn)
|
53
69
|
if secret_access_key is not None:
|
54
70
|
pulumi.set(__self__, "secret_access_key", secret_access_key)
|
55
71
|
if secret_name_template is not None:
|
@@ -81,6 +97,22 @@ class SyncAwsDestinationArgs:
|
|
81
97
|
def custom_tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
|
82
98
|
pulumi.set(self, "custom_tags", value)
|
83
99
|
|
100
|
+
@property
|
101
|
+
@pulumi.getter(name="externalId")
|
102
|
+
def external_id(self) -> Optional[pulumi.Input[str]]:
|
103
|
+
"""
|
104
|
+
Optional extra protection that must match the trust policy granting access to the
|
105
|
+
AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
|
106
|
+
The field is mutable with no special condition, but users must be careful that the new value fits with the trust
|
107
|
+
relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
|
108
|
+
denied errors. Ignored if the `role_arn` field is empty.
|
109
|
+
"""
|
110
|
+
return pulumi.get(self, "external_id")
|
111
|
+
|
112
|
+
@external_id.setter
|
113
|
+
def external_id(self, value: Optional[pulumi.Input[str]]):
|
114
|
+
pulumi.set(self, "external_id", value)
|
115
|
+
|
84
116
|
@property
|
85
117
|
@pulumi.getter
|
86
118
|
def name(self) -> Optional[pulumi.Input[str]]:
|
@@ -99,7 +131,7 @@ class SyncAwsDestinationArgs:
|
|
99
131
|
"""
|
100
132
|
The namespace to provision the resource in.
|
101
133
|
The value should not contain leading or trailing forward slashes.
|
102
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
134
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
103
135
|
"""
|
104
136
|
return pulumi.get(self, "namespace")
|
105
137
|
|
@@ -121,6 +153,22 @@ class SyncAwsDestinationArgs:
|
|
121
153
|
def region(self, value: Optional[pulumi.Input[str]]):
|
122
154
|
pulumi.set(self, "region", value)
|
123
155
|
|
156
|
+
@property
|
157
|
+
@pulumi.getter(name="roleArn")
|
158
|
+
def role_arn(self) -> Optional[pulumi.Input[str]]:
|
159
|
+
"""
|
160
|
+
Specifies a role to assume when connecting to AWS. When assuming a role,
|
161
|
+
Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
|
162
|
+
exist for Vault to be able to assume this role. The role can be in a different account.
|
163
|
+
The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
|
164
|
+
It is possible to provide both an access key pair and a role to assume.
|
165
|
+
"""
|
166
|
+
return pulumi.get(self, "role_arn")
|
167
|
+
|
168
|
+
@role_arn.setter
|
169
|
+
def role_arn(self, value: Optional[pulumi.Input[str]]):
|
170
|
+
pulumi.set(self, "role_arn", value)
|
171
|
+
|
124
172
|
@property
|
125
173
|
@pulumi.getter(name="secretAccessKey")
|
126
174
|
def secret_access_key(self) -> Optional[pulumi.Input[str]]:
|
@@ -154,9 +202,11 @@ class _SyncAwsDestinationState:
|
|
154
202
|
def __init__(__self__, *,
|
155
203
|
access_key_id: Optional[pulumi.Input[str]] = None,
|
156
204
|
custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
205
|
+
external_id: Optional[pulumi.Input[str]] = None,
|
157
206
|
name: Optional[pulumi.Input[str]] = None,
|
158
207
|
namespace: Optional[pulumi.Input[str]] = None,
|
159
208
|
region: Optional[pulumi.Input[str]] = None,
|
209
|
+
role_arn: Optional[pulumi.Input[str]] = None,
|
160
210
|
secret_access_key: Optional[pulumi.Input[str]] = None,
|
161
211
|
secret_name_template: Optional[pulumi.Input[str]] = None,
|
162
212
|
type: Optional[pulumi.Input[str]] = None):
|
@@ -166,13 +216,23 @@ class _SyncAwsDestinationState:
|
|
166
216
|
Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
|
167
217
|
variable.
|
168
218
|
:param pulumi.Input[Mapping[str, Any]] custom_tags: Custom tags to set on the secret managed at the destination.
|
219
|
+
:param pulumi.Input[str] external_id: Optional extra protection that must match the trust policy granting access to the
|
220
|
+
AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
|
221
|
+
The field is mutable with no special condition, but users must be careful that the new value fits with the trust
|
222
|
+
relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
|
223
|
+
denied errors. Ignored if the `role_arn` field is empty.
|
169
224
|
:param pulumi.Input[str] name: Unique name of the AWS destination.
|
170
225
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
171
226
|
The value should not contain leading or trailing forward slashes.
|
172
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
227
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
173
228
|
:param pulumi.Input[str] region: Region where to manage the secrets manager entries.
|
174
229
|
Can be omitted and directly provided to Vault using the `AWS_REGION` environment
|
175
230
|
variable.
|
231
|
+
:param pulumi.Input[str] role_arn: Specifies a role to assume when connecting to AWS. When assuming a role,
|
232
|
+
Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
|
233
|
+
exist for Vault to be able to assume this role. The role can be in a different account.
|
234
|
+
The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
|
235
|
+
It is possible to provide both an access key pair and a role to assume.
|
176
236
|
:param pulumi.Input[str] secret_access_key: Secret access key to authenticate against the AWS secrets manager.
|
177
237
|
Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
|
178
238
|
variable.
|
@@ -184,12 +244,16 @@ class _SyncAwsDestinationState:
|
|
184
244
|
pulumi.set(__self__, "access_key_id", access_key_id)
|
185
245
|
if custom_tags is not None:
|
186
246
|
pulumi.set(__self__, "custom_tags", custom_tags)
|
247
|
+
if external_id is not None:
|
248
|
+
pulumi.set(__self__, "external_id", external_id)
|
187
249
|
if name is not None:
|
188
250
|
pulumi.set(__self__, "name", name)
|
189
251
|
if namespace is not None:
|
190
252
|
pulumi.set(__self__, "namespace", namespace)
|
191
253
|
if region is not None:
|
192
254
|
pulumi.set(__self__, "region", region)
|
255
|
+
if role_arn is not None:
|
256
|
+
pulumi.set(__self__, "role_arn", role_arn)
|
193
257
|
if secret_access_key is not None:
|
194
258
|
pulumi.set(__self__, "secret_access_key", secret_access_key)
|
195
259
|
if secret_name_template is not None:
|
@@ -223,6 +287,22 @@ class _SyncAwsDestinationState:
|
|
223
287
|
def custom_tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
|
224
288
|
pulumi.set(self, "custom_tags", value)
|
225
289
|
|
290
|
+
@property
|
291
|
+
@pulumi.getter(name="externalId")
|
292
|
+
def external_id(self) -> Optional[pulumi.Input[str]]:
|
293
|
+
"""
|
294
|
+
Optional extra protection that must match the trust policy granting access to the
|
295
|
+
AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
|
296
|
+
The field is mutable with no special condition, but users must be careful that the new value fits with the trust
|
297
|
+
relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
|
298
|
+
denied errors. Ignored if the `role_arn` field is empty.
|
299
|
+
"""
|
300
|
+
return pulumi.get(self, "external_id")
|
301
|
+
|
302
|
+
@external_id.setter
|
303
|
+
def external_id(self, value: Optional[pulumi.Input[str]]):
|
304
|
+
pulumi.set(self, "external_id", value)
|
305
|
+
|
226
306
|
@property
|
227
307
|
@pulumi.getter
|
228
308
|
def name(self) -> Optional[pulumi.Input[str]]:
|
@@ -241,7 +321,7 @@ class _SyncAwsDestinationState:
|
|
241
321
|
"""
|
242
322
|
The namespace to provision the resource in.
|
243
323
|
The value should not contain leading or trailing forward slashes.
|
244
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
324
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
245
325
|
"""
|
246
326
|
return pulumi.get(self, "namespace")
|
247
327
|
|
@@ -263,6 +343,22 @@ class _SyncAwsDestinationState:
|
|
263
343
|
def region(self, value: Optional[pulumi.Input[str]]):
|
264
344
|
pulumi.set(self, "region", value)
|
265
345
|
|
346
|
+
@property
|
347
|
+
@pulumi.getter(name="roleArn")
|
348
|
+
def role_arn(self) -> Optional[pulumi.Input[str]]:
|
349
|
+
"""
|
350
|
+
Specifies a role to assume when connecting to AWS. When assuming a role,
|
351
|
+
Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
|
352
|
+
exist for Vault to be able to assume this role. The role can be in a different account.
|
353
|
+
The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
|
354
|
+
It is possible to provide both an access key pair and a role to assume.
|
355
|
+
"""
|
356
|
+
return pulumi.get(self, "role_arn")
|
357
|
+
|
358
|
+
@role_arn.setter
|
359
|
+
def role_arn(self, value: Optional[pulumi.Input[str]]):
|
360
|
+
pulumi.set(self, "role_arn", value)
|
361
|
+
|
266
362
|
@property
|
267
363
|
@pulumi.getter(name="secretAccessKey")
|
268
364
|
def secret_access_key(self) -> Optional[pulumi.Input[str]]:
|
@@ -310,9 +406,11 @@ class SyncAwsDestination(pulumi.CustomResource):
|
|
310
406
|
opts: Optional[pulumi.ResourceOptions] = None,
|
311
407
|
access_key_id: Optional[pulumi.Input[str]] = None,
|
312
408
|
custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
409
|
+
external_id: Optional[pulumi.Input[str]] = None,
|
313
410
|
name: Optional[pulumi.Input[str]] = None,
|
314
411
|
namespace: Optional[pulumi.Input[str]] = None,
|
315
412
|
region: Optional[pulumi.Input[str]] = None,
|
413
|
+
role_arn: Optional[pulumi.Input[str]] = None,
|
316
414
|
secret_access_key: Optional[pulumi.Input[str]] = None,
|
317
415
|
secret_name_template: Optional[pulumi.Input[str]] = None,
|
318
416
|
__props__=None):
|
@@ -328,6 +426,8 @@ class SyncAwsDestination(pulumi.CustomResource):
|
|
328
426
|
access_key_id=var["access_key_id"],
|
329
427
|
secret_access_key=var["secret_access_key"],
|
330
428
|
region="us-east-1",
|
429
|
+
role_arn="role-arn",
|
430
|
+
external_id="external-id",
|
331
431
|
secret_name_template="vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}",
|
332
432
|
custom_tags={
|
333
433
|
"foo": "bar",
|
@@ -349,13 +449,23 @@ class SyncAwsDestination(pulumi.CustomResource):
|
|
349
449
|
Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
|
350
450
|
variable.
|
351
451
|
:param pulumi.Input[Mapping[str, Any]] custom_tags: Custom tags to set on the secret managed at the destination.
|
452
|
+
:param pulumi.Input[str] external_id: Optional extra protection that must match the trust policy granting access to the
|
453
|
+
AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
|
454
|
+
The field is mutable with no special condition, but users must be careful that the new value fits with the trust
|
455
|
+
relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
|
456
|
+
denied errors. Ignored if the `role_arn` field is empty.
|
352
457
|
:param pulumi.Input[str] name: Unique name of the AWS destination.
|
353
458
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
354
459
|
The value should not contain leading or trailing forward slashes.
|
355
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
460
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
356
461
|
:param pulumi.Input[str] region: Region where to manage the secrets manager entries.
|
357
462
|
Can be omitted and directly provided to Vault using the `AWS_REGION` environment
|
358
463
|
variable.
|
464
|
+
:param pulumi.Input[str] role_arn: Specifies a role to assume when connecting to AWS. When assuming a role,
|
465
|
+
Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
|
466
|
+
exist for Vault to be able to assume this role. The role can be in a different account.
|
467
|
+
The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
|
468
|
+
It is possible to provide both an access key pair and a role to assume.
|
359
469
|
:param pulumi.Input[str] secret_access_key: Secret access key to authenticate against the AWS secrets manager.
|
360
470
|
Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
|
361
471
|
variable.
|
@@ -380,6 +490,8 @@ class SyncAwsDestination(pulumi.CustomResource):
|
|
380
490
|
access_key_id=var["access_key_id"],
|
381
491
|
secret_access_key=var["secret_access_key"],
|
382
492
|
region="us-east-1",
|
493
|
+
role_arn="role-arn",
|
494
|
+
external_id="external-id",
|
383
495
|
secret_name_template="vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}",
|
384
496
|
custom_tags={
|
385
497
|
"foo": "bar",
|
@@ -412,9 +524,11 @@ class SyncAwsDestination(pulumi.CustomResource):
|
|
412
524
|
opts: Optional[pulumi.ResourceOptions] = None,
|
413
525
|
access_key_id: Optional[pulumi.Input[str]] = None,
|
414
526
|
custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
527
|
+
external_id: Optional[pulumi.Input[str]] = None,
|
415
528
|
name: Optional[pulumi.Input[str]] = None,
|
416
529
|
namespace: Optional[pulumi.Input[str]] = None,
|
417
530
|
region: Optional[pulumi.Input[str]] = None,
|
531
|
+
role_arn: Optional[pulumi.Input[str]] = None,
|
418
532
|
secret_access_key: Optional[pulumi.Input[str]] = None,
|
419
533
|
secret_name_template: Optional[pulumi.Input[str]] = None,
|
420
534
|
__props__=None):
|
@@ -428,9 +542,11 @@ class SyncAwsDestination(pulumi.CustomResource):
|
|
428
542
|
|
429
543
|
__props__.__dict__["access_key_id"] = access_key_id
|
430
544
|
__props__.__dict__["custom_tags"] = custom_tags
|
545
|
+
__props__.__dict__["external_id"] = external_id
|
431
546
|
__props__.__dict__["name"] = name
|
432
547
|
__props__.__dict__["namespace"] = namespace
|
433
548
|
__props__.__dict__["region"] = region
|
549
|
+
__props__.__dict__["role_arn"] = role_arn
|
434
550
|
__props__.__dict__["secret_access_key"] = None if secret_access_key is None else pulumi.Output.secret(secret_access_key)
|
435
551
|
__props__.__dict__["secret_name_template"] = secret_name_template
|
436
552
|
__props__.__dict__["type"] = None
|
@@ -448,9 +564,11 @@ class SyncAwsDestination(pulumi.CustomResource):
|
|
448
564
|
opts: Optional[pulumi.ResourceOptions] = None,
|
449
565
|
access_key_id: Optional[pulumi.Input[str]] = None,
|
450
566
|
custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
567
|
+
external_id: Optional[pulumi.Input[str]] = None,
|
451
568
|
name: Optional[pulumi.Input[str]] = None,
|
452
569
|
namespace: Optional[pulumi.Input[str]] = None,
|
453
570
|
region: Optional[pulumi.Input[str]] = None,
|
571
|
+
role_arn: Optional[pulumi.Input[str]] = None,
|
454
572
|
secret_access_key: Optional[pulumi.Input[str]] = None,
|
455
573
|
secret_name_template: Optional[pulumi.Input[str]] = None,
|
456
574
|
type: Optional[pulumi.Input[str]] = None) -> 'SyncAwsDestination':
|
@@ -465,13 +583,23 @@ class SyncAwsDestination(pulumi.CustomResource):
|
|
465
583
|
Can be omitted and directly provided to Vault using the `AWS_ACCESS_KEY_ID` environment
|
466
584
|
variable.
|
467
585
|
:param pulumi.Input[Mapping[str, Any]] custom_tags: Custom tags to set on the secret managed at the destination.
|
586
|
+
:param pulumi.Input[str] external_id: Optional extra protection that must match the trust policy granting access to the
|
587
|
+
AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
|
588
|
+
The field is mutable with no special condition, but users must be careful that the new value fits with the trust
|
589
|
+
relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
|
590
|
+
denied errors. Ignored if the `role_arn` field is empty.
|
468
591
|
:param pulumi.Input[str] name: Unique name of the AWS destination.
|
469
592
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
470
593
|
The value should not contain leading or trailing forward slashes.
|
471
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
594
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
472
595
|
:param pulumi.Input[str] region: Region where to manage the secrets manager entries.
|
473
596
|
Can be omitted and directly provided to Vault using the `AWS_REGION` environment
|
474
597
|
variable.
|
598
|
+
:param pulumi.Input[str] role_arn: Specifies a role to assume when connecting to AWS. When assuming a role,
|
599
|
+
Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
|
600
|
+
exist for Vault to be able to assume this role. The role can be in a different account.
|
601
|
+
The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
|
602
|
+
It is possible to provide both an access key pair and a role to assume.
|
475
603
|
:param pulumi.Input[str] secret_access_key: Secret access key to authenticate against the AWS secrets manager.
|
476
604
|
Can be omitted and directly provided to Vault using the `AWS_SECRET_ACCESS_KEY` environment
|
477
605
|
variable.
|
@@ -485,9 +613,11 @@ class SyncAwsDestination(pulumi.CustomResource):
|
|
485
613
|
|
486
614
|
__props__.__dict__["access_key_id"] = access_key_id
|
487
615
|
__props__.__dict__["custom_tags"] = custom_tags
|
616
|
+
__props__.__dict__["external_id"] = external_id
|
488
617
|
__props__.__dict__["name"] = name
|
489
618
|
__props__.__dict__["namespace"] = namespace
|
490
619
|
__props__.__dict__["region"] = region
|
620
|
+
__props__.__dict__["role_arn"] = role_arn
|
491
621
|
__props__.__dict__["secret_access_key"] = secret_access_key
|
492
622
|
__props__.__dict__["secret_name_template"] = secret_name_template
|
493
623
|
__props__.__dict__["type"] = type
|
@@ -511,6 +641,18 @@ class SyncAwsDestination(pulumi.CustomResource):
|
|
511
641
|
"""
|
512
642
|
return pulumi.get(self, "custom_tags")
|
513
643
|
|
644
|
+
@property
|
645
|
+
@pulumi.getter(name="externalId")
|
646
|
+
def external_id(self) -> pulumi.Output[Optional[str]]:
|
647
|
+
"""
|
648
|
+
Optional extra protection that must match the trust policy granting access to the
|
649
|
+
AWS IAM role ARN. We recommend using a different random UUID per destination. The value is generated by users.
|
650
|
+
The field is mutable with no special condition, but users must be careful that the new value fits with the trust
|
651
|
+
relationship condition they set on AWS otherwise sync operations will start to fail due to client-side access
|
652
|
+
denied errors. Ignored if the `role_arn` field is empty.
|
653
|
+
"""
|
654
|
+
return pulumi.get(self, "external_id")
|
655
|
+
|
514
656
|
@property
|
515
657
|
@pulumi.getter
|
516
658
|
def name(self) -> pulumi.Output[str]:
|
@@ -525,7 +667,7 @@ class SyncAwsDestination(pulumi.CustomResource):
|
|
525
667
|
"""
|
526
668
|
The namespace to provision the resource in.
|
527
669
|
The value should not contain leading or trailing forward slashes.
|
528
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
670
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
529
671
|
"""
|
530
672
|
return pulumi.get(self, "namespace")
|
531
673
|
|
@@ -539,6 +681,18 @@ class SyncAwsDestination(pulumi.CustomResource):
|
|
539
681
|
"""
|
540
682
|
return pulumi.get(self, "region")
|
541
683
|
|
684
|
+
@property
|
685
|
+
@pulumi.getter(name="roleArn")
|
686
|
+
def role_arn(self) -> pulumi.Output[Optional[str]]:
|
687
|
+
"""
|
688
|
+
Specifies a role to assume when connecting to AWS. When assuming a role,
|
689
|
+
Vault uses temporary STS credentials to authenticate. An initial session with the proper trust relationship must
|
690
|
+
exist for Vault to be able to assume this role. The role can be in a different account.
|
691
|
+
The value is mutable as long as the new role targets the same AWS account ID. If not, the BE will return an error.
|
692
|
+
It is possible to provide both an access key pair and a role to assume.
|
693
|
+
"""
|
694
|
+
return pulumi.get(self, "role_arn")
|
695
|
+
|
542
696
|
@property
|
543
697
|
@pulumi.getter(name="secretAccessKey")
|
544
698
|
def secret_access_key(self) -> pulumi.Output[Optional[str]]:
|
@@ -39,7 +39,7 @@ class SyncAzureDestinationArgs:
|
|
39
39
|
:param pulumi.Input[str] name: Unique name of the Azure destination.
|
40
40
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
41
41
|
The value should not contain leading or trailing forward slashes.
|
42
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
42
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
43
43
|
:param pulumi.Input[str] secret_name_template: Template describing how to generate external secret names.
|
44
44
|
Supports a subset of the Go Template syntax.
|
45
45
|
:param pulumi.Input[str] tenant_id: ID of the target Azure tenant.
|
@@ -149,7 +149,7 @@ class SyncAzureDestinationArgs:
|
|
149
149
|
"""
|
150
150
|
The namespace to provision the resource in.
|
151
151
|
The value should not contain leading or trailing forward slashes.
|
152
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
152
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
153
153
|
"""
|
154
154
|
return pulumi.get(self, "namespace")
|
155
155
|
|
@@ -214,7 +214,7 @@ class _SyncAzureDestinationState:
|
|
214
214
|
:param pulumi.Input[str] name: Unique name of the Azure destination.
|
215
215
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
216
216
|
The value should not contain leading or trailing forward slashes.
|
217
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
217
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
218
218
|
:param pulumi.Input[str] secret_name_template: Template describing how to generate external secret names.
|
219
219
|
Supports a subset of the Go Template syntax.
|
220
220
|
:param pulumi.Input[str] tenant_id: ID of the target Azure tenant.
|
@@ -327,7 +327,7 @@ class _SyncAzureDestinationState:
|
|
327
327
|
"""
|
328
328
|
The namespace to provision the resource in.
|
329
329
|
The value should not contain leading or trailing forward slashes.
|
330
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
330
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
331
331
|
"""
|
332
332
|
return pulumi.get(self, "namespace")
|
333
333
|
|
@@ -434,7 +434,7 @@ class SyncAzureDestination(pulumi.CustomResource):
|
|
434
434
|
:param pulumi.Input[str] name: Unique name of the Azure destination.
|
435
435
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
436
436
|
The value should not contain leading or trailing forward slashes.
|
437
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
437
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
438
438
|
:param pulumi.Input[str] secret_name_template: Template describing how to generate external secret names.
|
439
439
|
Supports a subset of the Go Template syntax.
|
440
440
|
:param pulumi.Input[str] tenant_id: ID of the target Azure tenant.
|
@@ -561,7 +561,7 @@ class SyncAzureDestination(pulumi.CustomResource):
|
|
561
561
|
:param pulumi.Input[str] name: Unique name of the Azure destination.
|
562
562
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
563
563
|
The value should not contain leading or trailing forward slashes.
|
564
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
564
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
565
565
|
:param pulumi.Input[str] secret_name_template: Template describing how to generate external secret names.
|
566
566
|
Supports a subset of the Go Template syntax.
|
567
567
|
:param pulumi.Input[str] tenant_id: ID of the target Azure tenant.
|
@@ -645,7 +645,7 @@ class SyncAzureDestination(pulumi.CustomResource):
|
|
645
645
|
"""
|
646
646
|
The namespace to provision the resource in.
|
647
647
|
The value should not contain leading or trailing forward slashes.
|
648
|
-
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
648
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
649
649
|
"""
|
650
650
|
return pulumi.get(self, "namespace")
|
651
651
|
|