pulumi-vault 5.19.0a1705474292__py3-none-any.whl → 5.20.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 +59 -0
- pulumi_vault/_inputs.py +380 -0
- pulumi_vault/_utilities.py +2 -2
- pulumi_vault/aws/secret_backend.py +188 -0
- pulumi_vault/aws/secret_backend_static_role.py +2 -2
- pulumi_vault/azure/backend.py +7 -21
- pulumi_vault/azure/backend_role.py +111 -0
- pulumi_vault/config/__init__.pyi +0 -3
- pulumi_vault/config/outputs.py +380 -0
- pulumi_vault/config/vars.py +0 -3
- pulumi_vault/consul/secret_backend.py +7 -35
- pulumi_vault/database/_inputs.py +536 -0
- pulumi_vault/database/outputs.py +483 -3
- pulumi_vault/gcp/_inputs.py +162 -4
- pulumi_vault/gcp/auth_backend.py +64 -3
- pulumi_vault/gcp/outputs.py +161 -4
- pulumi_vault/get_raft_autopilot_state.py +0 -12
- pulumi_vault/identity/group_alias.py +6 -6
- pulumi_vault/kubernetes/auth_backend_config.py +7 -7
- pulumi_vault/kubernetes/secret_backend_role.py +8 -4
- pulumi_vault/kv/_inputs.py +12 -0
- pulumi_vault/kv/outputs.py +12 -0
- pulumi_vault/ldap/secret_backend_dynamic_role.py +2 -2
- pulumi_vault/ldap/secret_backend_static_role.py +2 -2
- pulumi_vault/managed/_inputs.py +12 -0
- pulumi_vault/managed/keys.py +20 -0
- pulumi_vault/managed/outputs.py +12 -0
- pulumi_vault/mongodbatlas/secret_role.py +2 -2
- pulumi_vault/namespace.py +46 -14
- pulumi_vault/pkisecret/secret_backend_config_issuers.py +0 -6
- pulumi_vault/pkisecret/secret_backend_issuer.py +0 -10
- pulumi_vault/pkisecret/secret_backend_role.py +54 -7
- pulumi_vault/rabbitmq/_inputs.py +36 -0
- pulumi_vault/rabbitmq/outputs.py +36 -0
- pulumi_vault/saml/auth_backend_role.py +7 -14
- pulumi_vault/secrets/__init__.py +14 -0
- pulumi_vault/secrets/sync_association.py +464 -0
- pulumi_vault/secrets/sync_aws_destination.py +564 -0
- pulumi_vault/secrets/sync_azure_destination.py +674 -0
- pulumi_vault/secrets/sync_config.py +297 -0
- pulumi_vault/secrets/sync_gcp_destination.py +438 -0
- pulumi_vault/secrets/sync_gh_destination.py +511 -0
- pulumi_vault/secrets/sync_vercel_destination.py +541 -0
- pulumi_vault/ssh/secret_backend_role.py +7 -14
- {pulumi_vault-5.19.0a1705474292.dist-info → pulumi_vault-5.20.0.dist-info}/METADATA +2 -2
- {pulumi_vault-5.19.0a1705474292.dist-info → pulumi_vault-5.20.0.dist-info}/RECORD +48 -40
- {pulumi_vault-5.19.0a1705474292.dist-info → pulumi_vault-5.20.0.dist-info}/WHEEL +0 -0
- {pulumi_vault-5.19.0a1705474292.dist-info → pulumi_vault-5.20.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,674 @@
|
|
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__ = ['SyncAzureDestinationArgs', 'SyncAzureDestination']
|
13
|
+
|
14
|
+
@pulumi.input_type
|
15
|
+
class SyncAzureDestinationArgs:
|
16
|
+
def __init__(__self__, *,
|
17
|
+
client_id: Optional[pulumi.Input[str]] = None,
|
18
|
+
client_secret: Optional[pulumi.Input[str]] = None,
|
19
|
+
cloud: Optional[pulumi.Input[str]] = None,
|
20
|
+
custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
21
|
+
key_vault_uri: Optional[pulumi.Input[str]] = None,
|
22
|
+
name: Optional[pulumi.Input[str]] = None,
|
23
|
+
namespace: Optional[pulumi.Input[str]] = None,
|
24
|
+
secret_name_template: Optional[pulumi.Input[str]] = None,
|
25
|
+
tenant_id: Optional[pulumi.Input[str]] = None):
|
26
|
+
"""
|
27
|
+
The set of arguments for constructing a SyncAzureDestination resource.
|
28
|
+
:param pulumi.Input[str] client_id: Client ID of an Azure app registration.
|
29
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_ID` environment
|
30
|
+
variable.
|
31
|
+
:param pulumi.Input[str] client_secret: Client Secret of an Azure app registration.
|
32
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_SECRET` environment
|
33
|
+
variable.
|
34
|
+
:param pulumi.Input[str] cloud: Specifies a cloud for the client. The default is Azure Public Cloud.
|
35
|
+
:param pulumi.Input[Mapping[str, Any]] custom_tags: Custom tags to set on the secret managed at the destination.
|
36
|
+
:param pulumi.Input[str] key_vault_uri: URI of an existing Azure Key Vault instance.
|
37
|
+
Can be omitted and directly provided to Vault using the `KEY_VAULT_URI` environment
|
38
|
+
variable.
|
39
|
+
:param pulumi.Input[str] name: Unique name of the Azure destination.
|
40
|
+
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
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).
|
43
|
+
:param pulumi.Input[str] secret_name_template: Template describing how to generate external secret names.
|
44
|
+
Supports a subset of the Go Template syntax.
|
45
|
+
:param pulumi.Input[str] tenant_id: ID of the target Azure tenant.
|
46
|
+
Can be omitted and directly provided to Vault using the `AZURE_TENANT_ID` environment
|
47
|
+
variable.
|
48
|
+
"""
|
49
|
+
if client_id is not None:
|
50
|
+
pulumi.set(__self__, "client_id", client_id)
|
51
|
+
if client_secret is not None:
|
52
|
+
pulumi.set(__self__, "client_secret", client_secret)
|
53
|
+
if cloud is not None:
|
54
|
+
pulumi.set(__self__, "cloud", cloud)
|
55
|
+
if custom_tags is not None:
|
56
|
+
pulumi.set(__self__, "custom_tags", custom_tags)
|
57
|
+
if key_vault_uri is not None:
|
58
|
+
pulumi.set(__self__, "key_vault_uri", key_vault_uri)
|
59
|
+
if name is not None:
|
60
|
+
pulumi.set(__self__, "name", name)
|
61
|
+
if namespace is not None:
|
62
|
+
pulumi.set(__self__, "namespace", namespace)
|
63
|
+
if secret_name_template is not None:
|
64
|
+
pulumi.set(__self__, "secret_name_template", secret_name_template)
|
65
|
+
if tenant_id is not None:
|
66
|
+
pulumi.set(__self__, "tenant_id", tenant_id)
|
67
|
+
|
68
|
+
@property
|
69
|
+
@pulumi.getter(name="clientId")
|
70
|
+
def client_id(self) -> Optional[pulumi.Input[str]]:
|
71
|
+
"""
|
72
|
+
Client ID of an Azure app registration.
|
73
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_ID` environment
|
74
|
+
variable.
|
75
|
+
"""
|
76
|
+
return pulumi.get(self, "client_id")
|
77
|
+
|
78
|
+
@client_id.setter
|
79
|
+
def client_id(self, value: Optional[pulumi.Input[str]]):
|
80
|
+
pulumi.set(self, "client_id", value)
|
81
|
+
|
82
|
+
@property
|
83
|
+
@pulumi.getter(name="clientSecret")
|
84
|
+
def client_secret(self) -> Optional[pulumi.Input[str]]:
|
85
|
+
"""
|
86
|
+
Client Secret of an Azure app registration.
|
87
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_SECRET` environment
|
88
|
+
variable.
|
89
|
+
"""
|
90
|
+
return pulumi.get(self, "client_secret")
|
91
|
+
|
92
|
+
@client_secret.setter
|
93
|
+
def client_secret(self, value: Optional[pulumi.Input[str]]):
|
94
|
+
pulumi.set(self, "client_secret", value)
|
95
|
+
|
96
|
+
@property
|
97
|
+
@pulumi.getter
|
98
|
+
def cloud(self) -> Optional[pulumi.Input[str]]:
|
99
|
+
"""
|
100
|
+
Specifies a cloud for the client. The default is Azure Public Cloud.
|
101
|
+
"""
|
102
|
+
return pulumi.get(self, "cloud")
|
103
|
+
|
104
|
+
@cloud.setter
|
105
|
+
def cloud(self, value: Optional[pulumi.Input[str]]):
|
106
|
+
pulumi.set(self, "cloud", value)
|
107
|
+
|
108
|
+
@property
|
109
|
+
@pulumi.getter(name="customTags")
|
110
|
+
def custom_tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
|
111
|
+
"""
|
112
|
+
Custom tags to set on the secret managed at the destination.
|
113
|
+
"""
|
114
|
+
return pulumi.get(self, "custom_tags")
|
115
|
+
|
116
|
+
@custom_tags.setter
|
117
|
+
def custom_tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
|
118
|
+
pulumi.set(self, "custom_tags", value)
|
119
|
+
|
120
|
+
@property
|
121
|
+
@pulumi.getter(name="keyVaultUri")
|
122
|
+
def key_vault_uri(self) -> Optional[pulumi.Input[str]]:
|
123
|
+
"""
|
124
|
+
URI of an existing Azure Key Vault instance.
|
125
|
+
Can be omitted and directly provided to Vault using the `KEY_VAULT_URI` environment
|
126
|
+
variable.
|
127
|
+
"""
|
128
|
+
return pulumi.get(self, "key_vault_uri")
|
129
|
+
|
130
|
+
@key_vault_uri.setter
|
131
|
+
def key_vault_uri(self, value: Optional[pulumi.Input[str]]):
|
132
|
+
pulumi.set(self, "key_vault_uri", value)
|
133
|
+
|
134
|
+
@property
|
135
|
+
@pulumi.getter
|
136
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
137
|
+
"""
|
138
|
+
Unique name of the Azure destination.
|
139
|
+
"""
|
140
|
+
return pulumi.get(self, "name")
|
141
|
+
|
142
|
+
@name.setter
|
143
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
144
|
+
pulumi.set(self, "name", value)
|
145
|
+
|
146
|
+
@property
|
147
|
+
@pulumi.getter
|
148
|
+
def namespace(self) -> Optional[pulumi.Input[str]]:
|
149
|
+
"""
|
150
|
+
The namespace to provision the resource in.
|
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).
|
153
|
+
"""
|
154
|
+
return pulumi.get(self, "namespace")
|
155
|
+
|
156
|
+
@namespace.setter
|
157
|
+
def namespace(self, value: Optional[pulumi.Input[str]]):
|
158
|
+
pulumi.set(self, "namespace", value)
|
159
|
+
|
160
|
+
@property
|
161
|
+
@pulumi.getter(name="secretNameTemplate")
|
162
|
+
def secret_name_template(self) -> Optional[pulumi.Input[str]]:
|
163
|
+
"""
|
164
|
+
Template describing how to generate external secret names.
|
165
|
+
Supports a subset of the Go Template syntax.
|
166
|
+
"""
|
167
|
+
return pulumi.get(self, "secret_name_template")
|
168
|
+
|
169
|
+
@secret_name_template.setter
|
170
|
+
def secret_name_template(self, value: Optional[pulumi.Input[str]]):
|
171
|
+
pulumi.set(self, "secret_name_template", value)
|
172
|
+
|
173
|
+
@property
|
174
|
+
@pulumi.getter(name="tenantId")
|
175
|
+
def tenant_id(self) -> Optional[pulumi.Input[str]]:
|
176
|
+
"""
|
177
|
+
ID of the target Azure tenant.
|
178
|
+
Can be omitted and directly provided to Vault using the `AZURE_TENANT_ID` environment
|
179
|
+
variable.
|
180
|
+
"""
|
181
|
+
return pulumi.get(self, "tenant_id")
|
182
|
+
|
183
|
+
@tenant_id.setter
|
184
|
+
def tenant_id(self, value: Optional[pulumi.Input[str]]):
|
185
|
+
pulumi.set(self, "tenant_id", value)
|
186
|
+
|
187
|
+
|
188
|
+
@pulumi.input_type
|
189
|
+
class _SyncAzureDestinationState:
|
190
|
+
def __init__(__self__, *,
|
191
|
+
client_id: Optional[pulumi.Input[str]] = None,
|
192
|
+
client_secret: Optional[pulumi.Input[str]] = None,
|
193
|
+
cloud: Optional[pulumi.Input[str]] = None,
|
194
|
+
custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
195
|
+
key_vault_uri: Optional[pulumi.Input[str]] = None,
|
196
|
+
name: Optional[pulumi.Input[str]] = None,
|
197
|
+
namespace: Optional[pulumi.Input[str]] = None,
|
198
|
+
secret_name_template: Optional[pulumi.Input[str]] = None,
|
199
|
+
tenant_id: Optional[pulumi.Input[str]] = None,
|
200
|
+
type: Optional[pulumi.Input[str]] = None):
|
201
|
+
"""
|
202
|
+
Input properties used for looking up and filtering SyncAzureDestination resources.
|
203
|
+
:param pulumi.Input[str] client_id: Client ID of an Azure app registration.
|
204
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_ID` environment
|
205
|
+
variable.
|
206
|
+
:param pulumi.Input[str] client_secret: Client Secret of an Azure app registration.
|
207
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_SECRET` environment
|
208
|
+
variable.
|
209
|
+
:param pulumi.Input[str] cloud: Specifies a cloud for the client. The default is Azure Public Cloud.
|
210
|
+
:param pulumi.Input[Mapping[str, Any]] custom_tags: Custom tags to set on the secret managed at the destination.
|
211
|
+
:param pulumi.Input[str] key_vault_uri: URI of an existing Azure Key Vault instance.
|
212
|
+
Can be omitted and directly provided to Vault using the `KEY_VAULT_URI` environment
|
213
|
+
variable.
|
214
|
+
:param pulumi.Input[str] name: Unique name of the Azure destination.
|
215
|
+
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
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).
|
218
|
+
:param pulumi.Input[str] secret_name_template: Template describing how to generate external secret names.
|
219
|
+
Supports a subset of the Go Template syntax.
|
220
|
+
:param pulumi.Input[str] tenant_id: ID of the target Azure tenant.
|
221
|
+
Can be omitted and directly provided to Vault using the `AZURE_TENANT_ID` environment
|
222
|
+
variable.
|
223
|
+
:param pulumi.Input[str] type: The type of the secrets destination (`azure-kv`).
|
224
|
+
"""
|
225
|
+
if client_id is not None:
|
226
|
+
pulumi.set(__self__, "client_id", client_id)
|
227
|
+
if client_secret is not None:
|
228
|
+
pulumi.set(__self__, "client_secret", client_secret)
|
229
|
+
if cloud is not None:
|
230
|
+
pulumi.set(__self__, "cloud", cloud)
|
231
|
+
if custom_tags is not None:
|
232
|
+
pulumi.set(__self__, "custom_tags", custom_tags)
|
233
|
+
if key_vault_uri is not None:
|
234
|
+
pulumi.set(__self__, "key_vault_uri", key_vault_uri)
|
235
|
+
if name is not None:
|
236
|
+
pulumi.set(__self__, "name", name)
|
237
|
+
if namespace is not None:
|
238
|
+
pulumi.set(__self__, "namespace", namespace)
|
239
|
+
if secret_name_template is not None:
|
240
|
+
pulumi.set(__self__, "secret_name_template", secret_name_template)
|
241
|
+
if tenant_id is not None:
|
242
|
+
pulumi.set(__self__, "tenant_id", tenant_id)
|
243
|
+
if type is not None:
|
244
|
+
pulumi.set(__self__, "type", type)
|
245
|
+
|
246
|
+
@property
|
247
|
+
@pulumi.getter(name="clientId")
|
248
|
+
def client_id(self) -> Optional[pulumi.Input[str]]:
|
249
|
+
"""
|
250
|
+
Client ID of an Azure app registration.
|
251
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_ID` environment
|
252
|
+
variable.
|
253
|
+
"""
|
254
|
+
return pulumi.get(self, "client_id")
|
255
|
+
|
256
|
+
@client_id.setter
|
257
|
+
def client_id(self, value: Optional[pulumi.Input[str]]):
|
258
|
+
pulumi.set(self, "client_id", value)
|
259
|
+
|
260
|
+
@property
|
261
|
+
@pulumi.getter(name="clientSecret")
|
262
|
+
def client_secret(self) -> Optional[pulumi.Input[str]]:
|
263
|
+
"""
|
264
|
+
Client Secret of an Azure app registration.
|
265
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_SECRET` environment
|
266
|
+
variable.
|
267
|
+
"""
|
268
|
+
return pulumi.get(self, "client_secret")
|
269
|
+
|
270
|
+
@client_secret.setter
|
271
|
+
def client_secret(self, value: Optional[pulumi.Input[str]]):
|
272
|
+
pulumi.set(self, "client_secret", value)
|
273
|
+
|
274
|
+
@property
|
275
|
+
@pulumi.getter
|
276
|
+
def cloud(self) -> Optional[pulumi.Input[str]]:
|
277
|
+
"""
|
278
|
+
Specifies a cloud for the client. The default is Azure Public Cloud.
|
279
|
+
"""
|
280
|
+
return pulumi.get(self, "cloud")
|
281
|
+
|
282
|
+
@cloud.setter
|
283
|
+
def cloud(self, value: Optional[pulumi.Input[str]]):
|
284
|
+
pulumi.set(self, "cloud", value)
|
285
|
+
|
286
|
+
@property
|
287
|
+
@pulumi.getter(name="customTags")
|
288
|
+
def custom_tags(self) -> Optional[pulumi.Input[Mapping[str, Any]]]:
|
289
|
+
"""
|
290
|
+
Custom tags to set on the secret managed at the destination.
|
291
|
+
"""
|
292
|
+
return pulumi.get(self, "custom_tags")
|
293
|
+
|
294
|
+
@custom_tags.setter
|
295
|
+
def custom_tags(self, value: Optional[pulumi.Input[Mapping[str, Any]]]):
|
296
|
+
pulumi.set(self, "custom_tags", value)
|
297
|
+
|
298
|
+
@property
|
299
|
+
@pulumi.getter(name="keyVaultUri")
|
300
|
+
def key_vault_uri(self) -> Optional[pulumi.Input[str]]:
|
301
|
+
"""
|
302
|
+
URI of an existing Azure Key Vault instance.
|
303
|
+
Can be omitted and directly provided to Vault using the `KEY_VAULT_URI` environment
|
304
|
+
variable.
|
305
|
+
"""
|
306
|
+
return pulumi.get(self, "key_vault_uri")
|
307
|
+
|
308
|
+
@key_vault_uri.setter
|
309
|
+
def key_vault_uri(self, value: Optional[pulumi.Input[str]]):
|
310
|
+
pulumi.set(self, "key_vault_uri", value)
|
311
|
+
|
312
|
+
@property
|
313
|
+
@pulumi.getter
|
314
|
+
def name(self) -> Optional[pulumi.Input[str]]:
|
315
|
+
"""
|
316
|
+
Unique name of the Azure destination.
|
317
|
+
"""
|
318
|
+
return pulumi.get(self, "name")
|
319
|
+
|
320
|
+
@name.setter
|
321
|
+
def name(self, value: Optional[pulumi.Input[str]]):
|
322
|
+
pulumi.set(self, "name", value)
|
323
|
+
|
324
|
+
@property
|
325
|
+
@pulumi.getter
|
326
|
+
def namespace(self) -> Optional[pulumi.Input[str]]:
|
327
|
+
"""
|
328
|
+
The namespace to provision the resource in.
|
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).
|
331
|
+
"""
|
332
|
+
return pulumi.get(self, "namespace")
|
333
|
+
|
334
|
+
@namespace.setter
|
335
|
+
def namespace(self, value: Optional[pulumi.Input[str]]):
|
336
|
+
pulumi.set(self, "namespace", value)
|
337
|
+
|
338
|
+
@property
|
339
|
+
@pulumi.getter(name="secretNameTemplate")
|
340
|
+
def secret_name_template(self) -> Optional[pulumi.Input[str]]:
|
341
|
+
"""
|
342
|
+
Template describing how to generate external secret names.
|
343
|
+
Supports a subset of the Go Template syntax.
|
344
|
+
"""
|
345
|
+
return pulumi.get(self, "secret_name_template")
|
346
|
+
|
347
|
+
@secret_name_template.setter
|
348
|
+
def secret_name_template(self, value: Optional[pulumi.Input[str]]):
|
349
|
+
pulumi.set(self, "secret_name_template", value)
|
350
|
+
|
351
|
+
@property
|
352
|
+
@pulumi.getter(name="tenantId")
|
353
|
+
def tenant_id(self) -> Optional[pulumi.Input[str]]:
|
354
|
+
"""
|
355
|
+
ID of the target Azure tenant.
|
356
|
+
Can be omitted and directly provided to Vault using the `AZURE_TENANT_ID` environment
|
357
|
+
variable.
|
358
|
+
"""
|
359
|
+
return pulumi.get(self, "tenant_id")
|
360
|
+
|
361
|
+
@tenant_id.setter
|
362
|
+
def tenant_id(self, value: Optional[pulumi.Input[str]]):
|
363
|
+
pulumi.set(self, "tenant_id", value)
|
364
|
+
|
365
|
+
@property
|
366
|
+
@pulumi.getter
|
367
|
+
def type(self) -> Optional[pulumi.Input[str]]:
|
368
|
+
"""
|
369
|
+
The type of the secrets destination (`azure-kv`).
|
370
|
+
"""
|
371
|
+
return pulumi.get(self, "type")
|
372
|
+
|
373
|
+
@type.setter
|
374
|
+
def type(self, value: Optional[pulumi.Input[str]]):
|
375
|
+
pulumi.set(self, "type", value)
|
376
|
+
|
377
|
+
|
378
|
+
class SyncAzureDestination(pulumi.CustomResource):
|
379
|
+
@overload
|
380
|
+
def __init__(__self__,
|
381
|
+
resource_name: str,
|
382
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
383
|
+
client_id: Optional[pulumi.Input[str]] = None,
|
384
|
+
client_secret: Optional[pulumi.Input[str]] = None,
|
385
|
+
cloud: Optional[pulumi.Input[str]] = None,
|
386
|
+
custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
387
|
+
key_vault_uri: Optional[pulumi.Input[str]] = None,
|
388
|
+
name: Optional[pulumi.Input[str]] = None,
|
389
|
+
namespace: Optional[pulumi.Input[str]] = None,
|
390
|
+
secret_name_template: Optional[pulumi.Input[str]] = None,
|
391
|
+
tenant_id: Optional[pulumi.Input[str]] = None,
|
392
|
+
__props__=None):
|
393
|
+
"""
|
394
|
+
## Example Usage
|
395
|
+
|
396
|
+
```python
|
397
|
+
import pulumi
|
398
|
+
import pulumi_vault as vault
|
399
|
+
|
400
|
+
az = vault.secrets.SyncAzureDestination("az",
|
401
|
+
key_vault_uri=var["key_vault_uri"],
|
402
|
+
client_id=var["client_id"],
|
403
|
+
client_secret=var["client_secret"],
|
404
|
+
tenant_id=var["tenant_id"],
|
405
|
+
secret_name_template="vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}",
|
406
|
+
custom_tags={
|
407
|
+
"foo": "bar",
|
408
|
+
})
|
409
|
+
```
|
410
|
+
|
411
|
+
## Import
|
412
|
+
|
413
|
+
Azure Secrets sync destinations can be imported using the `name`, e.g.
|
414
|
+
|
415
|
+
```sh
|
416
|
+
$ pulumi import vault:secrets/syncAzureDestination:SyncAzureDestination az az-dest
|
417
|
+
```
|
418
|
+
|
419
|
+
:param str resource_name: The name of the resource.
|
420
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
421
|
+
:param pulumi.Input[str] client_id: Client ID of an Azure app registration.
|
422
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_ID` environment
|
423
|
+
variable.
|
424
|
+
:param pulumi.Input[str] client_secret: Client Secret of an Azure app registration.
|
425
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_SECRET` environment
|
426
|
+
variable.
|
427
|
+
:param pulumi.Input[str] cloud: Specifies a cloud for the client. The default is Azure Public Cloud.
|
428
|
+
:param pulumi.Input[Mapping[str, Any]] custom_tags: Custom tags to set on the secret managed at the destination.
|
429
|
+
:param pulumi.Input[str] key_vault_uri: URI of an existing Azure Key Vault instance.
|
430
|
+
Can be omitted and directly provided to Vault using the `KEY_VAULT_URI` environment
|
431
|
+
variable.
|
432
|
+
:param pulumi.Input[str] name: Unique name of the Azure destination.
|
433
|
+
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
434
|
+
The value should not contain leading or trailing forward slashes.
|
435
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
436
|
+
:param pulumi.Input[str] secret_name_template: Template describing how to generate external secret names.
|
437
|
+
Supports a subset of the Go Template syntax.
|
438
|
+
:param pulumi.Input[str] tenant_id: ID of the target Azure tenant.
|
439
|
+
Can be omitted and directly provided to Vault using the `AZURE_TENANT_ID` environment
|
440
|
+
variable.
|
441
|
+
"""
|
442
|
+
...
|
443
|
+
@overload
|
444
|
+
def __init__(__self__,
|
445
|
+
resource_name: str,
|
446
|
+
args: Optional[SyncAzureDestinationArgs] = None,
|
447
|
+
opts: Optional[pulumi.ResourceOptions] = None):
|
448
|
+
"""
|
449
|
+
## Example Usage
|
450
|
+
|
451
|
+
```python
|
452
|
+
import pulumi
|
453
|
+
import pulumi_vault as vault
|
454
|
+
|
455
|
+
az = vault.secrets.SyncAzureDestination("az",
|
456
|
+
key_vault_uri=var["key_vault_uri"],
|
457
|
+
client_id=var["client_id"],
|
458
|
+
client_secret=var["client_secret"],
|
459
|
+
tenant_id=var["tenant_id"],
|
460
|
+
secret_name_template="vault_{{ .MountAccessor | lowercase }}_{{ .SecretPath | lowercase }}",
|
461
|
+
custom_tags={
|
462
|
+
"foo": "bar",
|
463
|
+
})
|
464
|
+
```
|
465
|
+
|
466
|
+
## Import
|
467
|
+
|
468
|
+
Azure Secrets sync destinations can be imported using the `name`, e.g.
|
469
|
+
|
470
|
+
```sh
|
471
|
+
$ pulumi import vault:secrets/syncAzureDestination:SyncAzureDestination az az-dest
|
472
|
+
```
|
473
|
+
|
474
|
+
:param str resource_name: The name of the resource.
|
475
|
+
:param SyncAzureDestinationArgs args: The arguments to use to populate this resource's properties.
|
476
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
477
|
+
"""
|
478
|
+
...
|
479
|
+
def __init__(__self__, resource_name: str, *args, **kwargs):
|
480
|
+
resource_args, opts = _utilities.get_resource_args_opts(SyncAzureDestinationArgs, pulumi.ResourceOptions, *args, **kwargs)
|
481
|
+
if resource_args is not None:
|
482
|
+
__self__._internal_init(resource_name, opts, **resource_args.__dict__)
|
483
|
+
else:
|
484
|
+
__self__._internal_init(resource_name, *args, **kwargs)
|
485
|
+
|
486
|
+
def _internal_init(__self__,
|
487
|
+
resource_name: str,
|
488
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
489
|
+
client_id: Optional[pulumi.Input[str]] = None,
|
490
|
+
client_secret: Optional[pulumi.Input[str]] = None,
|
491
|
+
cloud: Optional[pulumi.Input[str]] = None,
|
492
|
+
custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
493
|
+
key_vault_uri: Optional[pulumi.Input[str]] = None,
|
494
|
+
name: Optional[pulumi.Input[str]] = None,
|
495
|
+
namespace: Optional[pulumi.Input[str]] = None,
|
496
|
+
secret_name_template: Optional[pulumi.Input[str]] = None,
|
497
|
+
tenant_id: Optional[pulumi.Input[str]] = None,
|
498
|
+
__props__=None):
|
499
|
+
opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
|
500
|
+
if not isinstance(opts, pulumi.ResourceOptions):
|
501
|
+
raise TypeError('Expected resource options to be a ResourceOptions instance')
|
502
|
+
if opts.id is None:
|
503
|
+
if __props__ is not None:
|
504
|
+
raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
|
505
|
+
__props__ = SyncAzureDestinationArgs.__new__(SyncAzureDestinationArgs)
|
506
|
+
|
507
|
+
__props__.__dict__["client_id"] = client_id
|
508
|
+
__props__.__dict__["client_secret"] = None if client_secret is None else pulumi.Output.secret(client_secret)
|
509
|
+
__props__.__dict__["cloud"] = cloud
|
510
|
+
__props__.__dict__["custom_tags"] = custom_tags
|
511
|
+
__props__.__dict__["key_vault_uri"] = key_vault_uri
|
512
|
+
__props__.__dict__["name"] = name
|
513
|
+
__props__.__dict__["namespace"] = namespace
|
514
|
+
__props__.__dict__["secret_name_template"] = secret_name_template
|
515
|
+
__props__.__dict__["tenant_id"] = tenant_id
|
516
|
+
__props__.__dict__["type"] = None
|
517
|
+
secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientSecret"])
|
518
|
+
opts = pulumi.ResourceOptions.merge(opts, secret_opts)
|
519
|
+
super(SyncAzureDestination, __self__).__init__(
|
520
|
+
'vault:secrets/syncAzureDestination:SyncAzureDestination',
|
521
|
+
resource_name,
|
522
|
+
__props__,
|
523
|
+
opts)
|
524
|
+
|
525
|
+
@staticmethod
|
526
|
+
def get(resource_name: str,
|
527
|
+
id: pulumi.Input[str],
|
528
|
+
opts: Optional[pulumi.ResourceOptions] = None,
|
529
|
+
client_id: Optional[pulumi.Input[str]] = None,
|
530
|
+
client_secret: Optional[pulumi.Input[str]] = None,
|
531
|
+
cloud: Optional[pulumi.Input[str]] = None,
|
532
|
+
custom_tags: Optional[pulumi.Input[Mapping[str, Any]]] = None,
|
533
|
+
key_vault_uri: Optional[pulumi.Input[str]] = None,
|
534
|
+
name: Optional[pulumi.Input[str]] = None,
|
535
|
+
namespace: Optional[pulumi.Input[str]] = None,
|
536
|
+
secret_name_template: Optional[pulumi.Input[str]] = None,
|
537
|
+
tenant_id: Optional[pulumi.Input[str]] = None,
|
538
|
+
type: Optional[pulumi.Input[str]] = None) -> 'SyncAzureDestination':
|
539
|
+
"""
|
540
|
+
Get an existing SyncAzureDestination resource's state with the given name, id, and optional extra
|
541
|
+
properties used to qualify the lookup.
|
542
|
+
|
543
|
+
:param str resource_name: The unique name of the resulting resource.
|
544
|
+
:param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
|
545
|
+
:param pulumi.ResourceOptions opts: Options for the resource.
|
546
|
+
:param pulumi.Input[str] client_id: Client ID of an Azure app registration.
|
547
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_ID` environment
|
548
|
+
variable.
|
549
|
+
:param pulumi.Input[str] client_secret: Client Secret of an Azure app registration.
|
550
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_SECRET` environment
|
551
|
+
variable.
|
552
|
+
:param pulumi.Input[str] cloud: Specifies a cloud for the client. The default is Azure Public Cloud.
|
553
|
+
:param pulumi.Input[Mapping[str, Any]] custom_tags: Custom tags to set on the secret managed at the destination.
|
554
|
+
:param pulumi.Input[str] key_vault_uri: URI of an existing Azure Key Vault instance.
|
555
|
+
Can be omitted and directly provided to Vault using the `KEY_VAULT_URI` environment
|
556
|
+
variable.
|
557
|
+
:param pulumi.Input[str] name: Unique name of the Azure destination.
|
558
|
+
:param pulumi.Input[str] namespace: The namespace to provision the resource in.
|
559
|
+
The value should not contain leading or trailing forward slashes.
|
560
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
561
|
+
:param pulumi.Input[str] secret_name_template: Template describing how to generate external secret names.
|
562
|
+
Supports a subset of the Go Template syntax.
|
563
|
+
:param pulumi.Input[str] tenant_id: ID of the target Azure tenant.
|
564
|
+
Can be omitted and directly provided to Vault using the `AZURE_TENANT_ID` environment
|
565
|
+
variable.
|
566
|
+
:param pulumi.Input[str] type: The type of the secrets destination (`azure-kv`).
|
567
|
+
"""
|
568
|
+
opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
|
569
|
+
|
570
|
+
__props__ = _SyncAzureDestinationState.__new__(_SyncAzureDestinationState)
|
571
|
+
|
572
|
+
__props__.__dict__["client_id"] = client_id
|
573
|
+
__props__.__dict__["client_secret"] = client_secret
|
574
|
+
__props__.__dict__["cloud"] = cloud
|
575
|
+
__props__.__dict__["custom_tags"] = custom_tags
|
576
|
+
__props__.__dict__["key_vault_uri"] = key_vault_uri
|
577
|
+
__props__.__dict__["name"] = name
|
578
|
+
__props__.__dict__["namespace"] = namespace
|
579
|
+
__props__.__dict__["secret_name_template"] = secret_name_template
|
580
|
+
__props__.__dict__["tenant_id"] = tenant_id
|
581
|
+
__props__.__dict__["type"] = type
|
582
|
+
return SyncAzureDestination(resource_name, opts=opts, __props__=__props__)
|
583
|
+
|
584
|
+
@property
|
585
|
+
@pulumi.getter(name="clientId")
|
586
|
+
def client_id(self) -> pulumi.Output[Optional[str]]:
|
587
|
+
"""
|
588
|
+
Client ID of an Azure app registration.
|
589
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_ID` environment
|
590
|
+
variable.
|
591
|
+
"""
|
592
|
+
return pulumi.get(self, "client_id")
|
593
|
+
|
594
|
+
@property
|
595
|
+
@pulumi.getter(name="clientSecret")
|
596
|
+
def client_secret(self) -> pulumi.Output[Optional[str]]:
|
597
|
+
"""
|
598
|
+
Client Secret of an Azure app registration.
|
599
|
+
Can be omitted and directly provided to Vault using the `AZURE_CLIENT_SECRET` environment
|
600
|
+
variable.
|
601
|
+
"""
|
602
|
+
return pulumi.get(self, "client_secret")
|
603
|
+
|
604
|
+
@property
|
605
|
+
@pulumi.getter
|
606
|
+
def cloud(self) -> pulumi.Output[Optional[str]]:
|
607
|
+
"""
|
608
|
+
Specifies a cloud for the client. The default is Azure Public Cloud.
|
609
|
+
"""
|
610
|
+
return pulumi.get(self, "cloud")
|
611
|
+
|
612
|
+
@property
|
613
|
+
@pulumi.getter(name="customTags")
|
614
|
+
def custom_tags(self) -> pulumi.Output[Optional[Mapping[str, Any]]]:
|
615
|
+
"""
|
616
|
+
Custom tags to set on the secret managed at the destination.
|
617
|
+
"""
|
618
|
+
return pulumi.get(self, "custom_tags")
|
619
|
+
|
620
|
+
@property
|
621
|
+
@pulumi.getter(name="keyVaultUri")
|
622
|
+
def key_vault_uri(self) -> pulumi.Output[Optional[str]]:
|
623
|
+
"""
|
624
|
+
URI of an existing Azure Key Vault instance.
|
625
|
+
Can be omitted and directly provided to Vault using the `KEY_VAULT_URI` environment
|
626
|
+
variable.
|
627
|
+
"""
|
628
|
+
return pulumi.get(self, "key_vault_uri")
|
629
|
+
|
630
|
+
@property
|
631
|
+
@pulumi.getter
|
632
|
+
def name(self) -> pulumi.Output[str]:
|
633
|
+
"""
|
634
|
+
Unique name of the Azure destination.
|
635
|
+
"""
|
636
|
+
return pulumi.get(self, "name")
|
637
|
+
|
638
|
+
@property
|
639
|
+
@pulumi.getter
|
640
|
+
def namespace(self) -> pulumi.Output[Optional[str]]:
|
641
|
+
"""
|
642
|
+
The namespace to provision the resource in.
|
643
|
+
The value should not contain leading or trailing forward slashes.
|
644
|
+
The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault#namespace).
|
645
|
+
"""
|
646
|
+
return pulumi.get(self, "namespace")
|
647
|
+
|
648
|
+
@property
|
649
|
+
@pulumi.getter(name="secretNameTemplate")
|
650
|
+
def secret_name_template(self) -> pulumi.Output[str]:
|
651
|
+
"""
|
652
|
+
Template describing how to generate external secret names.
|
653
|
+
Supports a subset of the Go Template syntax.
|
654
|
+
"""
|
655
|
+
return pulumi.get(self, "secret_name_template")
|
656
|
+
|
657
|
+
@property
|
658
|
+
@pulumi.getter(name="tenantId")
|
659
|
+
def tenant_id(self) -> pulumi.Output[Optional[str]]:
|
660
|
+
"""
|
661
|
+
ID of the target Azure tenant.
|
662
|
+
Can be omitted and directly provided to Vault using the `AZURE_TENANT_ID` environment
|
663
|
+
variable.
|
664
|
+
"""
|
665
|
+
return pulumi.get(self, "tenant_id")
|
666
|
+
|
667
|
+
@property
|
668
|
+
@pulumi.getter
|
669
|
+
def type(self) -> pulumi.Output[str]:
|
670
|
+
"""
|
671
|
+
The type of the secrets destination (`azure-kv`).
|
672
|
+
"""
|
673
|
+
return pulumi.get(self, "type")
|
674
|
+
|