pulumi-vault 7.6.0a1764657486__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 (274) hide show
  1. pulumi_vault/__init__.py +1399 -0
  2. pulumi_vault/_inputs.py +2701 -0
  3. pulumi_vault/_utilities.py +331 -0
  4. pulumi_vault/ad/__init__.py +12 -0
  5. pulumi_vault/ad/get_access_credentials.py +177 -0
  6. pulumi_vault/ad/secret_backend.py +1916 -0
  7. pulumi_vault/ad/secret_library.py +546 -0
  8. pulumi_vault/ad/secret_role.py +499 -0
  9. pulumi_vault/alicloud/__init__.py +9 -0
  10. pulumi_vault/alicloud/auth_backend_role.py +866 -0
  11. pulumi_vault/approle/__init__.py +12 -0
  12. pulumi_vault/approle/auth_backend_login.py +571 -0
  13. pulumi_vault/approle/auth_backend_role.py +1082 -0
  14. pulumi_vault/approle/auth_backend_role_secret_id.py +796 -0
  15. pulumi_vault/approle/get_auth_backend_role_id.py +169 -0
  16. pulumi_vault/audit.py +499 -0
  17. pulumi_vault/audit_request_header.py +277 -0
  18. pulumi_vault/auth_backend.py +565 -0
  19. pulumi_vault/aws/__init__.py +22 -0
  20. pulumi_vault/aws/auth_backend_cert.py +420 -0
  21. pulumi_vault/aws/auth_backend_client.py +1259 -0
  22. pulumi_vault/aws/auth_backend_config_identity.py +494 -0
  23. pulumi_vault/aws/auth_backend_identity_whitelist.py +380 -0
  24. pulumi_vault/aws/auth_backend_login.py +1046 -0
  25. pulumi_vault/aws/auth_backend_role.py +1961 -0
  26. pulumi_vault/aws/auth_backend_role_tag.py +638 -0
  27. pulumi_vault/aws/auth_backend_roletag_blacklist.py +366 -0
  28. pulumi_vault/aws/auth_backend_sts_role.py +414 -0
  29. pulumi_vault/aws/get_access_credentials.py +369 -0
  30. pulumi_vault/aws/get_static_access_credentials.py +137 -0
  31. pulumi_vault/aws/secret_backend.py +2018 -0
  32. pulumi_vault/aws/secret_backend_role.py +1188 -0
  33. pulumi_vault/aws/secret_backend_static_role.py +639 -0
  34. pulumi_vault/azure/__init__.py +15 -0
  35. pulumi_vault/azure/_inputs.py +108 -0
  36. pulumi_vault/azure/auth_backend_config.py +1096 -0
  37. pulumi_vault/azure/auth_backend_role.py +1176 -0
  38. pulumi_vault/azure/backend.py +1793 -0
  39. pulumi_vault/azure/backend_role.py +883 -0
  40. pulumi_vault/azure/get_access_credentials.py +400 -0
  41. pulumi_vault/azure/outputs.py +107 -0
  42. pulumi_vault/cert_auth_backend_role.py +1539 -0
  43. pulumi_vault/config/__init__.py +9 -0
  44. pulumi_vault/config/__init__.pyi +164 -0
  45. pulumi_vault/config/_inputs.py +73 -0
  46. pulumi_vault/config/outputs.py +1225 -0
  47. pulumi_vault/config/ui_custom_message.py +530 -0
  48. pulumi_vault/config/vars.py +230 -0
  49. pulumi_vault/consul/__init__.py +10 -0
  50. pulumi_vault/consul/secret_backend.py +1517 -0
  51. pulumi_vault/consul/secret_backend_role.py +847 -0
  52. pulumi_vault/database/__init__.py +14 -0
  53. pulumi_vault/database/_inputs.py +11907 -0
  54. pulumi_vault/database/outputs.py +8496 -0
  55. pulumi_vault/database/secret_backend_connection.py +1676 -0
  56. pulumi_vault/database/secret_backend_role.py +840 -0
  57. pulumi_vault/database/secret_backend_static_role.py +881 -0
  58. pulumi_vault/database/secrets_mount.py +2160 -0
  59. pulumi_vault/egp_policy.py +399 -0
  60. pulumi_vault/gcp/__init__.py +17 -0
  61. pulumi_vault/gcp/_inputs.py +441 -0
  62. pulumi_vault/gcp/auth_backend.py +1486 -0
  63. pulumi_vault/gcp/auth_backend_role.py +1235 -0
  64. pulumi_vault/gcp/get_auth_backend_role.py +514 -0
  65. pulumi_vault/gcp/outputs.py +302 -0
  66. pulumi_vault/gcp/secret_backend.py +1807 -0
  67. pulumi_vault/gcp/secret_impersonated_account.py +484 -0
  68. pulumi_vault/gcp/secret_roleset.py +554 -0
  69. pulumi_vault/gcp/secret_static_account.py +557 -0
  70. pulumi_vault/generic/__init__.py +11 -0
  71. pulumi_vault/generic/endpoint.py +786 -0
  72. pulumi_vault/generic/get_secret.py +306 -0
  73. pulumi_vault/generic/secret.py +486 -0
  74. pulumi_vault/get_auth_backend.py +226 -0
  75. pulumi_vault/get_auth_backends.py +170 -0
  76. pulumi_vault/get_namespace.py +226 -0
  77. pulumi_vault/get_namespaces.py +202 -0
  78. pulumi_vault/get_nomad_access_token.py +210 -0
  79. pulumi_vault/get_policy_document.py +160 -0
  80. pulumi_vault/get_raft_autopilot_state.py +267 -0
  81. pulumi_vault/github/__init__.py +13 -0
  82. pulumi_vault/github/_inputs.py +225 -0
  83. pulumi_vault/github/auth_backend.py +1194 -0
  84. pulumi_vault/github/outputs.py +174 -0
  85. pulumi_vault/github/team.py +380 -0
  86. pulumi_vault/github/user.py +380 -0
  87. pulumi_vault/identity/__init__.py +35 -0
  88. pulumi_vault/identity/entity.py +447 -0
  89. pulumi_vault/identity/entity_alias.py +398 -0
  90. pulumi_vault/identity/entity_policies.py +455 -0
  91. pulumi_vault/identity/get_entity.py +384 -0
  92. pulumi_vault/identity/get_group.py +467 -0
  93. pulumi_vault/identity/get_oidc_client_creds.py +175 -0
  94. pulumi_vault/identity/get_oidc_openid_config.py +334 -0
  95. pulumi_vault/identity/get_oidc_public_keys.py +179 -0
  96. pulumi_vault/identity/group.py +805 -0
  97. pulumi_vault/identity/group_alias.py +386 -0
  98. pulumi_vault/identity/group_member_entity_ids.py +444 -0
  99. pulumi_vault/identity/group_member_group_ids.py +467 -0
  100. pulumi_vault/identity/group_policies.py +471 -0
  101. pulumi_vault/identity/mfa_duo.py +674 -0
  102. pulumi_vault/identity/mfa_login_enforcement.py +566 -0
  103. pulumi_vault/identity/mfa_okta.py +626 -0
  104. pulumi_vault/identity/mfa_pingid.py +616 -0
  105. pulumi_vault/identity/mfa_totp.py +758 -0
  106. pulumi_vault/identity/oidc.py +268 -0
  107. pulumi_vault/identity/oidc_assignment.py +375 -0
  108. pulumi_vault/identity/oidc_client.py +667 -0
  109. pulumi_vault/identity/oidc_key.py +474 -0
  110. pulumi_vault/identity/oidc_key_allowed_client_id.py +298 -0
  111. pulumi_vault/identity/oidc_provider.py +550 -0
  112. pulumi_vault/identity/oidc_role.py +543 -0
  113. pulumi_vault/identity/oidc_scope.py +355 -0
  114. pulumi_vault/identity/outputs.py +137 -0
  115. pulumi_vault/jwt/__init__.py +12 -0
  116. pulumi_vault/jwt/_inputs.py +225 -0
  117. pulumi_vault/jwt/auth_backend.py +1347 -0
  118. pulumi_vault/jwt/auth_backend_role.py +1847 -0
  119. pulumi_vault/jwt/outputs.py +174 -0
  120. pulumi_vault/kmip/__init__.py +11 -0
  121. pulumi_vault/kmip/secret_backend.py +1591 -0
  122. pulumi_vault/kmip/secret_role.py +1194 -0
  123. pulumi_vault/kmip/secret_scope.py +372 -0
  124. pulumi_vault/kubernetes/__init__.py +15 -0
  125. pulumi_vault/kubernetes/auth_backend_config.py +654 -0
  126. pulumi_vault/kubernetes/auth_backend_role.py +1031 -0
  127. pulumi_vault/kubernetes/get_auth_backend_config.py +280 -0
  128. pulumi_vault/kubernetes/get_auth_backend_role.py +470 -0
  129. pulumi_vault/kubernetes/get_service_account_token.py +344 -0
  130. pulumi_vault/kubernetes/secret_backend.py +1341 -0
  131. pulumi_vault/kubernetes/secret_backend_role.py +1140 -0
  132. pulumi_vault/kv/__init__.py +18 -0
  133. pulumi_vault/kv/_inputs.py +124 -0
  134. pulumi_vault/kv/get_secret.py +240 -0
  135. pulumi_vault/kv/get_secret_subkeys_v2.py +275 -0
  136. pulumi_vault/kv/get_secret_v2.py +315 -0
  137. pulumi_vault/kv/get_secrets_list.py +186 -0
  138. pulumi_vault/kv/get_secrets_list_v2.py +243 -0
  139. pulumi_vault/kv/outputs.py +102 -0
  140. pulumi_vault/kv/secret.py +397 -0
  141. pulumi_vault/kv/secret_backend_v2.py +455 -0
  142. pulumi_vault/kv/secret_v2.py +970 -0
  143. pulumi_vault/ldap/__init__.py +19 -0
  144. pulumi_vault/ldap/_inputs.py +225 -0
  145. pulumi_vault/ldap/auth_backend.py +2520 -0
  146. pulumi_vault/ldap/auth_backend_group.py +386 -0
  147. pulumi_vault/ldap/auth_backend_user.py +439 -0
  148. pulumi_vault/ldap/get_dynamic_credentials.py +181 -0
  149. pulumi_vault/ldap/get_static_credentials.py +192 -0
  150. pulumi_vault/ldap/outputs.py +174 -0
  151. pulumi_vault/ldap/secret_backend.py +2207 -0
  152. pulumi_vault/ldap/secret_backend_dynamic_role.py +767 -0
  153. pulumi_vault/ldap/secret_backend_library_set.py +552 -0
  154. pulumi_vault/ldap/secret_backend_static_role.py +541 -0
  155. pulumi_vault/managed/__init__.py +11 -0
  156. pulumi_vault/managed/_inputs.py +944 -0
  157. pulumi_vault/managed/keys.py +398 -0
  158. pulumi_vault/managed/outputs.py +667 -0
  159. pulumi_vault/mfa_duo.py +589 -0
  160. pulumi_vault/mfa_okta.py +623 -0
  161. pulumi_vault/mfa_pingid.py +670 -0
  162. pulumi_vault/mfa_totp.py +620 -0
  163. pulumi_vault/mongodbatlas/__init__.py +10 -0
  164. pulumi_vault/mongodbatlas/secret_backend.py +388 -0
  165. pulumi_vault/mongodbatlas/secret_role.py +726 -0
  166. pulumi_vault/mount.py +1262 -0
  167. pulumi_vault/namespace.py +452 -0
  168. pulumi_vault/nomad_secret_backend.py +1559 -0
  169. pulumi_vault/nomad_secret_role.py +489 -0
  170. pulumi_vault/oci_auth_backend.py +676 -0
  171. pulumi_vault/oci_auth_backend_role.py +852 -0
  172. pulumi_vault/okta/__init__.py +13 -0
  173. pulumi_vault/okta/_inputs.py +320 -0
  174. pulumi_vault/okta/auth_backend.py +1231 -0
  175. pulumi_vault/okta/auth_backend_group.py +369 -0
  176. pulumi_vault/okta/auth_backend_user.py +416 -0
  177. pulumi_vault/okta/outputs.py +244 -0
  178. pulumi_vault/outputs.py +502 -0
  179. pulumi_vault/pkisecret/__init__.py +38 -0
  180. pulumi_vault/pkisecret/_inputs.py +270 -0
  181. pulumi_vault/pkisecret/backend_acme_eab.py +550 -0
  182. pulumi_vault/pkisecret/backend_config_acme.py +690 -0
  183. pulumi_vault/pkisecret/backend_config_auto_tidy.py +1370 -0
  184. pulumi_vault/pkisecret/backend_config_cluster.py +370 -0
  185. pulumi_vault/pkisecret/backend_config_cmpv2.py +693 -0
  186. pulumi_vault/pkisecret/backend_config_est.py +756 -0
  187. pulumi_vault/pkisecret/backend_config_scep.py +738 -0
  188. pulumi_vault/pkisecret/get_backend_cert_metadata.py +277 -0
  189. pulumi_vault/pkisecret/get_backend_config_cmpv2.py +226 -0
  190. pulumi_vault/pkisecret/get_backend_config_est.py +251 -0
  191. pulumi_vault/pkisecret/get_backend_config_scep.py +271 -0
  192. pulumi_vault/pkisecret/get_backend_issuer.py +395 -0
  193. pulumi_vault/pkisecret/get_backend_issuers.py +192 -0
  194. pulumi_vault/pkisecret/get_backend_key.py +211 -0
  195. pulumi_vault/pkisecret/get_backend_keys.py +192 -0
  196. pulumi_vault/pkisecret/outputs.py +270 -0
  197. pulumi_vault/pkisecret/secret_backend_cert.py +1315 -0
  198. pulumi_vault/pkisecret/secret_backend_config_ca.py +386 -0
  199. pulumi_vault/pkisecret/secret_backend_config_issuers.py +392 -0
  200. pulumi_vault/pkisecret/secret_backend_config_urls.py +462 -0
  201. pulumi_vault/pkisecret/secret_backend_crl_config.py +846 -0
  202. pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +1629 -0
  203. pulumi_vault/pkisecret/secret_backend_intermediate_set_signed.py +444 -0
  204. pulumi_vault/pkisecret/secret_backend_issuer.py +1089 -0
  205. pulumi_vault/pkisecret/secret_backend_key.py +613 -0
  206. pulumi_vault/pkisecret/secret_backend_role.py +2694 -0
  207. pulumi_vault/pkisecret/secret_backend_root_cert.py +2134 -0
  208. pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +2031 -0
  209. pulumi_vault/pkisecret/secret_backend_sign.py +1194 -0
  210. pulumi_vault/plugin.py +596 -0
  211. pulumi_vault/plugin_pinned_version.py +299 -0
  212. pulumi_vault/policy.py +279 -0
  213. pulumi_vault/provider.py +781 -0
  214. pulumi_vault/pulumi-plugin.json +5 -0
  215. pulumi_vault/py.typed +0 -0
  216. pulumi_vault/quota_lease_count.py +504 -0
  217. pulumi_vault/quota_rate_limit.py +751 -0
  218. pulumi_vault/rabbitmq/__init__.py +12 -0
  219. pulumi_vault/rabbitmq/_inputs.py +235 -0
  220. pulumi_vault/rabbitmq/outputs.py +144 -0
  221. pulumi_vault/rabbitmq/secret_backend.py +1437 -0
  222. pulumi_vault/rabbitmq/secret_backend_role.py +496 -0
  223. pulumi_vault/raft_autopilot.py +609 -0
  224. pulumi_vault/raft_snapshot_agent_config.py +1591 -0
  225. pulumi_vault/rgp_policy.py +349 -0
  226. pulumi_vault/saml/__init__.py +12 -0
  227. pulumi_vault/saml/_inputs.py +225 -0
  228. pulumi_vault/saml/auth_backend.py +811 -0
  229. pulumi_vault/saml/auth_backend_role.py +1068 -0
  230. pulumi_vault/saml/outputs.py +174 -0
  231. pulumi_vault/scep_auth_backend_role.py +908 -0
  232. pulumi_vault/secrets/__init__.py +18 -0
  233. pulumi_vault/secrets/_inputs.py +110 -0
  234. pulumi_vault/secrets/outputs.py +94 -0
  235. pulumi_vault/secrets/sync_association.py +450 -0
  236. pulumi_vault/secrets/sync_aws_destination.py +780 -0
  237. pulumi_vault/secrets/sync_azure_destination.py +736 -0
  238. pulumi_vault/secrets/sync_config.py +303 -0
  239. pulumi_vault/secrets/sync_gcp_destination.py +572 -0
  240. pulumi_vault/secrets/sync_gh_destination.py +688 -0
  241. pulumi_vault/secrets/sync_github_apps.py +376 -0
  242. pulumi_vault/secrets/sync_vercel_destination.py +603 -0
  243. pulumi_vault/ssh/__init__.py +13 -0
  244. pulumi_vault/ssh/_inputs.py +76 -0
  245. pulumi_vault/ssh/get_secret_backend_sign.py +294 -0
  246. pulumi_vault/ssh/outputs.py +51 -0
  247. pulumi_vault/ssh/secret_backend_ca.py +588 -0
  248. pulumi_vault/ssh/secret_backend_role.py +1493 -0
  249. pulumi_vault/terraformcloud/__init__.py +11 -0
  250. pulumi_vault/terraformcloud/secret_backend.py +1321 -0
  251. pulumi_vault/terraformcloud/secret_creds.py +445 -0
  252. pulumi_vault/terraformcloud/secret_role.py +563 -0
  253. pulumi_vault/token.py +1026 -0
  254. pulumi_vault/tokenauth/__init__.py +9 -0
  255. pulumi_vault/tokenauth/auth_backend_role.py +1135 -0
  256. pulumi_vault/transform/__init__.py +14 -0
  257. pulumi_vault/transform/alphabet.py +348 -0
  258. pulumi_vault/transform/get_decode.py +287 -0
  259. pulumi_vault/transform/get_encode.py +291 -0
  260. pulumi_vault/transform/role.py +350 -0
  261. pulumi_vault/transform/template.py +592 -0
  262. pulumi_vault/transform/transformation.py +608 -0
  263. pulumi_vault/transit/__init__.py +15 -0
  264. pulumi_vault/transit/get_cmac.py +256 -0
  265. pulumi_vault/transit/get_decrypt.py +181 -0
  266. pulumi_vault/transit/get_encrypt.py +174 -0
  267. pulumi_vault/transit/get_sign.py +328 -0
  268. pulumi_vault/transit/get_verify.py +373 -0
  269. pulumi_vault/transit/secret_backend_key.py +1202 -0
  270. pulumi_vault/transit/secret_cache_config.py +302 -0
  271. pulumi_vault-7.6.0a1764657486.dist-info/METADATA +92 -0
  272. pulumi_vault-7.6.0a1764657486.dist-info/RECORD +274 -0
  273. pulumi_vault-7.6.0a1764657486.dist-info/WHEEL +5 -0
  274. pulumi_vault-7.6.0a1764657486.dist-info/top_level.txt +1 -0
