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,840 @@
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
+
17
+ __all__ = ['SecretBackendRoleArgs', 'SecretBackendRole']
18
+
19
+ @pulumi.input_type
20
+ class SecretBackendRoleArgs:
21
+ def __init__(__self__, *,
22
+ backend: pulumi.Input[_builtins.str],
23
+ creation_statements: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
24
+ db_name: pulumi.Input[_builtins.str],
25
+ credential_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
26
+ credential_type: Optional[pulumi.Input[_builtins.str]] = None,
27
+ default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
28
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
29
+ name: Optional[pulumi.Input[_builtins.str]] = None,
30
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
31
+ renew_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
32
+ revocation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
33
+ rollback_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
34
+ """
35
+ The set of arguments for constructing a SecretBackendRole resource.
36
+ :param pulumi.Input[_builtins.str] backend: The unique name of the Vault mount to configure.
37
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] creation_statements: The database statements to execute when
38
+ creating a user.
39
+ :param pulumi.Input[_builtins.str] db_name: The unique name of the database connection to use for
40
+ the role.
41
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] credential_config: Specifies the configuration
42
+ for the given `credential_type`.
43
+
44
+ The following options are available for each `credential_type` value:
45
+ :param pulumi.Input[_builtins.str] credential_type: Specifies the type of credential that
46
+ will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
47
+ See the plugin's API page for credential types supported by individual databases.
48
+ :param pulumi.Input[_builtins.int] default_ttl: The default number of seconds for leases for this
49
+ role.
50
+ :param pulumi.Input[_builtins.int] max_ttl: The maximum number of seconds for leases for this
51
+ role.
52
+ :param pulumi.Input[_builtins.str] name: A unique name to give the role.
53
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
54
+ The value should not contain leading or trailing forward slashes.
55
+ The `namespace` is always relative to the provider's configured namespace.
56
+ *Available only for Vault Enterprise*.
57
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] renew_statements: The database statements to execute when
58
+ renewing a user.
59
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] revocation_statements: The database statements to execute when
60
+ revoking a user.
61
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] rollback_statements: The database statements to execute when
62
+ rolling back creation due to an error.
63
+ """
64
+ pulumi.set(__self__, "backend", backend)
65
+ pulumi.set(__self__, "creation_statements", creation_statements)
66
+ pulumi.set(__self__, "db_name", db_name)
67
+ if credential_config is not None:
68
+ pulumi.set(__self__, "credential_config", credential_config)
69
+ if credential_type is not None:
70
+ pulumi.set(__self__, "credential_type", credential_type)
71
+ if default_ttl is not None:
72
+ pulumi.set(__self__, "default_ttl", default_ttl)
73
+ if max_ttl is not None:
74
+ pulumi.set(__self__, "max_ttl", max_ttl)
75
+ if name is not None:
76
+ pulumi.set(__self__, "name", name)
77
+ if namespace is not None:
78
+ pulumi.set(__self__, "namespace", namespace)
79
+ if renew_statements is not None:
80
+ pulumi.set(__self__, "renew_statements", renew_statements)
81
+ if revocation_statements is not None:
82
+ pulumi.set(__self__, "revocation_statements", revocation_statements)
83
+ if rollback_statements is not None:
84
+ pulumi.set(__self__, "rollback_statements", rollback_statements)
85
+
86
+ @_builtins.property
87
+ @pulumi.getter
88
+ def backend(self) -> pulumi.Input[_builtins.str]:
89
+ """
90
+ The unique name of the Vault mount to configure.
91
+ """
92
+ return pulumi.get(self, "backend")
93
+
94
+ @backend.setter
95
+ def backend(self, value: pulumi.Input[_builtins.str]):
96
+ pulumi.set(self, "backend", value)
97
+
98
+ @_builtins.property
99
+ @pulumi.getter(name="creationStatements")
100
+ def creation_statements(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
101
+ """
102
+ The database statements to execute when
103
+ creating a user.
104
+ """
105
+ return pulumi.get(self, "creation_statements")
106
+
107
+ @creation_statements.setter
108
+ def creation_statements(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
109
+ pulumi.set(self, "creation_statements", value)
110
+
111
+ @_builtins.property
112
+ @pulumi.getter(name="dbName")
113
+ def db_name(self) -> pulumi.Input[_builtins.str]:
114
+ """
115
+ The unique name of the database connection to use for
116
+ the role.
117
+ """
118
+ return pulumi.get(self, "db_name")
119
+
120
+ @db_name.setter
121
+ def db_name(self, value: pulumi.Input[_builtins.str]):
122
+ pulumi.set(self, "db_name", value)
123
+
124
+ @_builtins.property
125
+ @pulumi.getter(name="credentialConfig")
126
+ def credential_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
127
+ """
128
+ Specifies the configuration
129
+ for the given `credential_type`.
130
+
131
+ The following options are available for each `credential_type` value:
132
+ """
133
+ return pulumi.get(self, "credential_config")
134
+
135
+ @credential_config.setter
136
+ def credential_config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
137
+ pulumi.set(self, "credential_config", value)
138
+
139
+ @_builtins.property
140
+ @pulumi.getter(name="credentialType")
141
+ def credential_type(self) -> Optional[pulumi.Input[_builtins.str]]:
142
+ """
143
+ Specifies the type of credential that
144
+ will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
145
+ See the plugin's API page for credential types supported by individual databases.
146
+ """
147
+ return pulumi.get(self, "credential_type")
148
+
149
+ @credential_type.setter
150
+ def credential_type(self, value: Optional[pulumi.Input[_builtins.str]]):
151
+ pulumi.set(self, "credential_type", value)
152
+
153
+ @_builtins.property
154
+ @pulumi.getter(name="defaultTtl")
155
+ def default_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
156
+ """
157
+ The default number of seconds for leases for this
158
+ role.
159
+ """
160
+ return pulumi.get(self, "default_ttl")
161
+
162
+ @default_ttl.setter
163
+ def default_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
164
+ pulumi.set(self, "default_ttl", value)
165
+
166
+ @_builtins.property
167
+ @pulumi.getter(name="maxTtl")
168
+ def max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
169
+ """
170
+ The maximum number of seconds for leases for this
171
+ role.
172
+ """
173
+ return pulumi.get(self, "max_ttl")
174
+
175
+ @max_ttl.setter
176
+ def max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
177
+ pulumi.set(self, "max_ttl", value)
178
+
179
+ @_builtins.property
180
+ @pulumi.getter
181
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
182
+ """
183
+ A unique name to give the role.
184
+ """
185
+ return pulumi.get(self, "name")
186
+
187
+ @name.setter
188
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
189
+ pulumi.set(self, "name", value)
190
+
191
+ @_builtins.property
192
+ @pulumi.getter
193
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
194
+ """
195
+ The namespace to provision the resource in.
196
+ The value should not contain leading or trailing forward slashes.
197
+ The `namespace` is always relative to the provider's configured namespace.
198
+ *Available only for Vault Enterprise*.
199
+ """
200
+ return pulumi.get(self, "namespace")
201
+
202
+ @namespace.setter
203
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
204
+ pulumi.set(self, "namespace", value)
205
+
206
+ @_builtins.property
207
+ @pulumi.getter(name="renewStatements")
208
+ def renew_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
209
+ """
210
+ The database statements to execute when
211
+ renewing a user.
212
+ """
213
+ return pulumi.get(self, "renew_statements")
214
+
215
+ @renew_statements.setter
216
+ def renew_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
217
+ pulumi.set(self, "renew_statements", value)
218
+
219
+ @_builtins.property
220
+ @pulumi.getter(name="revocationStatements")
221
+ def revocation_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
222
+ """
223
+ The database statements to execute when
224
+ revoking a user.
225
+ """
226
+ return pulumi.get(self, "revocation_statements")
227
+
228
+ @revocation_statements.setter
229
+ def revocation_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
230
+ pulumi.set(self, "revocation_statements", value)
231
+
232
+ @_builtins.property
233
+ @pulumi.getter(name="rollbackStatements")
234
+ def rollback_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
235
+ """
236
+ The database statements to execute when
237
+ rolling back creation due to an error.
238
+ """
239
+ return pulumi.get(self, "rollback_statements")
240
+
241
+ @rollback_statements.setter
242
+ def rollback_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
243
+ pulumi.set(self, "rollback_statements", value)
244
+
245
+
246
+ @pulumi.input_type
247
+ class _SecretBackendRoleState:
248
+ def __init__(__self__, *,
249
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
250
+ creation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
251
+ credential_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
252
+ credential_type: Optional[pulumi.Input[_builtins.str]] = None,
253
+ db_name: Optional[pulumi.Input[_builtins.str]] = None,
254
+ default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
255
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
256
+ name: Optional[pulumi.Input[_builtins.str]] = None,
257
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
258
+ renew_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
259
+ revocation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
260
+ rollback_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
261
+ """
262
+ Input properties used for looking up and filtering SecretBackendRole resources.
263
+ :param pulumi.Input[_builtins.str] backend: The unique name of the Vault mount to configure.
264
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] creation_statements: The database statements to execute when
265
+ creating a user.
266
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] credential_config: Specifies the configuration
267
+ for the given `credential_type`.
268
+
269
+ The following options are available for each `credential_type` value:
270
+ :param pulumi.Input[_builtins.str] credential_type: Specifies the type of credential that
271
+ will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
272
+ See the plugin's API page for credential types supported by individual databases.
273
+ :param pulumi.Input[_builtins.str] db_name: The unique name of the database connection to use for
274
+ the role.
275
+ :param pulumi.Input[_builtins.int] default_ttl: The default number of seconds for leases for this
276
+ role.
277
+ :param pulumi.Input[_builtins.int] max_ttl: The maximum number of seconds for leases for this
278
+ role.
279
+ :param pulumi.Input[_builtins.str] name: A unique name to give the role.
280
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
281
+ The value should not contain leading or trailing forward slashes.
282
+ The `namespace` is always relative to the provider's configured namespace.
283
+ *Available only for Vault Enterprise*.
284
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] renew_statements: The database statements to execute when
285
+ renewing a user.
286
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] revocation_statements: The database statements to execute when
287
+ revoking a user.
288
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] rollback_statements: The database statements to execute when
289
+ rolling back creation due to an error.
290
+ """
291
+ if backend is not None:
292
+ pulumi.set(__self__, "backend", backend)
293
+ if creation_statements is not None:
294
+ pulumi.set(__self__, "creation_statements", creation_statements)
295
+ if credential_config is not None:
296
+ pulumi.set(__self__, "credential_config", credential_config)
297
+ if credential_type is not None:
298
+ pulumi.set(__self__, "credential_type", credential_type)
299
+ if db_name is not None:
300
+ pulumi.set(__self__, "db_name", db_name)
301
+ if default_ttl is not None:
302
+ pulumi.set(__self__, "default_ttl", default_ttl)
303
+ if max_ttl is not None:
304
+ pulumi.set(__self__, "max_ttl", max_ttl)
305
+ if name is not None:
306
+ pulumi.set(__self__, "name", name)
307
+ if namespace is not None:
308
+ pulumi.set(__self__, "namespace", namespace)
309
+ if renew_statements is not None:
310
+ pulumi.set(__self__, "renew_statements", renew_statements)
311
+ if revocation_statements is not None:
312
+ pulumi.set(__self__, "revocation_statements", revocation_statements)
313
+ if rollback_statements is not None:
314
+ pulumi.set(__self__, "rollback_statements", rollback_statements)
315
+
316
+ @_builtins.property
317
+ @pulumi.getter
318
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
319
+ """
320
+ The unique name of the Vault mount to configure.
321
+ """
322
+ return pulumi.get(self, "backend")
323
+
324
+ @backend.setter
325
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
326
+ pulumi.set(self, "backend", value)
327
+
328
+ @_builtins.property
329
+ @pulumi.getter(name="creationStatements")
330
+ def creation_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
331
+ """
332
+ The database statements to execute when
333
+ creating a user.
334
+ """
335
+ return pulumi.get(self, "creation_statements")
336
+
337
+ @creation_statements.setter
338
+ def creation_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
339
+ pulumi.set(self, "creation_statements", value)
340
+
341
+ @_builtins.property
342
+ @pulumi.getter(name="credentialConfig")
343
+ def credential_config(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
344
+ """
345
+ Specifies the configuration
346
+ for the given `credential_type`.
347
+
348
+ The following options are available for each `credential_type` value:
349
+ """
350
+ return pulumi.get(self, "credential_config")
351
+
352
+ @credential_config.setter
353
+ def credential_config(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
354
+ pulumi.set(self, "credential_config", value)
355
+
356
+ @_builtins.property
357
+ @pulumi.getter(name="credentialType")
358
+ def credential_type(self) -> Optional[pulumi.Input[_builtins.str]]:
359
+ """
360
+ Specifies the type of credential that
361
+ will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
362
+ See the plugin's API page for credential types supported by individual databases.
363
+ """
364
+ return pulumi.get(self, "credential_type")
365
+
366
+ @credential_type.setter
367
+ def credential_type(self, value: Optional[pulumi.Input[_builtins.str]]):
368
+ pulumi.set(self, "credential_type", value)
369
+
370
+ @_builtins.property
371
+ @pulumi.getter(name="dbName")
372
+ def db_name(self) -> Optional[pulumi.Input[_builtins.str]]:
373
+ """
374
+ The unique name of the database connection to use for
375
+ the role.
376
+ """
377
+ return pulumi.get(self, "db_name")
378
+
379
+ @db_name.setter
380
+ def db_name(self, value: Optional[pulumi.Input[_builtins.str]]):
381
+ pulumi.set(self, "db_name", value)
382
+
383
+ @_builtins.property
384
+ @pulumi.getter(name="defaultTtl")
385
+ def default_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
386
+ """
387
+ The default number of seconds for leases for this
388
+ role.
389
+ """
390
+ return pulumi.get(self, "default_ttl")
391
+
392
+ @default_ttl.setter
393
+ def default_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
394
+ pulumi.set(self, "default_ttl", value)
395
+
396
+ @_builtins.property
397
+ @pulumi.getter(name="maxTtl")
398
+ def max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
399
+ """
400
+ The maximum number of seconds for leases for this
401
+ role.
402
+ """
403
+ return pulumi.get(self, "max_ttl")
404
+
405
+ @max_ttl.setter
406
+ def max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
407
+ pulumi.set(self, "max_ttl", value)
408
+
409
+ @_builtins.property
410
+ @pulumi.getter
411
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
412
+ """
413
+ A unique name to give the role.
414
+ """
415
+ return pulumi.get(self, "name")
416
+
417
+ @name.setter
418
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
419
+ pulumi.set(self, "name", value)
420
+
421
+ @_builtins.property
422
+ @pulumi.getter
423
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
424
+ """
425
+ The namespace to provision the resource in.
426
+ The value should not contain leading or trailing forward slashes.
427
+ The `namespace` is always relative to the provider's configured namespace.
428
+ *Available only for Vault Enterprise*.
429
+ """
430
+ return pulumi.get(self, "namespace")
431
+
432
+ @namespace.setter
433
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
434
+ pulumi.set(self, "namespace", value)
435
+
436
+ @_builtins.property
437
+ @pulumi.getter(name="renewStatements")
438
+ def renew_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
439
+ """
440
+ The database statements to execute when
441
+ renewing a user.
442
+ """
443
+ return pulumi.get(self, "renew_statements")
444
+
445
+ @renew_statements.setter
446
+ def renew_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
447
+ pulumi.set(self, "renew_statements", value)
448
+
449
+ @_builtins.property
450
+ @pulumi.getter(name="revocationStatements")
451
+ def revocation_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
452
+ """
453
+ The database statements to execute when
454
+ revoking a user.
455
+ """
456
+ return pulumi.get(self, "revocation_statements")
457
+
458
+ @revocation_statements.setter
459
+ def revocation_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
460
+ pulumi.set(self, "revocation_statements", value)
461
+
462
+ @_builtins.property
463
+ @pulumi.getter(name="rollbackStatements")
464
+ def rollback_statements(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
465
+ """
466
+ The database statements to execute when
467
+ rolling back creation due to an error.
468
+ """
469
+ return pulumi.get(self, "rollback_statements")
470
+
471
+ @rollback_statements.setter
472
+ def rollback_statements(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
473
+ pulumi.set(self, "rollback_statements", value)
474
+
475
+
476
+ @pulumi.type_token("vault:database/secretBackendRole:SecretBackendRole")
477
+ class SecretBackendRole(pulumi.CustomResource):
478
+ @overload
479
+ def __init__(__self__,
480
+ resource_name: str,
481
+ opts: Optional[pulumi.ResourceOptions] = None,
482
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
483
+ creation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
484
+ credential_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
485
+ credential_type: Optional[pulumi.Input[_builtins.str]] = None,
486
+ db_name: Optional[pulumi.Input[_builtins.str]] = None,
487
+ default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
488
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
489
+ name: Optional[pulumi.Input[_builtins.str]] = None,
490
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
491
+ renew_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
492
+ revocation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
493
+ rollback_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
494
+ __props__=None):
495
+ """
496
+ ## Example Usage
497
+
498
+ ```python
499
+ import pulumi
500
+ import pulumi_vault as vault
501
+
502
+ db = vault.Mount("db",
503
+ path="postgres",
504
+ type="database")
505
+ postgres = vault.database.SecretBackendConnection("postgres",
506
+ backend=db.path,
507
+ name="postgres",
508
+ allowed_roles=[
509
+ "dev",
510
+ "prod",
511
+ ],
512
+ postgresql={
513
+ "connection_url": "postgres://username:password@host:port/database",
514
+ })
515
+ role = vault.database.SecretBackendRole("role",
516
+ backend=db.path,
517
+ name="dev",
518
+ db_name=postgres.name,
519
+ creation_statements=["CREATE ROLE \\"{{name}}\\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}';"])
520
+ ```
521
+
522
+ ## Import
523
+
524
+ Database secret backend roles can be imported using the `backend`, `/roles/`, and the `name` e.g.
525
+
526
+ ```sh
527
+ $ pulumi import vault:database/secretBackendRole:SecretBackendRole example postgres/roles/my-role
528
+ ```
529
+
530
+ :param str resource_name: The name of the resource.
531
+ :param pulumi.ResourceOptions opts: Options for the resource.
532
+ :param pulumi.Input[_builtins.str] backend: The unique name of the Vault mount to configure.
533
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] creation_statements: The database statements to execute when
534
+ creating a user.
535
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] credential_config: Specifies the configuration
536
+ for the given `credential_type`.
537
+
538
+ The following options are available for each `credential_type` value:
539
+ :param pulumi.Input[_builtins.str] credential_type: Specifies the type of credential that
540
+ will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
541
+ See the plugin's API page for credential types supported by individual databases.
542
+ :param pulumi.Input[_builtins.str] db_name: The unique name of the database connection to use for
543
+ the role.
544
+ :param pulumi.Input[_builtins.int] default_ttl: The default number of seconds for leases for this
545
+ role.
546
+ :param pulumi.Input[_builtins.int] max_ttl: The maximum number of seconds for leases for this
547
+ role.
548
+ :param pulumi.Input[_builtins.str] name: A unique name to give the role.
549
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
550
+ The value should not contain leading or trailing forward slashes.
551
+ The `namespace` is always relative to the provider's configured namespace.
552
+ *Available only for Vault Enterprise*.
553
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] renew_statements: The database statements to execute when
554
+ renewing a user.
555
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] revocation_statements: The database statements to execute when
556
+ revoking a user.
557
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] rollback_statements: The database statements to execute when
558
+ rolling back creation due to an error.
559
+ """
560
+ ...
561
+ @overload
562
+ def __init__(__self__,
563
+ resource_name: str,
564
+ args: SecretBackendRoleArgs,
565
+ opts: Optional[pulumi.ResourceOptions] = None):
566
+ """
567
+ ## Example Usage
568
+
569
+ ```python
570
+ import pulumi
571
+ import pulumi_vault as vault
572
+
573
+ db = vault.Mount("db",
574
+ path="postgres",
575
+ type="database")
576
+ postgres = vault.database.SecretBackendConnection("postgres",
577
+ backend=db.path,
578
+ name="postgres",
579
+ allowed_roles=[
580
+ "dev",
581
+ "prod",
582
+ ],
583
+ postgresql={
584
+ "connection_url": "postgres://username:password@host:port/database",
585
+ })
586
+ role = vault.database.SecretBackendRole("role",
587
+ backend=db.path,
588
+ name="dev",
589
+ db_name=postgres.name,
590
+ creation_statements=["CREATE ROLE \\"{{name}}\\" WITH LOGIN PASSWORD '{{password}}' VALID UNTIL '{{expiration}}';"])
591
+ ```
592
+
593
+ ## Import
594
+
595
+ Database secret backend roles can be imported using the `backend`, `/roles/`, and the `name` e.g.
596
+
597
+ ```sh
598
+ $ pulumi import vault:database/secretBackendRole:SecretBackendRole example postgres/roles/my-role
599
+ ```
600
+
601
+ :param str resource_name: The name of the resource.
602
+ :param SecretBackendRoleArgs args: The arguments to use to populate this resource's properties.
603
+ :param pulumi.ResourceOptions opts: Options for the resource.
604
+ """
605
+ ...
606
+ def __init__(__self__, resource_name: str, *args, **kwargs):
607
+ resource_args, opts = _utilities.get_resource_args_opts(SecretBackendRoleArgs, pulumi.ResourceOptions, *args, **kwargs)
608
+ if resource_args is not None:
609
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
610
+ else:
611
+ __self__._internal_init(resource_name, *args, **kwargs)
612
+
613
+ def _internal_init(__self__,
614
+ resource_name: str,
615
+ opts: Optional[pulumi.ResourceOptions] = None,
616
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
617
+ creation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
618
+ credential_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
619
+ credential_type: Optional[pulumi.Input[_builtins.str]] = None,
620
+ db_name: Optional[pulumi.Input[_builtins.str]] = None,
621
+ default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
622
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
623
+ name: Optional[pulumi.Input[_builtins.str]] = None,
624
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
625
+ renew_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
626
+ revocation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
627
+ rollback_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
628
+ __props__=None):
629
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
630
+ if not isinstance(opts, pulumi.ResourceOptions):
631
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
632
+ if opts.id is None:
633
+ if __props__ is not None:
634
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
635
+ __props__ = SecretBackendRoleArgs.__new__(SecretBackendRoleArgs)
636
+
637
+ if backend is None and not opts.urn:
638
+ raise TypeError("Missing required property 'backend'")
639
+ __props__.__dict__["backend"] = backend
640
+ if creation_statements is None and not opts.urn:
641
+ raise TypeError("Missing required property 'creation_statements'")
642
+ __props__.__dict__["creation_statements"] = creation_statements
643
+ __props__.__dict__["credential_config"] = credential_config
644
+ __props__.__dict__["credential_type"] = credential_type
645
+ if db_name is None and not opts.urn:
646
+ raise TypeError("Missing required property 'db_name'")
647
+ __props__.__dict__["db_name"] = db_name
648
+ __props__.__dict__["default_ttl"] = default_ttl
649
+ __props__.__dict__["max_ttl"] = max_ttl
650
+ __props__.__dict__["name"] = name
651
+ __props__.__dict__["namespace"] = namespace
652
+ __props__.__dict__["renew_statements"] = renew_statements
653
+ __props__.__dict__["revocation_statements"] = revocation_statements
654
+ __props__.__dict__["rollback_statements"] = rollback_statements
655
+ super(SecretBackendRole, __self__).__init__(
656
+ 'vault:database/secretBackendRole:SecretBackendRole',
657
+ resource_name,
658
+ __props__,
659
+ opts)
660
+
661
+ @staticmethod
662
+ def get(resource_name: str,
663
+ id: pulumi.Input[str],
664
+ opts: Optional[pulumi.ResourceOptions] = None,
665
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
666
+ creation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
667
+ credential_config: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
668
+ credential_type: Optional[pulumi.Input[_builtins.str]] = None,
669
+ db_name: Optional[pulumi.Input[_builtins.str]] = None,
670
+ default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
671
+ max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
672
+ name: Optional[pulumi.Input[_builtins.str]] = None,
673
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
674
+ renew_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
675
+ revocation_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
676
+ rollback_statements: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'SecretBackendRole':
677
+ """
678
+ Get an existing SecretBackendRole resource's state with the given name, id, and optional extra
679
+ properties used to qualify the lookup.
680
+
681
+ :param str resource_name: The unique name of the resulting resource.
682
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
683
+ :param pulumi.ResourceOptions opts: Options for the resource.
684
+ :param pulumi.Input[_builtins.str] backend: The unique name of the Vault mount to configure.
685
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] creation_statements: The database statements to execute when
686
+ creating a user.
687
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] credential_config: Specifies the configuration
688
+ for the given `credential_type`.
689
+
690
+ The following options are available for each `credential_type` value:
691
+ :param pulumi.Input[_builtins.str] credential_type: Specifies the type of credential that
692
+ will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
693
+ See the plugin's API page for credential types supported by individual databases.
694
+ :param pulumi.Input[_builtins.str] db_name: The unique name of the database connection to use for
695
+ the role.
696
+ :param pulumi.Input[_builtins.int] default_ttl: The default number of seconds for leases for this
697
+ role.
698
+ :param pulumi.Input[_builtins.int] max_ttl: The maximum number of seconds for leases for this
699
+ role.
700
+ :param pulumi.Input[_builtins.str] name: A unique name to give the role.
701
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
702
+ The value should not contain leading or trailing forward slashes.
703
+ The `namespace` is always relative to the provider's configured namespace.
704
+ *Available only for Vault Enterprise*.
705
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] renew_statements: The database statements to execute when
706
+ renewing a user.
707
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] revocation_statements: The database statements to execute when
708
+ revoking a user.
709
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] rollback_statements: The database statements to execute when
710
+ rolling back creation due to an error.
711
+ """
712
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
713
+
714
+ __props__ = _SecretBackendRoleState.__new__(_SecretBackendRoleState)
715
+
716
+ __props__.__dict__["backend"] = backend
717
+ __props__.__dict__["creation_statements"] = creation_statements
718
+ __props__.__dict__["credential_config"] = credential_config
719
+ __props__.__dict__["credential_type"] = credential_type
720
+ __props__.__dict__["db_name"] = db_name
721
+ __props__.__dict__["default_ttl"] = default_ttl
722
+ __props__.__dict__["max_ttl"] = max_ttl
723
+ __props__.__dict__["name"] = name
724
+ __props__.__dict__["namespace"] = namespace
725
+ __props__.__dict__["renew_statements"] = renew_statements
726
+ __props__.__dict__["revocation_statements"] = revocation_statements
727
+ __props__.__dict__["rollback_statements"] = rollback_statements
728
+ return SecretBackendRole(resource_name, opts=opts, __props__=__props__)
729
+
730
+ @_builtins.property
731
+ @pulumi.getter
732
+ def backend(self) -> pulumi.Output[_builtins.str]:
733
+ """
734
+ The unique name of the Vault mount to configure.
735
+ """
736
+ return pulumi.get(self, "backend")
737
+
738
+ @_builtins.property
739
+ @pulumi.getter(name="creationStatements")
740
+ def creation_statements(self) -> pulumi.Output[Sequence[_builtins.str]]:
741
+ """
742
+ The database statements to execute when
743
+ creating a user.
744
+ """
745
+ return pulumi.get(self, "creation_statements")
746
+
747
+ @_builtins.property
748
+ @pulumi.getter(name="credentialConfig")
749
+ def credential_config(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
750
+ """
751
+ Specifies the configuration
752
+ for the given `credential_type`.
753
+
754
+ The following options are available for each `credential_type` value:
755
+ """
756
+ return pulumi.get(self, "credential_config")
757
+
758
+ @_builtins.property
759
+ @pulumi.getter(name="credentialType")
760
+ def credential_type(self) -> pulumi.Output[_builtins.str]:
761
+ """
762
+ Specifies the type of credential that
763
+ will be generated for the role. Options include: `password`, `rsa_private_key`, `client_certificate`.
764
+ See the plugin's API page for credential types supported by individual databases.
765
+ """
766
+ return pulumi.get(self, "credential_type")
767
+
768
+ @_builtins.property
769
+ @pulumi.getter(name="dbName")
770
+ def db_name(self) -> pulumi.Output[_builtins.str]:
771
+ """
772
+ The unique name of the database connection to use for
773
+ the role.
774
+ """
775
+ return pulumi.get(self, "db_name")
776
+
777
+ @_builtins.property
778
+ @pulumi.getter(name="defaultTtl")
779
+ def default_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
780
+ """
781
+ The default number of seconds for leases for this
782
+ role.
783
+ """
784
+ return pulumi.get(self, "default_ttl")
785
+
786
+ @_builtins.property
787
+ @pulumi.getter(name="maxTtl")
788
+ def max_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
789
+ """
790
+ The maximum number of seconds for leases for this
791
+ role.
792
+ """
793
+ return pulumi.get(self, "max_ttl")
794
+
795
+ @_builtins.property
796
+ @pulumi.getter
797
+ def name(self) -> pulumi.Output[_builtins.str]:
798
+ """
799
+ A unique name to give the role.
800
+ """
801
+ return pulumi.get(self, "name")
802
+
803
+ @_builtins.property
804
+ @pulumi.getter
805
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
806
+ """
807
+ The namespace to provision the resource in.
808
+ The value should not contain leading or trailing forward slashes.
809
+ The `namespace` is always relative to the provider's configured namespace.
810
+ *Available only for Vault Enterprise*.
811
+ """
812
+ return pulumi.get(self, "namespace")
813
+
814
+ @_builtins.property
815
+ @pulumi.getter(name="renewStatements")
816
+ def renew_statements(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
817
+ """
818
+ The database statements to execute when
819
+ renewing a user.
820
+ """
821
+ return pulumi.get(self, "renew_statements")
822
+
823
+ @_builtins.property
824
+ @pulumi.getter(name="revocationStatements")
825
+ def revocation_statements(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
826
+ """
827
+ The database statements to execute when
828
+ revoking a user.
829
+ """
830
+ return pulumi.get(self, "revocation_statements")
831
+
832
+ @_builtins.property
833
+ @pulumi.getter(name="rollbackStatements")
834
+ def rollback_statements(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
835
+ """
836
+ The database statements to execute when
837
+ rolling back creation due to an error.
838
+ """
839
+ return pulumi.get(self, "rollback_statements")
840
+