pulumi-vault 5.19.0a1705621752__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.
Files changed (43) hide show
  1. pulumi_vault/__init__.py +59 -0
  2. pulumi_vault/_inputs.py +380 -0
  3. pulumi_vault/_utilities.py +2 -2
  4. pulumi_vault/aws/secret_backend.py +188 -0
  5. pulumi_vault/aws/secret_backend_static_role.py +2 -2
  6. pulumi_vault/azure/backend.py +7 -21
  7. pulumi_vault/config/__init__.pyi +0 -3
  8. pulumi_vault/config/outputs.py +380 -0
  9. pulumi_vault/config/vars.py +0 -3
  10. pulumi_vault/consul/secret_backend.py +7 -35
  11. pulumi_vault/database/_inputs.py +176 -0
  12. pulumi_vault/database/outputs.py +168 -0
  13. pulumi_vault/get_raft_autopilot_state.py +0 -12
  14. pulumi_vault/identity/group_alias.py +6 -6
  15. pulumi_vault/kubernetes/secret_backend_role.py +8 -4
  16. pulumi_vault/kv/_inputs.py +12 -0
  17. pulumi_vault/kv/outputs.py +12 -0
  18. pulumi_vault/ldap/secret_backend_dynamic_role.py +2 -2
  19. pulumi_vault/ldap/secret_backend_static_role.py +2 -2
  20. pulumi_vault/managed/_inputs.py +12 -0
  21. pulumi_vault/managed/keys.py +20 -0
  22. pulumi_vault/managed/outputs.py +12 -0
  23. pulumi_vault/mongodbatlas/secret_role.py +2 -2
  24. pulumi_vault/namespace.py +46 -14
  25. pulumi_vault/pkisecret/secret_backend_config_issuers.py +0 -6
  26. pulumi_vault/pkisecret/secret_backend_issuer.py +0 -10
  27. pulumi_vault/pkisecret/secret_backend_role.py +7 -7
  28. pulumi_vault/rabbitmq/_inputs.py +36 -0
  29. pulumi_vault/rabbitmq/outputs.py +36 -0
  30. pulumi_vault/saml/auth_backend_role.py +7 -14
  31. pulumi_vault/secrets/__init__.py +14 -0
  32. pulumi_vault/secrets/sync_association.py +464 -0
  33. pulumi_vault/secrets/sync_aws_destination.py +564 -0
  34. pulumi_vault/secrets/sync_azure_destination.py +674 -0
  35. pulumi_vault/secrets/sync_config.py +297 -0
  36. pulumi_vault/secrets/sync_gcp_destination.py +438 -0
  37. pulumi_vault/secrets/sync_gh_destination.py +511 -0
  38. pulumi_vault/secrets/sync_vercel_destination.py +541 -0
  39. pulumi_vault/ssh/secret_backend_role.py +7 -14
  40. {pulumi_vault-5.19.0a1705621752.dist-info → pulumi_vault-5.20.0.dist-info}/METADATA +2 -2
  41. {pulumi_vault-5.19.0a1705621752.dist-info → pulumi_vault-5.20.0.dist-info}/RECORD +43 -35
  42. {pulumi_vault-5.19.0a1705621752.dist-info → pulumi_vault-5.20.0.dist-info}/WHEEL +0 -0
  43. {pulumi_vault-5.19.0a1705621752.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
+