@@ -0,0 +1,883 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['BackendRoleArgs', 'BackendRole']
20
+
21
+ @pulumi.input_type
22
+ class BackendRoleArgs:
23
+ def __init__(__self__, *,
24
+ role: pulumi.Input[_builtins.str],
25
+ application_object_id: Optional[pulumi.Input[_builtins.str]] = None,
26
+ azure_groups: Optional[pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureGroupArgs']]]] = None,
27
+ azure_roles: Optional[pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureRoleArgs']]]] = None,
28
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
29
+ description: Optional[pulumi.Input[_builtins.str]] = None,
30
+ explicit_max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
31
+ max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
32
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
33
+ permanently_delete: Optional[pulumi.Input[_builtins.bool]] = None,
34
+ persist_app: Optional[pulumi.Input[_builtins.bool]] = None,
35
+ sign_in_audience: Optional[pulumi.Input[_builtins.str]] = None,
36
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
37
+ ttl: Optional[pulumi.Input[_builtins.str]] = None):
38
+ """
39
+ The set of arguments for constructing a BackendRole resource.
40
+ :param pulumi.Input[_builtins.str] role: Name of the Azure role
41
+ :param pulumi.Input[_builtins.str] application_object_id: Application Object ID for an existing service principal that will
42
+ be used instead of creating dynamic service principals. If present, `azure_roles` and `permanently_delete` will be ignored.
43
+ :param pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureGroupArgs']]] azure_groups: List of Azure groups to be assigned to the generated service principal.
44
+ :param pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureRoleArgs']]] azure_roles: List of Azure roles to be assigned to the generated service principal.
45
+ :param pulumi.Input[_builtins.str] backend: Path to the mounted Azure auth backend
46
+ :param pulumi.Input[_builtins.str] description: Human-friendly description of the mount for the backend.
47
+ :param pulumi.Input[_builtins.str] explicit_max_ttl: Specifies the explicit maximum lifetime of the lease and service principal generated using this role. If not set or set to 0, will use the system default (10 years). Requires Vault 1.18+.
48
+ :param pulumi.Input[_builtins.str] max_ttl: Specifies the maximum TTL for service principals generated using this role. Accepts time
49
+ suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine max TTL time.
50
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
51
+ The value should not contain leading or trailing forward slashes.
52
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
53
+ *Available only for Vault Enterprise*.
54
+ :param pulumi.Input[_builtins.bool] permanently_delete: Indicates whether the applications and service principals created by Vault will be permanently
55
+ deleted when the corresponding leases expire. Defaults to `false`. For Vault v1.12+.
56
+ :param pulumi.Input[_builtins.bool] persist_app: If set to true, persists the created service principal and application for the lifetime of the role
57
+ :param pulumi.Input[_builtins.str] sign_in_audience: Specifies the security principal types that are allowed to sign in to the application.
58
+ Valid values are: AzureADMyOrg, AzureADMultipleOrgs, AzureADandPersonalMicrosoftAccount, PersonalMicrosoftAccount. Requires Vault 1.16+.
59
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: A list of Azure tags to attach to an application. Requires Vault 1.16+.
60
+ :param pulumi.Input[_builtins.str] ttl: Specifies the default TTL for service principals generated using this role.
61
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
62
+ """
63
+ pulumi.set(__self__, "role", role)
64
+ if application_object_id is not None:
65
+ pulumi.set(__self__, "application_object_id", application_object_id)
66
+ if azure_groups is not None:
67
+ pulumi.set(__self__, "azure_groups", azure_groups)
68
+ if azure_roles is not None:
69
+ pulumi.set(__self__, "azure_roles", azure_roles)
70
+ if backend is not None:
71
+ pulumi.set(__self__, "backend", backend)
72
+ if description is not None:
73
+ pulumi.set(__self__, "description", description)
74
+ if explicit_max_ttl is not None:
75
+ pulumi.set(__self__, "explicit_max_ttl", explicit_max_ttl)
76
+ if max_ttl is not None:
77
+ pulumi.set(__self__, "max_ttl", max_ttl)
78
+ if namespace is not None:
79
+ pulumi.set(__self__, "namespace", namespace)
80
+ if permanently_delete is not None:
81
+ pulumi.set(__self__, "permanently_delete", permanently_delete)
82
+ if persist_app is not None:
83
+ pulumi.set(__self__, "persist_app", persist_app)
84
+ if sign_in_audience is not None:
85
+ pulumi.set(__self__, "sign_in_audience", sign_in_audience)
86
+ if tags is not None:
87
+ pulumi.set(__self__, "tags", tags)
88
+ if ttl is not None:
89
+ pulumi.set(__self__, "ttl", ttl)
90
+
91
+ @_builtins.property
92
+ @pulumi.getter
93
+ def role(self) -> pulumi.Input[_builtins.str]:
94
+ """
95
+ Name of the Azure role
96
+ """
97
+ return pulumi.get(self, "role")
98
+
99
+ @role.setter
100
+ def role(self, value: pulumi.Input[_builtins.str]):
101
+ pulumi.set(self, "role", value)
102
+
103
+ @_builtins.property
104
+ @pulumi.getter(name="applicationObjectId")
105
+ def application_object_id(self) -> Optional[pulumi.Input[_builtins.str]]:
106
+ """
107
+ Application Object ID for an existing service principal that will
108
+ be used instead of creating dynamic service principals. If present, `azure_roles` and `permanently_delete` will be ignored.
109
+ """
110
+ return pulumi.get(self, "application_object_id")
111
+
112
+ @application_object_id.setter
113
+ def application_object_id(self, value: Optional[pulumi.Input[_builtins.str]]):
114
+ pulumi.set(self, "application_object_id", value)
115
+
116
+ @_builtins.property
117
+ @pulumi.getter(name="azureGroups")
118
+ def azure_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureGroupArgs']]]]:
119
+ """
120
+ List of Azure groups to be assigned to the generated service principal.
121
+ """
122
+ return pulumi.get(self, "azure_groups")
123
+
124
+ @azure_groups.setter
125
+ def azure_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureGroupArgs']]]]):
126
+ pulumi.set(self, "azure_groups", value)
127
+
128
+ @_builtins.property
129
+ @pulumi.getter(name="azureRoles")
130
+ def azure_roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureRoleArgs']]]]:
131
+ """
132
+ List of Azure roles to be assigned to the generated service principal.
133
+ """
134
+ return pulumi.get(self, "azure_roles")
135
+
136
+ @azure_roles.setter
137
+ def azure_roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureRoleArgs']]]]):
138
+ pulumi.set(self, "azure_roles", value)
139
+
140
+ @_builtins.property
141
+ @pulumi.getter
142
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
143
+ """
144
+ Path to the mounted Azure auth backend
145
+ """
146
+ return pulumi.get(self, "backend")
147
+
148
+ @backend.setter
149
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
150
+ pulumi.set(self, "backend", value)
151
+
152
+ @_builtins.property
153
+ @pulumi.getter
154
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
155
+ """
156
+ Human-friendly description of the mount for the backend.
157
+ """
158
+ return pulumi.get(self, "description")
159
+
160
+ @description.setter
161
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
162
+ pulumi.set(self, "description", value)
163
+
164
+ @_builtins.property
165
+ @pulumi.getter(name="explicitMaxTtl")
166
+ def explicit_max_ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
167
+ """
168
+ Specifies the explicit maximum lifetime of the lease and service principal generated using this role. If not set or set to 0, will use the system default (10 years). Requires Vault 1.18+.
169
+ """
170
+ return pulumi.get(self, "explicit_max_ttl")
171
+
172
+ @explicit_max_ttl.setter
173
+ def explicit_max_ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
174
+ pulumi.set(self, "explicit_max_ttl", value)
175
+
176
+ @_builtins.property
177
+ @pulumi.getter(name="maxTtl")
178
+ def max_ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
179
+ """
180
+ Specifies the maximum TTL for service principals generated using this role. Accepts time
181
+ suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine max TTL time.
182
+ """
183
+ return pulumi.get(self, "max_ttl")
184
+
185
+ @max_ttl.setter
186
+ def max_ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
187
+ pulumi.set(self, "max_ttl", value)
188
+
189
+ @_builtins.property
190
+ @pulumi.getter
191
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
192
+ """
193
+ The namespace to provision the resource in.
194
+ The value should not contain leading or trailing forward slashes.
195
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
196
+ *Available only for Vault Enterprise*.
197
+ """
198
+ return pulumi.get(self, "namespace")
199
+
200
+ @namespace.setter
201
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
202
+ pulumi.set(self, "namespace", value)
203
+
204
+ @_builtins.property
205
+ @pulumi.getter(name="permanentlyDelete")
206
+ def permanently_delete(self) -> Optional[pulumi.Input[_builtins.bool]]:
207
+ """
208
+ Indicates whether the applications and service principals created by Vault will be permanently
209
+ deleted when the corresponding leases expire. Defaults to `false`. For Vault v1.12+.
210
+ """
211
+ return pulumi.get(self, "permanently_delete")
212
+
213
+ @permanently_delete.setter
214
+ def permanently_delete(self, value: Optional[pulumi.Input[_builtins.bool]]):
215
+ pulumi.set(self, "permanently_delete", value)
216
+
217
+ @_builtins.property
218
+ @pulumi.getter(name="persistApp")
219
+ def persist_app(self) -> Optional[pulumi.Input[_builtins.bool]]:
220
+ """
221
+ If set to true, persists the created service principal and application for the lifetime of the role
222
+ """
223
+ return pulumi.get(self, "persist_app")
224
+
225
+ @persist_app.setter
226
+ def persist_app(self, value: Optional[pulumi.Input[_builtins.bool]]):
227
+ pulumi.set(self, "persist_app", value)
228
+
229
+ @_builtins.property
230
+ @pulumi.getter(name="signInAudience")
231
+ def sign_in_audience(self) -> Optional[pulumi.Input[_builtins.str]]:
232
+ """
233
+ Specifies the security principal types that are allowed to sign in to the application.
234
+ Valid values are: AzureADMyOrg, AzureADMultipleOrgs, AzureADandPersonalMicrosoftAccount, PersonalMicrosoftAccount. Requires Vault 1.16+.
235
+ """
236
+ return pulumi.get(self, "sign_in_audience")
237
+
238
+ @sign_in_audience.setter
239
+ def sign_in_audience(self, value: Optional[pulumi.Input[_builtins.str]]):
240
+ pulumi.set(self, "sign_in_audience", value)
241
+
242
+ @_builtins.property
243
+ @pulumi.getter
244
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
245
+ """
246
+ A list of Azure tags to attach to an application. Requires Vault 1.16+.
247
+ """
248
+ return pulumi.get(self, "tags")
249
+
250
+ @tags.setter
251
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
252
+ pulumi.set(self, "tags", value)
253
+
254
+ @_builtins.property
255
+ @pulumi.getter
256
+ def ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
257
+ """
258
+ Specifies the default TTL for service principals generated using this role.
259
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
260
+ """
261
+ return pulumi.get(self, "ttl")
262
+
263
+ @ttl.setter
264
+ def ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
265
+ pulumi.set(self, "ttl", value)
266
+
267
+
268
+ @pulumi.input_type
269
+ class _BackendRoleState:
270
+ def __init__(__self__, *,
271
+ application_object_id: Optional[pulumi.Input[_builtins.str]] = None,
272
+ azure_groups: Optional[pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureGroupArgs']]]] = None,
273
+ azure_roles: Optional[pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureRoleArgs']]]] = None,
274
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
275
+ description: Optional[pulumi.Input[_builtins.str]] = None,
276
+ explicit_max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
277
+ max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
278
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
279
+ permanently_delete: Optional[pulumi.Input[_builtins.bool]] = None,
280
+ persist_app: Optional[pulumi.Input[_builtins.bool]] = None,
281
+ role: Optional[pulumi.Input[_builtins.str]] = None,
282
+ sign_in_audience: Optional[pulumi.Input[_builtins.str]] = None,
283
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
284
+ ttl: Optional[pulumi.Input[_builtins.str]] = None):
285
+ """
286
+ Input properties used for looking up and filtering BackendRole resources.
287
+ :param pulumi.Input[_builtins.str] application_object_id: Application Object ID for an existing service principal that will
288
+ be used instead of creating dynamic service principals. If present, `azure_roles` and `permanently_delete` will be ignored.
289
+ :param pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureGroupArgs']]] azure_groups: List of Azure groups to be assigned to the generated service principal.
290
+ :param pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureRoleArgs']]] azure_roles: List of Azure roles to be assigned to the generated service principal.
291
+ :param pulumi.Input[_builtins.str] backend: Path to the mounted Azure auth backend
292
+ :param pulumi.Input[_builtins.str] description: Human-friendly description of the mount for the backend.
293
+ :param pulumi.Input[_builtins.str] explicit_max_ttl: Specifies the explicit maximum lifetime of the lease and service principal generated using this role. If not set or set to 0, will use the system default (10 years). Requires Vault 1.18+.
294
+ :param pulumi.Input[_builtins.str] max_ttl: Specifies the maximum TTL for service principals generated using this role. Accepts time
295
+ suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine max TTL time.
296
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
297
+ The value should not contain leading or trailing forward slashes.
298
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
299
+ *Available only for Vault Enterprise*.
300
+ :param pulumi.Input[_builtins.bool] permanently_delete: Indicates whether the applications and service principals created by Vault will be permanently
301
+ deleted when the corresponding leases expire. Defaults to `false`. For Vault v1.12+.
302
+ :param pulumi.Input[_builtins.bool] persist_app: If set to true, persists the created service principal and application for the lifetime of the role
303
+ :param pulumi.Input[_builtins.str] role: Name of the Azure role
304
+ :param pulumi.Input[_builtins.str] sign_in_audience: Specifies the security principal types that are allowed to sign in to the application.
305
+ Valid values are: AzureADMyOrg, AzureADMultipleOrgs, AzureADandPersonalMicrosoftAccount, PersonalMicrosoftAccount. Requires Vault 1.16+.
306
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: A list of Azure tags to attach to an application. Requires Vault 1.16+.
307
+ :param pulumi.Input[_builtins.str] ttl: Specifies the default TTL for service principals generated using this role.
308
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
309
+ """
310
+ if application_object_id is not None:
311
+ pulumi.set(__self__, "application_object_id", application_object_id)
312
+ if azure_groups is not None:
313
+ pulumi.set(__self__, "azure_groups", azure_groups)
314
+ if azure_roles is not None:
315
+ pulumi.set(__self__, "azure_roles", azure_roles)
316
+ if backend is not None:
317
+ pulumi.set(__self__, "backend", backend)
318
+ if description is not None:
319
+ pulumi.set(__self__, "description", description)
320
+ if explicit_max_ttl is not None:
321
+ pulumi.set(__self__, "explicit_max_ttl", explicit_max_ttl)
322
+ if max_ttl is not None:
323
+ pulumi.set(__self__, "max_ttl", max_ttl)
324
+ if namespace is not None:
325
+ pulumi.set(__self__, "namespace", namespace)
326
+ if permanently_delete is not None:
327
+ pulumi.set(__self__, "permanently_delete", permanently_delete)
328
+ if persist_app is not None:
329
+ pulumi.set(__self__, "persist_app", persist_app)
330
+ if role is not None:
331
+ pulumi.set(__self__, "role", role)
332
+ if sign_in_audience is not None:
333
+ pulumi.set(__self__, "sign_in_audience", sign_in_audience)
334
+ if tags is not None:
335
+ pulumi.set(__self__, "tags", tags)
336
+ if ttl is not None:
337
+ pulumi.set(__self__, "ttl", ttl)
338
+
339
+ @_builtins.property
340
+ @pulumi.getter(name="applicationObjectId")
341
+ def application_object_id(self) -> Optional[pulumi.Input[_builtins.str]]:
342
+ """
343
+ Application Object ID for an existing service principal that will
344
+ be used instead of creating dynamic service principals. If present, `azure_roles` and `permanently_delete` will be ignored.
345
+ """
346
+ return pulumi.get(self, "application_object_id")
347
+
348
+ @application_object_id.setter
349
+ def application_object_id(self, value: Optional[pulumi.Input[_builtins.str]]):
350
+ pulumi.set(self, "application_object_id", value)
351
+
352
+ @_builtins.property
353
+ @pulumi.getter(name="azureGroups")
354
+ def azure_groups(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureGroupArgs']]]]:
355
+ """
356
+ List of Azure groups to be assigned to the generated service principal.
357
+ """
358
+ return pulumi.get(self, "azure_groups")
359
+
360
+ @azure_groups.setter
361
+ def azure_groups(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureGroupArgs']]]]):
362
+ pulumi.set(self, "azure_groups", value)
363
+
364
+ @_builtins.property
365
+ @pulumi.getter(name="azureRoles")
366
+ def azure_roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureRoleArgs']]]]:
367
+ """
368
+ List of Azure roles to be assigned to the generated service principal.
369
+ """
370
+ return pulumi.get(self, "azure_roles")
371
+
372
+ @azure_roles.setter
373
+ def azure_roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['BackendRoleAzureRoleArgs']]]]):
374
+ pulumi.set(self, "azure_roles", value)
375
+
376
+ @_builtins.property
377
+ @pulumi.getter
378
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
379
+ """
380
+ Path to the mounted Azure auth backend
381
+ """
382
+ return pulumi.get(self, "backend")
383
+
384
+ @backend.setter
385
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
386
+ pulumi.set(self, "backend", value)
387
+
388
+ @_builtins.property
389
+ @pulumi.getter
390
+ def description(self) -> Optional[pulumi.Input[_builtins.str]]:
391
+ """
392
+ Human-friendly description of the mount for the backend.
393
+ """
394
+ return pulumi.get(self, "description")
395
+
396
+ @description.setter
397
+ def description(self, value: Optional[pulumi.Input[_builtins.str]]):
398
+ pulumi.set(self, "description", value)
399
+
400
+ @_builtins.property
401
+ @pulumi.getter(name="explicitMaxTtl")
402
+ def explicit_max_ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
403
+ """
404
+ Specifies the explicit maximum lifetime of the lease and service principal generated using this role. If not set or set to 0, will use the system default (10 years). Requires Vault 1.18+.
405
+ """
406
+ return pulumi.get(self, "explicit_max_ttl")
407
+
408
+ @explicit_max_ttl.setter
409
+ def explicit_max_ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
410
+ pulumi.set(self, "explicit_max_ttl", value)
411
+
412
+ @_builtins.property
413
+ @pulumi.getter(name="maxTtl")
414
+ def max_ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
415
+ """
416
+ Specifies the maximum TTL for service principals generated using this role. Accepts time
417
+ suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine max TTL time.
418
+ """
419
+ return pulumi.get(self, "max_ttl")
420
+
421
+ @max_ttl.setter
422
+ def max_ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
423
+ pulumi.set(self, "max_ttl", value)
424
+
425
+ @_builtins.property
426
+ @pulumi.getter
427
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
428
+ """
429
+ The namespace to provision the resource in.
430
+ The value should not contain leading or trailing forward slashes.
431
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
432
+ *Available only for Vault Enterprise*.
433
+ """
434
+ return pulumi.get(self, "namespace")
435
+
436
+ @namespace.setter
437
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
438
+ pulumi.set(self, "namespace", value)
439
+
440
+ @_builtins.property
441
+ @pulumi.getter(name="permanentlyDelete")
442
+ def permanently_delete(self) -> Optional[pulumi.Input[_builtins.bool]]:
443
+ """
444
+ Indicates whether the applications and service principals created by Vault will be permanently
445
+ deleted when the corresponding leases expire. Defaults to `false`. For Vault v1.12+.
446
+ """
447
+ return pulumi.get(self, "permanently_delete")
448
+
449
+ @permanently_delete.setter
450
+ def permanently_delete(self, value: Optional[pulumi.Input[_builtins.bool]]):
451
+ pulumi.set(self, "permanently_delete", value)
452
+
453
+ @_builtins.property
454
+ @pulumi.getter(name="persistApp")
455
+ def persist_app(self) -> Optional[pulumi.Input[_builtins.bool]]:
456
+ """
457
+ If set to true, persists the created service principal and application for the lifetime of the role
458
+ """
459
+ return pulumi.get(self, "persist_app")
460
+
461
+ @persist_app.setter
462
+ def persist_app(self, value: Optional[pulumi.Input[_builtins.bool]]):
463
+ pulumi.set(self, "persist_app", value)
464
+
465
+ @_builtins.property
466
+ @pulumi.getter
467
+ def role(self) -> Optional[pulumi.Input[_builtins.str]]:
468
+ """
469
+ Name of the Azure role
470
+ """
471
+ return pulumi.get(self, "role")
472
+
473
+ @role.setter
474
+ def role(self, value: Optional[pulumi.Input[_builtins.str]]):
475
+ pulumi.set(self, "role", value)
476
+
477
+ @_builtins.property
478
+ @pulumi.getter(name="signInAudience")
479
+ def sign_in_audience(self) -> Optional[pulumi.Input[_builtins.str]]:
480
+ """
481
+ Specifies the security principal types that are allowed to sign in to the application.
482
+ Valid values are: AzureADMyOrg, AzureADMultipleOrgs, AzureADandPersonalMicrosoftAccount, PersonalMicrosoftAccount. Requires Vault 1.16+.
483
+ """
484
+ return pulumi.get(self, "sign_in_audience")
485
+
486
+ @sign_in_audience.setter
487
+ def sign_in_audience(self, value: Optional[pulumi.Input[_builtins.str]]):
488
+ pulumi.set(self, "sign_in_audience", value)
489
+
490
+ @_builtins.property
491
+ @pulumi.getter
492
+ def tags(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
493
+ """
494
+ A list of Azure tags to attach to an application. Requires Vault 1.16+.
495
+ """
496
+ return pulumi.get(self, "tags")
497
+
498
+ @tags.setter
499
+ def tags(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
500
+ pulumi.set(self, "tags", value)
501
+
502
+ @_builtins.property
503
+ @pulumi.getter
504
+ def ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
505
+ """
506
+ Specifies the default TTL for service principals generated using this role.
507
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
508
+ """
509
+ return pulumi.get(self, "ttl")
510
+
511
+ @ttl.setter
512
+ def ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
513
+ pulumi.set(self, "ttl", value)
514
+
515
+
516
+ @pulumi.type_token("vault:azure/backendRole:BackendRole")
517
+ class BackendRole(pulumi.CustomResource):
518
+ @overload
519
+ def __init__(__self__,
520
+ resource_name: str,
521
+ opts: Optional[pulumi.ResourceOptions] = None,
522
+ application_object_id: Optional[pulumi.Input[_builtins.str]] = None,
523
+ azure_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BackendRoleAzureGroupArgs', 'BackendRoleAzureGroupArgsDict']]]]] = None,
524
+ azure_roles: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BackendRoleAzureRoleArgs', 'BackendRoleAzureRoleArgsDict']]]]] = None,
525
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
526
+ description: Optional[pulumi.Input[_builtins.str]] = None,
527
+ explicit_max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
528
+ max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
529
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
530
+ permanently_delete: Optional[pulumi.Input[_builtins.bool]] = None,
531
+ persist_app: Optional[pulumi.Input[_builtins.bool]] = None,
532
+ role: Optional[pulumi.Input[_builtins.str]] = None,
533
+ sign_in_audience: Optional[pulumi.Input[_builtins.str]] = None,
534
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
535
+ ttl: Optional[pulumi.Input[_builtins.str]] = None,
536
+ __props__=None):
537
+ """
538
+ ## Example Usage
539
+
540
+ ```python
541
+ import pulumi
542
+ import pulumi_vault as vault
543
+
544
+ azure = vault.azure.Backend("azure",
545
+ subscription_id=subscription_id,
546
+ tenant_id=tenant_id,
547
+ client_secret=client_secret,
548
+ client_id=client_id)
549
+ generated_role = vault.azure.BackendRole("generated_role",
550
+ backend=azure.path,
551
+ role="generated_role",
552
+ sign_in_audience="AzureADMyOrg",
553
+ tags=[
554
+ "team:engineering",
555
+ "environment:development",
556
+ ],
557
+ ttl="300",
558
+ max_ttl="600",
559
+ azure_roles=[{
560
+ "role_name": "Reader",
561
+ "scope": f"/subscriptions/{subscription_id}/resourceGroups/azure-vault-group",
562
+ }])
563
+ existing_object_id = vault.azure.BackendRole("existing_object_id",
564
+ backend=azure.path,
565
+ role="existing_object_id",
566
+ application_object_id="11111111-2222-3333-4444-44444444444",
567
+ ttl="300",
568
+ max_ttl="600")
569
+ ```
570
+
571
+ :param str resource_name: The name of the resource.
572
+ :param pulumi.ResourceOptions opts: Options for the resource.
573
+ :param pulumi.Input[_builtins.str] application_object_id: Application Object ID for an existing service principal that will
574
+ be used instead of creating dynamic service principals. If present, `azure_roles` and `permanently_delete` will be ignored.
575
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BackendRoleAzureGroupArgs', 'BackendRoleAzureGroupArgsDict']]]] azure_groups: List of Azure groups to be assigned to the generated service principal.
576
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BackendRoleAzureRoleArgs', 'BackendRoleAzureRoleArgsDict']]]] azure_roles: List of Azure roles to be assigned to the generated service principal.
577
+ :param pulumi.Input[_builtins.str] backend: Path to the mounted Azure auth backend
578
+ :param pulumi.Input[_builtins.str] description: Human-friendly description of the mount for the backend.
579
+ :param pulumi.Input[_builtins.str] explicit_max_ttl: Specifies the explicit maximum lifetime of the lease and service principal generated using this role. If not set or set to 0, will use the system default (10 years). Requires Vault 1.18+.
580
+ :param pulumi.Input[_builtins.str] max_ttl: Specifies the maximum TTL for service principals generated using this role. Accepts time
581
+ suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine max TTL time.
582
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
583
+ The value should not contain leading or trailing forward slashes.
584
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
585
+ *Available only for Vault Enterprise*.
586
+ :param pulumi.Input[_builtins.bool] permanently_delete: Indicates whether the applications and service principals created by Vault will be permanently
587
+ deleted when the corresponding leases expire. Defaults to `false`. For Vault v1.12+.
588
+ :param pulumi.Input[_builtins.bool] persist_app: If set to true, persists the created service principal and application for the lifetime of the role
589
+ :param pulumi.Input[_builtins.str] role: Name of the Azure role
590
+ :param pulumi.Input[_builtins.str] sign_in_audience: Specifies the security principal types that are allowed to sign in to the application.
591
+ Valid values are: AzureADMyOrg, AzureADMultipleOrgs, AzureADandPersonalMicrosoftAccount, PersonalMicrosoftAccount. Requires Vault 1.16+.
592
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: A list of Azure tags to attach to an application. Requires Vault 1.16+.
593
+ :param pulumi.Input[_builtins.str] ttl: Specifies the default TTL for service principals generated using this role.
594
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
595
+ """
596
+ ...
597
+ @overload
598
+ def __init__(__self__,
599
+ resource_name: str,
600
+ args: BackendRoleArgs,
601
+ opts: Optional[pulumi.ResourceOptions] = None):
602
+ """
603
+ ## Example Usage
604
+
605
+ ```python
606
+ import pulumi
607
+ import pulumi_vault as vault
608
+
609
+ azure = vault.azure.Backend("azure",
610
+ subscription_id=subscription_id,
611
+ tenant_id=tenant_id,
612
+ client_secret=client_secret,
613
+ client_id=client_id)
614
+ generated_role = vault.azure.BackendRole("generated_role",
615
+ backend=azure.path,
616
+ role="generated_role",
617
+ sign_in_audience="AzureADMyOrg",
618
+ tags=[
619
+ "team:engineering",
620
+ "environment:development",
621
+ ],
622
+ ttl="300",
623
+ max_ttl="600",
624
+ azure_roles=[{
625
+ "role_name": "Reader",
626
+ "scope": f"/subscriptions/{subscription_id}/resourceGroups/azure-vault-group",
627
+ }])
628
+ existing_object_id = vault.azure.BackendRole("existing_object_id",
629
+ backend=azure.path,
630
+ role="existing_object_id",
631
+ application_object_id="11111111-2222-3333-4444-44444444444",
632
+ ttl="300",
633
+ max_ttl="600")
634
+ ```
635
+
636
+ :param str resource_name: The name of the resource.
637
+ :param BackendRoleArgs args: The arguments to use to populate this resource's properties.
638
+ :param pulumi.ResourceOptions opts: Options for the resource.
639
+ """
640
+ ...
641
+ def __init__(__self__, resource_name: str, *args, **kwargs):
642
+ resource_args, opts = _utilities.get_resource_args_opts(BackendRoleArgs, pulumi.ResourceOptions, *args, **kwargs)
643
+ if resource_args is not None:
644
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
645
+ else:
646
+ __self__._internal_init(resource_name, *args, **kwargs)
647
+
648
+ def _internal_init(__self__,
649
+ resource_name: str,
650
+ opts: Optional[pulumi.ResourceOptions] = None,
651
+ application_object_id: Optional[pulumi.Input[_builtins.str]] = None,
652
+ azure_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BackendRoleAzureGroupArgs', 'BackendRoleAzureGroupArgsDict']]]]] = None,
653
+ azure_roles: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BackendRoleAzureRoleArgs', 'BackendRoleAzureRoleArgsDict']]]]] = None,
654
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
655
+ description: Optional[pulumi.Input[_builtins.str]] = None,
656
+ explicit_max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
657
+ max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
658
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
659
+ permanently_delete: Optional[pulumi.Input[_builtins.bool]] = None,
660
+ persist_app: Optional[pulumi.Input[_builtins.bool]] = None,
661
+ role: Optional[pulumi.Input[_builtins.str]] = None,
662
+ sign_in_audience: Optional[pulumi.Input[_builtins.str]] = None,
663
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
664
+ ttl: Optional[pulumi.Input[_builtins.str]] = None,
665
+ __props__=None):
666
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
667
+ if not isinstance(opts, pulumi.ResourceOptions):
668
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
669
+ if opts.id is None:
670
+ if __props__ is not None:
671
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
672
+ __props__ = BackendRoleArgs.__new__(BackendRoleArgs)
673
+
674
+ __props__.__dict__["application_object_id"] = application_object_id
675
+ __props__.__dict__["azure_groups"] = azure_groups
676
+ __props__.__dict__["azure_roles"] = azure_roles
677
+ __props__.__dict__["backend"] = backend
678
+ __props__.__dict__["description"] = description
679
+ __props__.__dict__["explicit_max_ttl"] = explicit_max_ttl
680
+ __props__.__dict__["max_ttl"] = max_ttl
681
+ __props__.__dict__["namespace"] = namespace
682
+ __props__.__dict__["permanently_delete"] = permanently_delete
683
+ __props__.__dict__["persist_app"] = persist_app
684
+ if role is None and not opts.urn:
685
+ raise TypeError("Missing required property 'role'")
686
+ __props__.__dict__["role"] = role
687
+ __props__.__dict__["sign_in_audience"] = sign_in_audience
688
+ __props__.__dict__["tags"] = tags
689
+ __props__.__dict__["ttl"] = ttl
690
+ super(BackendRole, __self__).__init__(
691
+ 'vault:azure/backendRole:BackendRole',
692
+ resource_name,
693
+ __props__,
694
+ opts)
695
+
696
+ @staticmethod
697
+ def get(resource_name: str,
698
+ id: pulumi.Input[str],
699
+ opts: Optional[pulumi.ResourceOptions] = None,
700
+ application_object_id: Optional[pulumi.Input[_builtins.str]] = None,
701
+ azure_groups: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BackendRoleAzureGroupArgs', 'BackendRoleAzureGroupArgsDict']]]]] = None,
702
+ azure_roles: Optional[pulumi.Input[Sequence[pulumi.Input[Union['BackendRoleAzureRoleArgs', 'BackendRoleAzureRoleArgsDict']]]]] = None,
703
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
704
+ description: Optional[pulumi.Input[_builtins.str]] = None,
705
+ explicit_max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
706
+ max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
707
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
708
+ permanently_delete: Optional[pulumi.Input[_builtins.bool]] = None,
709
+ persist_app: Optional[pulumi.Input[_builtins.bool]] = None,
710
+ role: Optional[pulumi.Input[_builtins.str]] = None,
711
+ sign_in_audience: Optional[pulumi.Input[_builtins.str]] = None,
712
+ tags: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
713
+ ttl: Optional[pulumi.Input[_builtins.str]] = None) -> 'BackendRole':
714
+ """
715
+ Get an existing BackendRole resource's state with the given name, id, and optional extra
716
+ properties used to qualify the lookup.
717
+
718
+ :param str resource_name: The unique name of the resulting resource.
719
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
720
+ :param pulumi.ResourceOptions opts: Options for the resource.
721
+ :param pulumi.Input[_builtins.str] application_object_id: Application Object ID for an existing service principal that will
722
+ be used instead of creating dynamic service principals. If present, `azure_roles` and `permanently_delete` will be ignored.
723
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BackendRoleAzureGroupArgs', 'BackendRoleAzureGroupArgsDict']]]] azure_groups: List of Azure groups to be assigned to the generated service principal.
724
+ :param pulumi.Input[Sequence[pulumi.Input[Union['BackendRoleAzureRoleArgs', 'BackendRoleAzureRoleArgsDict']]]] azure_roles: List of Azure roles to be assigned to the generated service principal.
725
+ :param pulumi.Input[_builtins.str] backend: Path to the mounted Azure auth backend
726
+ :param pulumi.Input[_builtins.str] description: Human-friendly description of the mount for the backend.
727
+ :param pulumi.Input[_builtins.str] explicit_max_ttl: Specifies the explicit maximum lifetime of the lease and service principal generated using this role. If not set or set to 0, will use the system default (10 years). Requires Vault 1.18+.
728
+ :param pulumi.Input[_builtins.str] max_ttl: Specifies the maximum TTL for service principals generated using this role. Accepts time
729
+ suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine max TTL time.
730
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
731
+ The value should not contain leading or trailing forward slashes.
732
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
733
+ *Available only for Vault Enterprise*.
734
+ :param pulumi.Input[_builtins.bool] permanently_delete: Indicates whether the applications and service principals created by Vault will be permanently
735
+ deleted when the corresponding leases expire. Defaults to `false`. For Vault v1.12+.
736
+ :param pulumi.Input[_builtins.bool] persist_app: If set to true, persists the created service principal and application for the lifetime of the role
737
+ :param pulumi.Input[_builtins.str] role: Name of the Azure role
738
+ :param pulumi.Input[_builtins.str] sign_in_audience: Specifies the security principal types that are allowed to sign in to the application.
739
+ Valid values are: AzureADMyOrg, AzureADMultipleOrgs, AzureADandPersonalMicrosoftAccount, PersonalMicrosoftAccount. Requires Vault 1.16+.
740
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] tags: A list of Azure tags to attach to an application. Requires Vault 1.16+.
741
+ :param pulumi.Input[_builtins.str] ttl: Specifies the default TTL for service principals generated using this role.
742
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
743
+ """
744
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
745
+
746
+ __props__ = _BackendRoleState.__new__(_BackendRoleState)
747
+
748
+ __props__.__dict__["application_object_id"] = application_object_id
749
+ __props__.__dict__["azure_groups"] = azure_groups
750
+ __props__.__dict__["azure_roles"] = azure_roles
751
+ __props__.__dict__["backend"] = backend
752
+ __props__.__dict__["description"] = description
753
+ __props__.__dict__["explicit_max_ttl"] = explicit_max_ttl
754
+ __props__.__dict__["max_ttl"] = max_ttl
755
+ __props__.__dict__["namespace"] = namespace
756
+ __props__.__dict__["permanently_delete"] = permanently_delete
757
+ __props__.__dict__["persist_app"] = persist_app
758
+ __props__.__dict__["role"] = role
759
+ __props__.__dict__["sign_in_audience"] = sign_in_audience
760
+ __props__.__dict__["tags"] = tags
761
+ __props__.__dict__["ttl"] = ttl
762
+ return BackendRole(resource_name, opts=opts, __props__=__props__)
763
+
764
+ @_builtins.property
765
+ @pulumi.getter(name="applicationObjectId")
766
+ def application_object_id(self) -> pulumi.Output[Optional[_builtins.str]]:
767
+ """
768
+ Application Object ID for an existing service principal that will
769
+ be used instead of creating dynamic service principals. If present, `azure_roles` and `permanently_delete` will be ignored.
770
+ """
771
+ return pulumi.get(self, "application_object_id")
772
+
773
+ @_builtins.property
774
+ @pulumi.getter(name="azureGroups")
775
+ def azure_groups(self) -> pulumi.Output[Optional[Sequence['outputs.BackendRoleAzureGroup']]]:
776
+ """
777
+ List of Azure groups to be assigned to the generated service principal.
778
+ """
779
+ return pulumi.get(self, "azure_groups")
780
+
781
+ @_builtins.property
782
+ @pulumi.getter(name="azureRoles")
783
+ def azure_roles(self) -> pulumi.Output[Optional[Sequence['outputs.BackendRoleAzureRole']]]:
784
+ """
785
+ List of Azure roles to be assigned to the generated service principal.
786
+ """
787
+ return pulumi.get(self, "azure_roles")
788
+
789
+ @_builtins.property
790
+ @pulumi.getter
791
+ def backend(self) -> pulumi.Output[Optional[_builtins.str]]:
792
+ """
793
+ Path to the mounted Azure auth backend
794
+ """
795
+ return pulumi.get(self, "backend")
796
+
797
+ @_builtins.property
798
+ @pulumi.getter
799
+ def description(self) -> pulumi.Output[Optional[_builtins.str]]:
800
+ """
801
+ Human-friendly description of the mount for the backend.
802
+ """
803
+ return pulumi.get(self, "description")
804
+
805
+ @_builtins.property
806
+ @pulumi.getter(name="explicitMaxTtl")
807
+ def explicit_max_ttl(self) -> pulumi.Output[Optional[_builtins.str]]:
808
+ """
809
+ Specifies the explicit maximum lifetime of the lease and service principal generated using this role. If not set or set to 0, will use the system default (10 years). Requires Vault 1.18+.
810
+ """
811
+ return pulumi.get(self, "explicit_max_ttl")
812
+
813
+ @_builtins.property
814
+ @pulumi.getter(name="maxTtl")
815
+ def max_ttl(self) -> pulumi.Output[Optional[_builtins.str]]:
816
+ """
817
+ Specifies the maximum TTL for service principals generated using this role. Accepts time
818
+ suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine max TTL time.
819
+ """
820
+ return pulumi.get(self, "max_ttl")
821
+
822
+ @_builtins.property
823
+ @pulumi.getter
824
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
825
+ """
826
+ The namespace to provision the resource in.
827
+ The value should not contain leading or trailing forward slashes.
828
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
829
+ *Available only for Vault Enterprise*.
830
+ """
831
+ return pulumi.get(self, "namespace")
832
+
833
+ @_builtins.property
834
+ @pulumi.getter(name="permanentlyDelete")
835
+ def permanently_delete(self) -> pulumi.Output[_builtins.bool]:
836
+ """
837
+ Indicates whether the applications and service principals created by Vault will be permanently
838
+ deleted when the corresponding leases expire. Defaults to `false`. For Vault v1.12+.
839
+ """
840
+ return pulumi.get(self, "permanently_delete")
841
+
842
+ @_builtins.property
843
+ @pulumi.getter(name="persistApp")
844
+ def persist_app(self) -> pulumi.Output[Optional[_builtins.bool]]:
845
+ """
846
+ If set to true, persists the created service principal and application for the lifetime of the role
847
+ """
848
+ return pulumi.get(self, "persist_app")
849
+
850
+ @_builtins.property
851
+ @pulumi.getter
852
+ def role(self) -> pulumi.Output[_builtins.str]:
853
+ """
854
+ Name of the Azure role
855
+ """
856
+ return pulumi.get(self, "role")
857
+
858
+ @_builtins.property
859
+ @pulumi.getter(name="signInAudience")
860
+ def sign_in_audience(self) -> pulumi.Output[Optional[_builtins.str]]:
861
+ """
862
+ Specifies the security principal types that are allowed to sign in to the application.
863
+ Valid values are: AzureADMyOrg, AzureADMultipleOrgs, AzureADandPersonalMicrosoftAccount, PersonalMicrosoftAccount. Requires Vault 1.16+.
864
+ """
865
+ return pulumi.get(self, "sign_in_audience")
866
+
867
+ @_builtins.property
868
+ @pulumi.getter
869
+ def tags(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
870
+ """
871
+ A list of Azure tags to attach to an application. Requires Vault 1.16+.
872
+ """
873
+ return pulumi.get(self, "tags")
874
+
875
+ @_builtins.property
876
+ @pulumi.getter
877
+ def ttl(self) -> pulumi.Output[Optional[_builtins.str]]:
878
+ """
879
+ Specifies the default TTL for service principals generated using this role.
880
+ Accepts time suffixed strings ("1h") or an integer number of seconds. Defaults to the system/engine default TTL time.
881
+ """
882
+ return pulumi.get(self, "ttl")
883
+