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