pulumi-vault 6.0.0__py3-none-any.whl → 6.1.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 +2 -0
- pulumi_vault/get_namespace.py +225 -0
- pulumi_vault/get_namespaces.py +152 -0
- pulumi_vault/kubernetes/secret_backend_role.py +99 -25
- pulumi_vault/mongodbatlas/secret_backend.py +6 -6
- pulumi_vault/mongodbatlas/secret_role.py +27 -27
- pulumi_vault/secrets/__init__.py +2 -0
- pulumi_vault/secrets/_inputs.py +80 -0
- pulumi_vault/secrets/outputs.py +89 -0
- pulumi_vault/secrets/sync_association.py +32 -58
- pulumi_vault/secrets/sync_aws_destination.py +54 -0
- pulumi_vault/secrets/sync_azure_destination.py +54 -0
- pulumi_vault/secrets/sync_gcp_destination.py +54 -0
- pulumi_vault/secrets/sync_gh_destination.py +54 -0
- pulumi_vault/secrets/sync_vercel_destination.py +54 -0
- {pulumi_vault-6.0.0.dist-info → pulumi_vault-6.1.0.dist-info}/METADATA +1 -1
- {pulumi_vault-6.0.0.dist-info → pulumi_vault-6.1.0.dist-info}/RECORD +19 -15
- {pulumi_vault-6.0.0.dist-info → pulumi_vault-6.1.0.dist-info}/WHEEL +0 -0
- {pulumi_vault-6.0.0.dist-info → pulumi_vault-6.1.0.dist-info}/top_level.txt +0 -0
@@ -28,7 +28,7 @@ class SecretRoleArgs:
|
|
28
28
|
"""
|
29
29
|
The set of arguments for constructing a SecretRole resource.
|
30
30
|
:param pulumi.Input[str] mount: Path where the MongoDB Atlas Secrets Engine is mounted.
|
31
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles that the API Key needs to have.
|
31
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
32
32
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] cidr_blocks: Whitelist entry in CIDR notation to be added for the API key.
|
33
33
|
:param pulumi.Input[Sequence[pulumi.Input[str]]] ip_addresses: IP address to be added to the whitelist for the API key.
|
34
34
|
:param pulumi.Input[str] max_ttl: The maximum allowed lifetime of credentials issued using this role.
|
@@ -40,8 +40,8 @@ class SecretRoleArgs:
|
|
40
40
|
:param pulumi.Input[str] organization_id: Unique identifier for the organization to which the target API Key belongs.
|
41
41
|
Required if `project_id` is not set.
|
42
42
|
:param pulumi.Input[str] project_id: Unique identifier for the project to which the target API Key belongs.
|
43
|
-
Required if `organization_id is
|
44
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] project_roles: Roles assigned when an org API key is assigned to a project API key.
|
43
|
+
Required if `organization_id` is not set.
|
44
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] project_roles: Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
45
45
|
:param pulumi.Input[str] ttl: Duration in seconds after which the issued credential should expire.
|
46
46
|
"""
|
47
47
|
pulumi.set(__self__, "mount", mount)
|
@@ -81,7 +81,7 @@ class SecretRoleArgs:
|
|
81
81
|
@pulumi.getter
|
82
82
|
def roles(self) -> pulumi.Input[Sequence[pulumi.Input[str]]]:
|
83
83
|
"""
|
84
|
-
List of roles that the API Key needs to have.
|
84
|
+
List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
85
85
|
"""
|
86
86
|
return pulumi.get(self, "roles")
|
87
87
|
|
@@ -170,7 +170,7 @@ class SecretRoleArgs:
|
|
170
170
|
def project_id(self) -> Optional[pulumi.Input[str]]:
|
171
171
|
"""
|
172
172
|
Unique identifier for the project to which the target API Key belongs.
|
173
|
-
Required if `organization_id is
|
173
|
+
Required if `organization_id` is not set.
|
174
174
|
"""
|
175
175
|
return pulumi.get(self, "project_id")
|
176
176
|
|
@@ -182,7 +182,7 @@ class SecretRoleArgs:
|
|
182
182
|
@pulumi.getter(name="projectRoles")
|
183
183
|
def project_roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
184
184
|
"""
|
185
|
-
Roles assigned when an org API key is assigned to a project API key.
|
185
|
+
Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
186
186
|
"""
|
187
187
|
return pulumi.get(self, "project_roles")
|
188
188
|
|
@@ -231,9 +231,9 @@ class _SecretRoleState:
|
|
231
231
|
:param pulumi.Input[str] organization_id: Unique identifier for the organization to which the target API Key belongs.
|
232
232
|
Required if `project_id` is not set.
|
233
233
|
:param pulumi.Input[str] project_id: Unique identifier for the project to which the target API Key belongs.
|
234
|
-
Required if `organization_id is
|
235
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] project_roles: Roles assigned when an org API key is assigned to a project API key.
|
236
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles that the API Key needs to have.
|
234
|
+
Required if `organization_id` is not set.
|
235
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] project_roles: Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
236
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
237
237
|
:param pulumi.Input[str] ttl: Duration in seconds after which the issued credential should expire.
|
238
238
|
"""
|
239
239
|
if cidr_blocks is not None:
|
@@ -352,7 +352,7 @@ class _SecretRoleState:
|
|
352
352
|
def project_id(self) -> Optional[pulumi.Input[str]]:
|
353
353
|
"""
|
354
354
|
Unique identifier for the project to which the target API Key belongs.
|
355
|
-
Required if `organization_id is
|
355
|
+
Required if `organization_id` is not set.
|
356
356
|
"""
|
357
357
|
return pulumi.get(self, "project_id")
|
358
358
|
|
@@ -364,7 +364,7 @@ class _SecretRoleState:
|
|
364
364
|
@pulumi.getter(name="projectRoles")
|
365
365
|
def project_roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
366
366
|
"""
|
367
|
-
Roles assigned when an org API key is assigned to a project API key.
|
367
|
+
Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
368
368
|
"""
|
369
369
|
return pulumi.get(self, "project_roles")
|
370
370
|
|
@@ -376,7 +376,7 @@ class _SecretRoleState:
|
|
376
376
|
@pulumi.getter
|
377
377
|
def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[str]]]]:
|
378
378
|
"""
|
379
|
-
List of roles that the API Key needs to have.
|
379
|
+
List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
380
380
|
"""
|
381
381
|
return pulumi.get(self, "roles")
|
382
382
|
|
@@ -427,17 +427,17 @@ class SecretRole(pulumi.CustomResource):
|
|
427
427
|
type="mongodbatlas",
|
428
428
|
description="MongoDB Atlas secret engine mount")
|
429
429
|
config = vault.mongodbatlas.SecretBackend("config",
|
430
|
-
mount=
|
430
|
+
mount=mongo.path,
|
431
431
|
private_key="privateKey",
|
432
432
|
public_key="publicKey")
|
433
433
|
role = vault.mongodbatlas.SecretRole("role",
|
434
434
|
mount=mongo.path,
|
435
435
|
organization_id="7cf5a45a9ccf6400e60981b7",
|
436
436
|
project_id="5cf5a45a9ccf6400e60981b6",
|
437
|
-
roles="ORG_READ_ONLY",
|
437
|
+
roles=["ORG_READ_ONLY"],
|
438
438
|
ip_addresses="192.168.1.5, 192.168.1.6",
|
439
439
|
cidr_blocks="192.168.1.3/35",
|
440
|
-
project_roles="GROUP_READ_ONLY",
|
440
|
+
project_roles=["GROUP_READ_ONLY"],
|
441
441
|
ttl="60",
|
442
442
|
max_ttl="120")
|
443
443
|
```
|
@@ -466,9 +466,9 @@ class SecretRole(pulumi.CustomResource):
|
|
466
466
|
:param pulumi.Input[str] organization_id: Unique identifier for the organization to which the target API Key belongs.
|
467
467
|
Required if `project_id` is not set.
|
468
468
|
:param pulumi.Input[str] project_id: Unique identifier for the project to which the target API Key belongs.
|
469
|
-
Required if `organization_id is
|
470
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] project_roles: Roles assigned when an org API key is assigned to a project API key.
|
471
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles that the API Key needs to have.
|
469
|
+
Required if `organization_id` is not set.
|
470
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] project_roles: Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
471
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
472
472
|
:param pulumi.Input[str] ttl: Duration in seconds after which the issued credential should expire.
|
473
473
|
"""
|
474
474
|
...
|
@@ -490,17 +490,17 @@ class SecretRole(pulumi.CustomResource):
|
|
490
490
|
type="mongodbatlas",
|
491
491
|
description="MongoDB Atlas secret engine mount")
|
492
492
|
config = vault.mongodbatlas.SecretBackend("config",
|
493
|
-
mount=
|
493
|
+
mount=mongo.path,
|
494
494
|
private_key="privateKey",
|
495
495
|
public_key="publicKey")
|
496
496
|
role = vault.mongodbatlas.SecretRole("role",
|
497
497
|
mount=mongo.path,
|
498
498
|
organization_id="7cf5a45a9ccf6400e60981b7",
|
499
499
|
project_id="5cf5a45a9ccf6400e60981b6",
|
500
|
-
roles="ORG_READ_ONLY",
|
500
|
+
roles=["ORG_READ_ONLY"],
|
501
501
|
ip_addresses="192.168.1.5, 192.168.1.6",
|
502
502
|
cidr_blocks="192.168.1.3/35",
|
503
|
-
project_roles="GROUP_READ_ONLY",
|
503
|
+
project_roles=["GROUP_READ_ONLY"],
|
504
504
|
ttl="60",
|
505
505
|
max_ttl="120")
|
506
506
|
```
|
@@ -605,9 +605,9 @@ class SecretRole(pulumi.CustomResource):
|
|
605
605
|
:param pulumi.Input[str] organization_id: Unique identifier for the organization to which the target API Key belongs.
|
606
606
|
Required if `project_id` is not set.
|
607
607
|
:param pulumi.Input[str] project_id: Unique identifier for the project to which the target API Key belongs.
|
608
|
-
Required if `organization_id is
|
609
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] project_roles: Roles assigned when an org API key is assigned to a project API key.
|
610
|
-
:param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles that the API Key needs to have.
|
608
|
+
Required if `organization_id` is not set.
|
609
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] project_roles: Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
610
|
+
:param pulumi.Input[Sequence[pulumi.Input[str]]] roles: List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
611
611
|
:param pulumi.Input[str] ttl: Duration in seconds after which the issued credential should expire.
|
612
612
|
"""
|
613
613
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
@@ -692,7 +692,7 @@ class SecretRole(pulumi.CustomResource):
|
|
692
692
|
def project_id(self) -> pulumi.Output[Optional[str]]:
|
693
693
|
"""
|
694
694
|
Unique identifier for the project to which the target API Key belongs.
|
695
|
-
Required if `organization_id is
|
695
|
+
Required if `organization_id` is not set.
|
696
696
|
"""
|
697
697
|
return pulumi.get(self, "project_id")
|
698
698
|
|
@@ -700,7 +700,7 @@ class SecretRole(pulumi.CustomResource):
|
|
700
700
|
@pulumi.getter(name="projectRoles")
|
701
701
|
def project_roles(self) -> pulumi.Output[Optional[Sequence[str]]]:
|
702
702
|
"""
|
703
|
-
Roles assigned when an org API key is assigned to a project API key.
|
703
|
+
Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
|
704
704
|
"""
|
705
705
|
return pulumi.get(self, "project_roles")
|
706
706
|
|
@@ -708,7 +708,7 @@ class SecretRole(pulumi.CustomResource):
|
|
708
708
|
@pulumi.getter
|
709
709
|
def roles(self) -> pulumi.Output[Sequence[str]]:
|
710
710
|
"""
|
711
|
-
List of roles that the API Key needs to have.
|
711
|
+
List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
|
712
712
|
"""
|
713
713
|
return pulumi.get(self, "roles")
|
714
714
|
|
pulumi_vault/secrets/__init__.py
CHANGED
@@ -0,0 +1,80 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import pulumi
|
8
|
+
import pulumi.runtime
|
9
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
10
|
+
from .. import _utilities
|
11
|
+
|
12
|
+
__all__ = [
|
13
|
+
'SyncAssociationMetadataArgs',
|
14
|
+
]
|
15
|
+
|
16
|
+
@pulumi.input_type
|
17
|
+
class SyncAssociationMetadataArgs:
|
18
|
+
def __init__(__self__, *,
|
19
|
+
sub_key: Optional[pulumi.Input[str]] = None,
|
20
|
+
sync_status: Optional[pulumi.Input[str]] = None,
|
21
|
+
updated_at: Optional[pulumi.Input[str]] = None):
|
22
|
+
"""
|
23
|
+
:param pulumi.Input[str] sub_key: Subkey of the associated secret.
|
24
|
+
:param pulumi.Input[str] sync_status: A map of sync statuses for each subkey of the associated secret
|
25
|
+
(for ex. `{kv_624bea/aws-token/dev: "SYNCED", kv_624bea/aws-token/prod: "SYNCED"}`).
|
26
|
+
:param pulumi.Input[str] updated_at: A map of duration strings specifying when each subkey of the associated
|
27
|
+
secret was last updated.
|
28
|
+
(for ex.
|
29
|
+
`{kv_624bea/aws-token/dev: "2024-03-21T12:42:02.558533-07:00",
|
30
|
+
kv_624bea/aws-token/prod: "2024-03-21T12:42:02.558533-07:00"}`).
|
31
|
+
"""
|
32
|
+
if sub_key is not None:
|
33
|
+
pulumi.set(__self__, "sub_key", sub_key)
|
34
|
+
if sync_status is not None:
|
35
|
+
pulumi.set(__self__, "sync_status", sync_status)
|
36
|
+
if updated_at is not None:
|
37
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
38
|
+
|
39
|
+
@property
|
40
|
+
@pulumi.getter(name="subKey")
|
41
|
+
def sub_key(self) -> Optional[pulumi.Input[str]]:
|
42
|
+
"""
|
43
|
+
Subkey of the associated secret.
|
44
|
+
"""
|
45
|
+
return pulumi.get(self, "sub_key")
|
46
|
+
|
47
|
+
@sub_key.setter
|
48
|
+
def sub_key(self, value: Optional[pulumi.Input[str]]):
|
49
|
+
pulumi.set(self, "sub_key", value)
|
50
|
+
|
51
|
+
@property
|
52
|
+
@pulumi.getter(name="syncStatus")
|
53
|
+
def sync_status(self) -> Optional[pulumi.Input[str]]:
|
54
|
+
"""
|
55
|
+
A map of sync statuses for each subkey of the associated secret
|
56
|
+
(for ex. `{kv_624bea/aws-token/dev: "SYNCED", kv_624bea/aws-token/prod: "SYNCED"}`).
|
57
|
+
"""
|
58
|
+
return pulumi.get(self, "sync_status")
|
59
|
+
|
60
|
+
@sync_status.setter
|
61
|
+
def sync_status(self, value: Optional[pulumi.Input[str]]):
|
62
|
+
pulumi.set(self, "sync_status", value)
|
63
|
+
|
64
|
+
@property
|
65
|
+
@pulumi.getter(name="updatedAt")
|
66
|
+
def updated_at(self) -> Optional[pulumi.Input[str]]:
|
67
|
+
"""
|
68
|
+
A map of duration strings specifying when each subkey of the associated
|
69
|
+
secret was last updated.
|
70
|
+
(for ex.
|
71
|
+
`{kv_624bea/aws-token/dev: "2024-03-21T12:42:02.558533-07:00",
|
72
|
+
kv_624bea/aws-token/prod: "2024-03-21T12:42:02.558533-07:00"}`).
|
73
|
+
"""
|
74
|
+
return pulumi.get(self, "updated_at")
|
75
|
+
|
76
|
+
@updated_at.setter
|
77
|
+
def updated_at(self, value: Optional[pulumi.Input[str]]):
|
78
|
+
pulumi.set(self, "updated_at", value)
|
79
|
+
|
80
|
+
|
@@ -0,0 +1,89 @@
|
|
1
|
+
# coding=utf-8
|
2
|
+
# *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
|
3
|
+
# *** Do not edit by hand unless you're certain you know what you are doing! ***
|
4
|
+
|
5
|
+
import copy
|
6
|
+
import warnings
|
7
|
+
import pulumi
|
8
|
+
import pulumi.runtime
|
9
|
+
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
10
|
+
from .. import _utilities
|
11
|
+
|
12
|
+
__all__ = [
|
13
|
+
'SyncAssociationMetadata',
|
14
|
+
]
|
15
|
+
|
16
|
+
@pulumi.output_type
|
17
|
+
class SyncAssociationMetadata(dict):
|
18
|
+
@staticmethod
|
19
|
+
def __key_warning(key: str):
|
20
|
+
suggest = None
|
21
|
+
if key == "subKey":
|
22
|
+
suggest = "sub_key"
|
23
|
+
elif key == "syncStatus":
|
24
|
+
suggest = "sync_status"
|
25
|
+
elif key == "updatedAt":
|
26
|
+
suggest = "updated_at"
|
27
|
+
|
28
|
+
if suggest:
|
29
|
+
pulumi.log.warn(f"Key '{key}' not found in SyncAssociationMetadata. Access the value via the '{suggest}' property getter instead.")
|
30
|
+
|
31
|
+
def __getitem__(self, key: str) -> Any:
|
32
|
+
SyncAssociationMetadata.__key_warning(key)
|
33
|
+
return super().__getitem__(key)
|
34
|
+
|
35
|
+
def get(self, key: str, default = None) -> Any:
|
36
|
+
SyncAssociationMetadata.__key_warning(key)
|
37
|
+
return super().get(key, default)
|
38
|
+
|
39
|
+
def __init__(__self__, *,
|
40
|
+
sub_key: Optional[str] = None,
|
41
|
+
sync_status: Optional[str] = None,
|
42
|
+
updated_at: Optional[str] = None):
|
43
|
+
"""
|
44
|
+
:param str sub_key: Subkey of the associated secret.
|
45
|
+
:param str sync_status: A map of sync statuses for each subkey of the associated secret
|
46
|
+
(for ex. `{kv_624bea/aws-token/dev: "SYNCED", kv_624bea/aws-token/prod: "SYNCED"}`).
|
47
|
+
:param str updated_at: A map of duration strings specifying when each subkey of the associated
|
48
|
+
secret was last updated.
|
49
|
+
(for ex.
|
50
|
+
`{kv_624bea/aws-token/dev: "2024-03-21T12:42:02.558533-07:00",
|
51
|
+
kv_624bea/aws-token/prod: "2024-03-21T12:42:02.558533-07:00"}`).
|
52
|
+
"""
|
53
|
+
if sub_key is not None:
|
54
|
+
pulumi.set(__self__, "sub_key", sub_key)
|
55
|
+
if sync_status is not None:
|
56
|
+
pulumi.set(__self__, "sync_status", sync_status)
|
57
|
+
if updated_at is not None:
|
58
|
+
pulumi.set(__self__, "updated_at", updated_at)
|
59
|
+
|
60
|
+
@property
|
61
|
+
@pulumi.getter(name="subKey")
|
62
|
+
def sub_key(self) -> Optional[str]:
|
63
|
+
"""
|
64
|
+
Subkey of the associated secret.
|
65
|
+
"""
|
66
|
+
return pulumi.get(self, "sub_key")
|
67
|
+
|
68
|
+
@property
|
69
|
+
@pulumi.getter(name="syncStatus")
|
70
|
+
def sync_status(self) -> Optional[str]:
|
71
|
+
"""
|
72
|
+
A map of sync statuses for each subkey of the associated secret
|
73
|
+
(for ex. `{kv_624bea/aws-token/dev: "SYNCED", kv_624bea/aws-token/prod: "SYNCED"}`).
|
74
|
+
"""
|
75
|
+
return pulumi.get(self, "sync_status")
|
76
|
+
|
77
|
+
@property
|
78
|
+
@pulumi.getter(name="updatedAt")
|
79
|
+
def updated_at(self) -> Optional[str]:
|
80
|
+
"""
|
81
|
+
A map of duration strings specifying when each subkey of the associated
|
82
|
+
secret was last updated.
|
83
|
+
(for ex.
|
84
|
+
`{kv_624bea/aws-token/dev: "2024-03-21T12:42:02.558533-07:00",
|
85
|
+
kv_624bea/aws-token/prod: "2024-03-21T12:42:02.558533-07:00"}`).
|
86
|
+
"""
|
87
|
+
return pulumi.get(self, "updated_at")
|
88
|
+
|
89
|
+
|
@@ -8,6 +8,8 @@ import pulumi
|
|
8
8
|
import pulumi.runtime
|
9
9
|
from typing import Any, Mapping, Optional, Sequence, Union, overload
|
10
10
|
from .. import _utilities
|
11
|
+
from . import outputs
|
12
|
+
from ._inputs import *
|
11
13
|
|
12
14
|
__all__ = ['SyncAssociationArgs', 'SyncAssociation']
|
13
15
|
|
@@ -103,25 +105,25 @@ class SyncAssociationArgs:
|
|
103
105
|
@pulumi.input_type
|
104
106
|
class _SyncAssociationState:
|
105
107
|
def __init__(__self__, *,
|
108
|
+
metadatas: Optional[pulumi.Input[Sequence[pulumi.Input['SyncAssociationMetadataArgs']]]] = None,
|
106
109
|
mount: Optional[pulumi.Input[str]] = None,
|
107
110
|
name: Optional[pulumi.Input[str]] = None,
|
108
111
|
namespace: Optional[pulumi.Input[str]] = None,
|
109
112
|
secret_name: Optional[pulumi.Input[str]] = None,
|
110
|
-
|
111
|
-
type: Optional[pulumi.Input[str]] = None,
|
112
|
-
updated_at: Optional[pulumi.Input[str]] = None):
|
113
|
+
type: Optional[pulumi.Input[str]] = None):
|
113
114
|
"""
|
114
115
|
Input properties used for looking up and filtering SyncAssociation resources.
|
116
|
+
:param pulumi.Input[Sequence[pulumi.Input['SyncAssociationMetadataArgs']]] metadatas: Metadata for each subkey of the associated secret.
|
115
117
|
:param pulumi.Input[str] mount: Specifies the mount where the secret is located.
|
116
118
|
:param pulumi.Input[str] name: Specifies the name of the destination.
|
117
119
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
118
120
|
The value should not contain leading or trailing forward slashes.
|
119
121
|
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
120
122
|
:param pulumi.Input[str] secret_name: Specifies the name of the secret to synchronize.
|
121
|
-
:param pulumi.Input[str] sync_status: Specifies the status of the association (for eg. `SYNCED`).
|
122
123
|
:param pulumi.Input[str] type: Specifies the destination type.
|
123
|
-
:param pulumi.Input[str] updated_at: Duration string specifying when the secret was last updated.
|
124
124
|
"""
|
125
|
+
if metadatas is not None:
|
126
|
+
pulumi.set(__self__, "metadatas", metadatas)
|
125
127
|
if mount is not None:
|
126
128
|
pulumi.set(__self__, "mount", mount)
|
127
129
|
if name is not None:
|
@@ -130,12 +132,20 @@ class _SyncAssociationState:
|
|
130
132
|
pulumi.set(__self__, "namespace", namespace)
|
131
133
|
if secret_name is not None:
|
132
134
|
pulumi.set(__self__, "secret_name", secret_name)
|
133
|
-
if sync_status is not None:
|
134
|
-
pulumi.set(__self__, "sync_status", sync_status)
|
135
135
|
if type is not None:
|
136
136
|
pulumi.set(__self__, "type", type)
|
137
|
-
|
138
|
-
|
137
|
+
|
138
|
+
@property
|
139
|
+
@pulumi.getter
|
140
|
+
def metadatas(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SyncAssociationMetadataArgs']]]]:
|
141
|
+
"""
|
142
|
+
Metadata for each subkey of the associated secret.
|
143
|
+
"""
|
144
|
+
return pulumi.get(self, "metadatas")
|
145
|
+
|
146
|
+
@metadatas.setter
|
147
|
+
def metadatas(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SyncAssociationMetadataArgs']]]]):
|
148
|
+
pulumi.set(self, "metadatas", value)
|
139
149
|
|
140
150
|
@property
|
141
151
|
@pulumi.getter
|
@@ -187,18 +197,6 @@ class _SyncAssociationState:
|
|
187
197
|
def secret_name(self, value: Optional[pulumi.Input[str]]):
|
188
198
|
pulumi.set(self, "secret_name", value)
|
189
199
|
|
190
|
-
@property
|
191
|
-
@pulumi.getter(name="syncStatus")
|
192
|
-
def sync_status(self) -> Optional[pulumi.Input[str]]:
|
193
|
-
"""
|
194
|
-
Specifies the status of the association (for eg. `SYNCED`).
|
195
|
-
"""
|
196
|
-
return pulumi.get(self, "sync_status")
|
197
|
-
|
198
|
-
@sync_status.setter
|
199
|
-
def sync_status(self, value: Optional[pulumi.Input[str]]):
|
200
|
-
pulumi.set(self, "sync_status", value)
|
201
|
-
|
202
200
|
@property
|
203
201
|
@pulumi.getter
|
204
202
|
def type(self) -> Optional[pulumi.Input[str]]:
|
@@ -211,18 +209,6 @@ class _SyncAssociationState:
|
|
211
209
|
def type(self, value: Optional[pulumi.Input[str]]):
|
212
210
|
pulumi.set(self, "type", value)
|
213
211
|
|
214
|
-
@property
|
215
|
-
@pulumi.getter(name="updatedAt")
|
216
|
-
def updated_at(self) -> Optional[pulumi.Input[str]]:
|
217
|
-
"""
|
218
|
-
Duration string specifying when the secret was last updated.
|
219
|
-
"""
|
220
|
-
return pulumi.get(self, "updated_at")
|
221
|
-
|
222
|
-
@updated_at.setter
|
223
|
-
def updated_at(self, value: Optional[pulumi.Input[str]]):
|
224
|
-
pulumi.set(self, "updated_at", value)
|
225
|
-
|
226
212
|
|
227
213
|
class SyncAssociation(pulumi.CustomResource):
|
228
214
|
@overload
|
@@ -359,8 +345,7 @@ class SyncAssociation(pulumi.CustomResource):
|
|
359
345
|
if type is None and not opts.urn:
|
360
346
|
raise TypeError("Missing required property 'type'")
|
361
347
|
__props__.__dict__["type"] = type
|
362
|
-
__props__.__dict__["
|
363
|
-
__props__.__dict__["updated_at"] = None
|
348
|
+
__props__.__dict__["metadatas"] = None
|
364
349
|
super(SyncAssociation, __self__).__init__(
|
365
350
|
'vault:secrets/syncAssociation:SyncAssociation',
|
366
351
|
resource_name,
|
@@ -371,13 +356,12 @@ class SyncAssociation(pulumi.CustomResource):
|
|
371
356
|
def get(resource_name: str,
|
372
357
|
id: pulumi.Input[str],
|
373
358
|
opts: Optional[pulumi.ResourceOptions] = None,
|
359
|
+
metadatas: Optional[pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SyncAssociationMetadataArgs']]]]] = None,
|
374
360
|
mount: Optional[pulumi.Input[str]] = None,
|
375
361
|
name: Optional[pulumi.Input[str]] = None,
|
376
362
|
namespace: Optional[pulumi.Input[str]] = None,
|
377
363
|
secret_name: Optional[pulumi.Input[str]] = None,
|
378
|
-
|
379
|
-
type: Optional[pulumi.Input[str]] = None,
|
380
|
-
updated_at: Optional[pulumi.Input[str]] = None) -> 'SyncAssociation':
|
364
|
+
type: Optional[pulumi.Input[str]] = None) -> 'SyncAssociation':
|
381
365
|
"""
|
382
366
|
Get an existing SyncAssociation resource's state with the given name, id, and optional extra
|
383
367
|
properties used to qualify the lookup.
|
@@ -385,29 +369,35 @@ class SyncAssociation(pulumi.CustomResource):
|
|
385
369
|
:param str resource_name: The unique name of the resulting resource.
|
386
370
|
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
387
371
|
:param pulumi.ResourceOptions opts: Options for the resource.
|
372
|
+
:param pulumi.Input[Sequence[pulumi.Input[pulumi.InputType['SyncAssociationMetadataArgs']]]] metadatas: Metadata for each subkey of the associated secret.
|
388
373
|
:param pulumi.Input[str] mount: Specifies the mount where the secret is located.
|
389
374
|
:param pulumi.Input[str] name: Specifies the name of the destination.
|
390
375
|
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
391
376
|
The value should not contain leading or trailing forward slashes.
|
392
377
|
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
|
393
378
|
:param pulumi.Input[str] secret_name: Specifies the name of the secret to synchronize.
|
394
|
-
:param pulumi.Input[str] sync_status: Specifies the status of the association (for eg. `SYNCED`).
|
395
379
|
:param pulumi.Input[str] type: Specifies the destination type.
|
396
|
-
:param pulumi.Input[str] updated_at: Duration string specifying when the secret was last updated.
|
397
380
|
"""
|
398
381
|
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
399
382
|
|
400
383
|
__props__ = _SyncAssociationState.__new__(_SyncAssociationState)
|
401
384
|
|
385
|
+
__props__.__dict__["metadatas"] = metadatas
|
402
386
|
__props__.__dict__["mount"] = mount
|
403
387
|
__props__.__dict__["name"] = name
|
404
388
|
__props__.__dict__["namespace"] = namespace
|
405
389
|
__props__.__dict__["secret_name"] = secret_name
|
406
|
-
__props__.__dict__["sync_status"] = sync_status
|
407
390
|
__props__.__dict__["type"] = type
|
408
|
-
__props__.__dict__["updated_at"] = updated_at
|
409
391
|
return SyncAssociation(resource_name, opts=opts, __props__=__props__)
|
410
392
|
|
393
|
+
@property
|
394
|
+
@pulumi.getter
|
395
|
+
def metadatas(self) -> pulumi.Output[Sequence['outputs.SyncAssociationMetadata']]:
|
396
|
+
"""
|
397
|
+
Metadata for each subkey of the associated secret.
|
398
|
+
"""
|
399
|
+
return pulumi.get(self, "metadatas")
|
400
|
+
|
411
401
|
@property
|
412
402
|
@pulumi.getter
|
413
403
|
def mount(self) -> pulumi.Output[str]:
|
@@ -442,14 +432,6 @@ class SyncAssociation(pulumi.CustomResource):
|
|
442
432
|
"""
|
443
433
|
return pulumi.get(self, "secret_name")
|
444
434
|
|
445
|
-
@property
|
446
|
-
@pulumi.getter(name="syncStatus")
|
447
|
-
def sync_status(self) -> pulumi.Output[str]:
|
448
|
-
"""
|
449
|
-
Specifies the status of the association (for eg. `SYNCED`).
|
450
|
-
"""
|
451
|
-
return pulumi.get(self, "sync_status")
|
452
|
-
|
453
435
|
@property
|
454
436
|
@pulumi.getter
|
455
437
|
def type(self) -> pulumi.Output[str]:
|
@@ -458,11 +440,3 @@ class SyncAssociation(pulumi.CustomResource):
|
|
458
440
|
"""
|
459
441
|
return pulumi.get(self, "type")
|
460
442
|
|
461
|
-
@property
|
462
|
-
@pulumi.getter(name="updatedAt")
|
463
|
-
def updated_at(self) -> pulumi.Output[str]:
|
464
|
-
"""
|
465
|
-
Duration string specifying when the secret was last updated.
|
466
|
-
"""
|
467
|
-
return pulumi.get(self, "updated_at")
|
468
|
-
|