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,1140 @@
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
+ allowed_kubernetes_namespace_selector: Optional[pulumi.Input[_builtins.str]] = None,
24
+ allowed_kubernetes_namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
25
+ extra_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
26
+ extra_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
27
+ generated_role_rules: Optional[pulumi.Input[_builtins.str]] = None,
28
+ kubernetes_role_name: Optional[pulumi.Input[_builtins.str]] = None,
29
+ kubernetes_role_type: Optional[pulumi.Input[_builtins.str]] = None,
30
+ name: Optional[pulumi.Input[_builtins.str]] = None,
31
+ name_template: Optional[pulumi.Input[_builtins.str]] = None,
32
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
33
+ service_account_name: Optional[pulumi.Input[_builtins.str]] = None,
34
+ token_default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
35
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None):
36
+ """
37
+ The set of arguments for constructing a SecretBackendRole resource.
38
+ :param pulumi.Input[_builtins.str] backend: The path of the Kubernetes Secrets Engine backend mount to create
39
+ the role in.
40
+ :param pulumi.Input[_builtins.str] allowed_kubernetes_namespace_selector: A label selector for Kubernetes namespaces
41
+ in which credentials can be generated. Accepts either a JSON or YAML object. The value should be
42
+ of type [LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta).
43
+ If set with `allowed_kubernetes_namespace`, the conditions are `OR`ed.
44
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_kubernetes_namespaces: The list of Kubernetes namespaces this role
45
+ can generate credentials for. If set to `*` all namespaces are allowed. If set with
46
+ `allowed_kubernetes_namespace_selector`, the conditions are `OR`ed.
47
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] extra_annotations: Additional annotations to apply to all generated
48
+ Kubernetes objects.
49
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] extra_labels: Additional labels to apply to all generated Kubernetes
50
+ objects.
51
+
52
+ This resource also directly accepts all Mount fields.
53
+ :param pulumi.Input[_builtins.str] generated_role_rules: The Role or ClusterRole rules to use when generating
54
+ a role. Accepts either JSON or YAML formatted rules. Mutually exclusive with `service_account_name`
55
+ and `kubernetes_role_name`. If set, the entire chain of Kubernetes objects will be generated
56
+ when credentials are requested.
57
+ :param pulumi.Input[_builtins.str] kubernetes_role_name: The pre-existing Role or ClusterRole to bind a
58
+ generated service account to. Mutually exclusive with `service_account_name` and
59
+ `generated_role_rules`. If set, Kubernetes token, service account, and role
60
+ binding objects will be created when credentials are requested.
61
+ :param pulumi.Input[_builtins.str] kubernetes_role_type: Specifies whether the Kubernetes role is a Role or
62
+ ClusterRole.
63
+ :param pulumi.Input[_builtins.str] name: The name of the role.
64
+ :param pulumi.Input[_builtins.str] name_template: The name template to use when generating service accounts,
65
+ roles and role bindings. If unset, a default template is used.
66
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
67
+ The value should not contain leading or trailing forward slashes.
68
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
69
+ *Available only for Vault Enterprise*.
70
+ :param pulumi.Input[_builtins.str] service_account_name: The pre-existing service account to generate tokens for.
71
+ Mutually exclusive with `kubernetes_role_name` and `generated_role_rules`. If set, only a
72
+ Kubernetes token will be created when credentials are requested.
73
+ :param pulumi.Input[_builtins.int] token_default_ttl: The default TTL for generated Kubernetes tokens in seconds.
74
+ :param pulumi.Input[_builtins.int] token_max_ttl: The maximum TTL for generated Kubernetes tokens in seconds.
75
+ """
76
+ pulumi.set(__self__, "backend", backend)
77
+ if allowed_kubernetes_namespace_selector is not None:
78
+ pulumi.set(__self__, "allowed_kubernetes_namespace_selector", allowed_kubernetes_namespace_selector)
79
+ if allowed_kubernetes_namespaces is not None:
80
+ pulumi.set(__self__, "allowed_kubernetes_namespaces", allowed_kubernetes_namespaces)
81
+ if extra_annotations is not None:
82
+ pulumi.set(__self__, "extra_annotations", extra_annotations)
83
+ if extra_labels is not None:
84
+ pulumi.set(__self__, "extra_labels", extra_labels)
85
+ if generated_role_rules is not None:
86
+ pulumi.set(__self__, "generated_role_rules", generated_role_rules)
87
+ if kubernetes_role_name is not None:
88
+ pulumi.set(__self__, "kubernetes_role_name", kubernetes_role_name)
89
+ if kubernetes_role_type is not None:
90
+ pulumi.set(__self__, "kubernetes_role_type", kubernetes_role_type)
91
+ if name is not None:
92
+ pulumi.set(__self__, "name", name)
93
+ if name_template is not None:
94
+ pulumi.set(__self__, "name_template", name_template)
95
+ if namespace is not None:
96
+ pulumi.set(__self__, "namespace", namespace)
97
+ if service_account_name is not None:
98
+ pulumi.set(__self__, "service_account_name", service_account_name)
99
+ if token_default_ttl is not None:
100
+ pulumi.set(__self__, "token_default_ttl", token_default_ttl)
101
+ if token_max_ttl is not None:
102
+ pulumi.set(__self__, "token_max_ttl", token_max_ttl)
103
+
104
+ @_builtins.property
105
+ @pulumi.getter
106
+ def backend(self) -> pulumi.Input[_builtins.str]:
107
+ """
108
+ The path of the Kubernetes Secrets Engine backend mount to create
109
+ the role in.
110
+ """
111
+ return pulumi.get(self, "backend")
112
+
113
+ @backend.setter
114
+ def backend(self, value: pulumi.Input[_builtins.str]):
115
+ pulumi.set(self, "backend", value)
116
+
117
+ @_builtins.property
118
+ @pulumi.getter(name="allowedKubernetesNamespaceSelector")
119
+ def allowed_kubernetes_namespace_selector(self) -> Optional[pulumi.Input[_builtins.str]]:
120
+ """
121
+ A label selector for Kubernetes namespaces
122
+ in which credentials can be generated. Accepts either a JSON or YAML object. The value should be
123
+ of type [LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta).
124
+ If set with `allowed_kubernetes_namespace`, the conditions are `OR`ed.
125
+ """
126
+ return pulumi.get(self, "allowed_kubernetes_namespace_selector")
127
+
128
+ @allowed_kubernetes_namespace_selector.setter
129
+ def allowed_kubernetes_namespace_selector(self, value: Optional[pulumi.Input[_builtins.str]]):
130
+ pulumi.set(self, "allowed_kubernetes_namespace_selector", value)
131
+
132
+ @_builtins.property
133
+ @pulumi.getter(name="allowedKubernetesNamespaces")
134
+ def allowed_kubernetes_namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
135
+ """
136
+ The list of Kubernetes namespaces this role
137
+ can generate credentials for. If set to `*` all namespaces are allowed. If set with
138
+ `allowed_kubernetes_namespace_selector`, the conditions are `OR`ed.
139
+ """
140
+ return pulumi.get(self, "allowed_kubernetes_namespaces")
141
+
142
+ @allowed_kubernetes_namespaces.setter
143
+ def allowed_kubernetes_namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
144
+ pulumi.set(self, "allowed_kubernetes_namespaces", value)
145
+
146
+ @_builtins.property
147
+ @pulumi.getter(name="extraAnnotations")
148
+ def extra_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
149
+ """
150
+ Additional annotations to apply to all generated
151
+ Kubernetes objects.
152
+ """
153
+ return pulumi.get(self, "extra_annotations")
154
+
155
+ @extra_annotations.setter
156
+ def extra_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
157
+ pulumi.set(self, "extra_annotations", value)
158
+
159
+ @_builtins.property
160
+ @pulumi.getter(name="extraLabels")
161
+ def extra_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
162
+ """
163
+ Additional labels to apply to all generated Kubernetes
164
+ objects.
165
+
166
+ This resource also directly accepts all Mount fields.
167
+ """
168
+ return pulumi.get(self, "extra_labels")
169
+
170
+ @extra_labels.setter
171
+ def extra_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
172
+ pulumi.set(self, "extra_labels", value)
173
+
174
+ @_builtins.property
175
+ @pulumi.getter(name="generatedRoleRules")
176
+ def generated_role_rules(self) -> Optional[pulumi.Input[_builtins.str]]:
177
+ """
178
+ The Role or ClusterRole rules to use when generating
179
+ a role. Accepts either JSON or YAML formatted rules. Mutually exclusive with `service_account_name`
180
+ and `kubernetes_role_name`. If set, the entire chain of Kubernetes objects will be generated
181
+ when credentials are requested.
182
+ """
183
+ return pulumi.get(self, "generated_role_rules")
184
+
185
+ @generated_role_rules.setter
186
+ def generated_role_rules(self, value: Optional[pulumi.Input[_builtins.str]]):
187
+ pulumi.set(self, "generated_role_rules", value)
188
+
189
+ @_builtins.property
190
+ @pulumi.getter(name="kubernetesRoleName")
191
+ def kubernetes_role_name(self) -> Optional[pulumi.Input[_builtins.str]]:
192
+ """
193
+ The pre-existing Role or ClusterRole to bind a
194
+ generated service account to. Mutually exclusive with `service_account_name` and
195
+ `generated_role_rules`. If set, Kubernetes token, service account, and role
196
+ binding objects will be created when credentials are requested.
197
+ """
198
+ return pulumi.get(self, "kubernetes_role_name")
199
+
200
+ @kubernetes_role_name.setter
201
+ def kubernetes_role_name(self, value: Optional[pulumi.Input[_builtins.str]]):
202
+ pulumi.set(self, "kubernetes_role_name", value)
203
+
204
+ @_builtins.property
205
+ @pulumi.getter(name="kubernetesRoleType")
206
+ def kubernetes_role_type(self) -> Optional[pulumi.Input[_builtins.str]]:
207
+ """
208
+ Specifies whether the Kubernetes role is a Role or
209
+ ClusterRole.
210
+ """
211
+ return pulumi.get(self, "kubernetes_role_type")
212
+
213
+ @kubernetes_role_type.setter
214
+ def kubernetes_role_type(self, value: Optional[pulumi.Input[_builtins.str]]):
215
+ pulumi.set(self, "kubernetes_role_type", value)
216
+
217
+ @_builtins.property
218
+ @pulumi.getter
219
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
220
+ """
221
+ The name of the role.
222
+ """
223
+ return pulumi.get(self, "name")
224
+
225
+ @name.setter
226
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
227
+ pulumi.set(self, "name", value)
228
+
229
+ @_builtins.property
230
+ @pulumi.getter(name="nameTemplate")
231
+ def name_template(self) -> Optional[pulumi.Input[_builtins.str]]:
232
+ """
233
+ The name template to use when generating service accounts,
234
+ roles and role bindings. If unset, a default template is used.
235
+ """
236
+ return pulumi.get(self, "name_template")
237
+
238
+ @name_template.setter
239
+ def name_template(self, value: Optional[pulumi.Input[_builtins.str]]):
240
+ pulumi.set(self, "name_template", value)
241
+
242
+ @_builtins.property
243
+ @pulumi.getter
244
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
245
+ """
246
+ The namespace to provision the resource in.
247
+ The value should not contain leading or trailing forward slashes.
248
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
249
+ *Available only for Vault Enterprise*.
250
+ """
251
+ return pulumi.get(self, "namespace")
252
+
253
+ @namespace.setter
254
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
255
+ pulumi.set(self, "namespace", value)
256
+
257
+ @_builtins.property
258
+ @pulumi.getter(name="serviceAccountName")
259
+ def service_account_name(self) -> Optional[pulumi.Input[_builtins.str]]:
260
+ """
261
+ The pre-existing service account to generate tokens for.
262
+ Mutually exclusive with `kubernetes_role_name` and `generated_role_rules`. If set, only a
263
+ Kubernetes token will be created when credentials are requested.
264
+ """
265
+ return pulumi.get(self, "service_account_name")
266
+
267
+ @service_account_name.setter
268
+ def service_account_name(self, value: Optional[pulumi.Input[_builtins.str]]):
269
+ pulumi.set(self, "service_account_name", value)
270
+
271
+ @_builtins.property
272
+ @pulumi.getter(name="tokenDefaultTtl")
273
+ def token_default_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
274
+ """
275
+ The default TTL for generated Kubernetes tokens in seconds.
276
+ """
277
+ return pulumi.get(self, "token_default_ttl")
278
+
279
+ @token_default_ttl.setter
280
+ def token_default_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
281
+ pulumi.set(self, "token_default_ttl", value)
282
+
283
+ @_builtins.property
284
+ @pulumi.getter(name="tokenMaxTtl")
285
+ def token_max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
286
+ """
287
+ The maximum TTL for generated Kubernetes tokens in seconds.
288
+ """
289
+ return pulumi.get(self, "token_max_ttl")
290
+
291
+ @token_max_ttl.setter
292
+ def token_max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
293
+ pulumi.set(self, "token_max_ttl", value)
294
+
295
+
296
+ @pulumi.input_type
297
+ class _SecretBackendRoleState:
298
+ def __init__(__self__, *,
299
+ allowed_kubernetes_namespace_selector: Optional[pulumi.Input[_builtins.str]] = None,
300
+ allowed_kubernetes_namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
301
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
302
+ extra_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
303
+ extra_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
304
+ generated_role_rules: Optional[pulumi.Input[_builtins.str]] = None,
305
+ kubernetes_role_name: Optional[pulumi.Input[_builtins.str]] = None,
306
+ kubernetes_role_type: Optional[pulumi.Input[_builtins.str]] = None,
307
+ name: Optional[pulumi.Input[_builtins.str]] = None,
308
+ name_template: Optional[pulumi.Input[_builtins.str]] = None,
309
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
310
+ service_account_name: Optional[pulumi.Input[_builtins.str]] = None,
311
+ token_default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
312
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None):
313
+ """
314
+ Input properties used for looking up and filtering SecretBackendRole resources.
315
+ :param pulumi.Input[_builtins.str] allowed_kubernetes_namespace_selector: A label selector for Kubernetes namespaces
316
+ in which credentials can be generated. Accepts either a JSON or YAML object. The value should be
317
+ of type [LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta).
318
+ If set with `allowed_kubernetes_namespace`, the conditions are `OR`ed.
319
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_kubernetes_namespaces: The list of Kubernetes namespaces this role
320
+ can generate credentials for. If set to `*` all namespaces are allowed. If set with
321
+ `allowed_kubernetes_namespace_selector`, the conditions are `OR`ed.
322
+ :param pulumi.Input[_builtins.str] backend: The path of the Kubernetes Secrets Engine backend mount to create
323
+ the role in.
324
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] extra_annotations: Additional annotations to apply to all generated
325
+ Kubernetes objects.
326
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] extra_labels: Additional labels to apply to all generated Kubernetes
327
+ objects.
328
+
329
+ This resource also directly accepts all Mount fields.
330
+ :param pulumi.Input[_builtins.str] generated_role_rules: The Role or ClusterRole rules to use when generating
331
+ a role. Accepts either JSON or YAML formatted rules. Mutually exclusive with `service_account_name`
332
+ and `kubernetes_role_name`. If set, the entire chain of Kubernetes objects will be generated
333
+ when credentials are requested.
334
+ :param pulumi.Input[_builtins.str] kubernetes_role_name: The pre-existing Role or ClusterRole to bind a
335
+ generated service account to. Mutually exclusive with `service_account_name` and
336
+ `generated_role_rules`. If set, Kubernetes token, service account, and role
337
+ binding objects will be created when credentials are requested.
338
+ :param pulumi.Input[_builtins.str] kubernetes_role_type: Specifies whether the Kubernetes role is a Role or
339
+ ClusterRole.
340
+ :param pulumi.Input[_builtins.str] name: The name of the role.
341
+ :param pulumi.Input[_builtins.str] name_template: The name template to use when generating service accounts,
342
+ roles and role bindings. If unset, a default template is used.
343
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
344
+ The value should not contain leading or trailing forward slashes.
345
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
346
+ *Available only for Vault Enterprise*.
347
+ :param pulumi.Input[_builtins.str] service_account_name: The pre-existing service account to generate tokens for.
348
+ Mutually exclusive with `kubernetes_role_name` and `generated_role_rules`. If set, only a
349
+ Kubernetes token will be created when credentials are requested.
350
+ :param pulumi.Input[_builtins.int] token_default_ttl: The default TTL for generated Kubernetes tokens in seconds.
351
+ :param pulumi.Input[_builtins.int] token_max_ttl: The maximum TTL for generated Kubernetes tokens in seconds.
352
+ """
353
+ if allowed_kubernetes_namespace_selector is not None:
354
+ pulumi.set(__self__, "allowed_kubernetes_namespace_selector", allowed_kubernetes_namespace_selector)
355
+ if allowed_kubernetes_namespaces is not None:
356
+ pulumi.set(__self__, "allowed_kubernetes_namespaces", allowed_kubernetes_namespaces)
357
+ if backend is not None:
358
+ pulumi.set(__self__, "backend", backend)
359
+ if extra_annotations is not None:
360
+ pulumi.set(__self__, "extra_annotations", extra_annotations)
361
+ if extra_labels is not None:
362
+ pulumi.set(__self__, "extra_labels", extra_labels)
363
+ if generated_role_rules is not None:
364
+ pulumi.set(__self__, "generated_role_rules", generated_role_rules)
365
+ if kubernetes_role_name is not None:
366
+ pulumi.set(__self__, "kubernetes_role_name", kubernetes_role_name)
367
+ if kubernetes_role_type is not None:
368
+ pulumi.set(__self__, "kubernetes_role_type", kubernetes_role_type)
369
+ if name is not None:
370
+ pulumi.set(__self__, "name", name)
371
+ if name_template is not None:
372
+ pulumi.set(__self__, "name_template", name_template)
373
+ if namespace is not None:
374
+ pulumi.set(__self__, "namespace", namespace)
375
+ if service_account_name is not None:
376
+ pulumi.set(__self__, "service_account_name", service_account_name)
377
+ if token_default_ttl is not None:
378
+ pulumi.set(__self__, "token_default_ttl", token_default_ttl)
379
+ if token_max_ttl is not None:
380
+ pulumi.set(__self__, "token_max_ttl", token_max_ttl)
381
+
382
+ @_builtins.property
383
+ @pulumi.getter(name="allowedKubernetesNamespaceSelector")
384
+ def allowed_kubernetes_namespace_selector(self) -> Optional[pulumi.Input[_builtins.str]]:
385
+ """
386
+ A label selector for Kubernetes namespaces
387
+ in which credentials can be generated. Accepts either a JSON or YAML object. The value should be
388
+ of type [LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta).
389
+ If set with `allowed_kubernetes_namespace`, the conditions are `OR`ed.
390
+ """
391
+ return pulumi.get(self, "allowed_kubernetes_namespace_selector")
392
+
393
+ @allowed_kubernetes_namespace_selector.setter
394
+ def allowed_kubernetes_namespace_selector(self, value: Optional[pulumi.Input[_builtins.str]]):
395
+ pulumi.set(self, "allowed_kubernetes_namespace_selector", value)
396
+
397
+ @_builtins.property
398
+ @pulumi.getter(name="allowedKubernetesNamespaces")
399
+ def allowed_kubernetes_namespaces(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
400
+ """
401
+ The list of Kubernetes namespaces this role
402
+ can generate credentials for. If set to `*` all namespaces are allowed. If set with
403
+ `allowed_kubernetes_namespace_selector`, the conditions are `OR`ed.
404
+ """
405
+ return pulumi.get(self, "allowed_kubernetes_namespaces")
406
+
407
+ @allowed_kubernetes_namespaces.setter
408
+ def allowed_kubernetes_namespaces(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
409
+ pulumi.set(self, "allowed_kubernetes_namespaces", value)
410
+
411
+ @_builtins.property
412
+ @pulumi.getter
413
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
414
+ """
415
+ The path of the Kubernetes Secrets Engine backend mount to create
416
+ the role in.
417
+ """
418
+ return pulumi.get(self, "backend")
419
+
420
+ @backend.setter
421
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
422
+ pulumi.set(self, "backend", value)
423
+
424
+ @_builtins.property
425
+ @pulumi.getter(name="extraAnnotations")
426
+ def extra_annotations(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
427
+ """
428
+ Additional annotations to apply to all generated
429
+ Kubernetes objects.
430
+ """
431
+ return pulumi.get(self, "extra_annotations")
432
+
433
+ @extra_annotations.setter
434
+ def extra_annotations(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
435
+ pulumi.set(self, "extra_annotations", value)
436
+
437
+ @_builtins.property
438
+ @pulumi.getter(name="extraLabels")
439
+ def extra_labels(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
440
+ """
441
+ Additional labels to apply to all generated Kubernetes
442
+ objects.
443
+
444
+ This resource also directly accepts all Mount fields.
445
+ """
446
+ return pulumi.get(self, "extra_labels")
447
+
448
+ @extra_labels.setter
449
+ def extra_labels(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
450
+ pulumi.set(self, "extra_labels", value)
451
+
452
+ @_builtins.property
453
+ @pulumi.getter(name="generatedRoleRules")
454
+ def generated_role_rules(self) -> Optional[pulumi.Input[_builtins.str]]:
455
+ """
456
+ The Role or ClusterRole rules to use when generating
457
+ a role. Accepts either JSON or YAML formatted rules. Mutually exclusive with `service_account_name`
458
+ and `kubernetes_role_name`. If set, the entire chain of Kubernetes objects will be generated
459
+ when credentials are requested.
460
+ """
461
+ return pulumi.get(self, "generated_role_rules")
462
+
463
+ @generated_role_rules.setter
464
+ def generated_role_rules(self, value: Optional[pulumi.Input[_builtins.str]]):
465
+ pulumi.set(self, "generated_role_rules", value)
466
+
467
+ @_builtins.property
468
+ @pulumi.getter(name="kubernetesRoleName")
469
+ def kubernetes_role_name(self) -> Optional[pulumi.Input[_builtins.str]]:
470
+ """
471
+ The pre-existing Role or ClusterRole to bind a
472
+ generated service account to. Mutually exclusive with `service_account_name` and
473
+ `generated_role_rules`. If set, Kubernetes token, service account, and role
474
+ binding objects will be created when credentials are requested.
475
+ """
476
+ return pulumi.get(self, "kubernetes_role_name")
477
+
478
+ @kubernetes_role_name.setter
479
+ def kubernetes_role_name(self, value: Optional[pulumi.Input[_builtins.str]]):
480
+ pulumi.set(self, "kubernetes_role_name", value)
481
+
482
+ @_builtins.property
483
+ @pulumi.getter(name="kubernetesRoleType")
484
+ def kubernetes_role_type(self) -> Optional[pulumi.Input[_builtins.str]]:
485
+ """
486
+ Specifies whether the Kubernetes role is a Role or
487
+ ClusterRole.
488
+ """
489
+ return pulumi.get(self, "kubernetes_role_type")
490
+
491
+ @kubernetes_role_type.setter
492
+ def kubernetes_role_type(self, value: Optional[pulumi.Input[_builtins.str]]):
493
+ pulumi.set(self, "kubernetes_role_type", value)
494
+
495
+ @_builtins.property
496
+ @pulumi.getter
497
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
498
+ """
499
+ The name of the role.
500
+ """
501
+ return pulumi.get(self, "name")
502
+
503
+ @name.setter
504
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
505
+ pulumi.set(self, "name", value)
506
+
507
+ @_builtins.property
508
+ @pulumi.getter(name="nameTemplate")
509
+ def name_template(self) -> Optional[pulumi.Input[_builtins.str]]:
510
+ """
511
+ The name template to use when generating service accounts,
512
+ roles and role bindings. If unset, a default template is used.
513
+ """
514
+ return pulumi.get(self, "name_template")
515
+
516
+ @name_template.setter
517
+ def name_template(self, value: Optional[pulumi.Input[_builtins.str]]):
518
+ pulumi.set(self, "name_template", value)
519
+
520
+ @_builtins.property
521
+ @pulumi.getter
522
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
523
+ """
524
+ The namespace to provision the resource in.
525
+ The value should not contain leading or trailing forward slashes.
526
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
527
+ *Available only for Vault Enterprise*.
528
+ """
529
+ return pulumi.get(self, "namespace")
530
+
531
+ @namespace.setter
532
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
533
+ pulumi.set(self, "namespace", value)
534
+
535
+ @_builtins.property
536
+ @pulumi.getter(name="serviceAccountName")
537
+ def service_account_name(self) -> Optional[pulumi.Input[_builtins.str]]:
538
+ """
539
+ The pre-existing service account to generate tokens for.
540
+ Mutually exclusive with `kubernetes_role_name` and `generated_role_rules`. If set, only a
541
+ Kubernetes token will be created when credentials are requested.
542
+ """
543
+ return pulumi.get(self, "service_account_name")
544
+
545
+ @service_account_name.setter
546
+ def service_account_name(self, value: Optional[pulumi.Input[_builtins.str]]):
547
+ pulumi.set(self, "service_account_name", value)
548
+
549
+ @_builtins.property
550
+ @pulumi.getter(name="tokenDefaultTtl")
551
+ def token_default_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
552
+ """
553
+ The default TTL for generated Kubernetes tokens in seconds.
554
+ """
555
+ return pulumi.get(self, "token_default_ttl")
556
+
557
+ @token_default_ttl.setter
558
+ def token_default_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
559
+ pulumi.set(self, "token_default_ttl", value)
560
+
561
+ @_builtins.property
562
+ @pulumi.getter(name="tokenMaxTtl")
563
+ def token_max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
564
+ """
565
+ The maximum TTL for generated Kubernetes tokens in seconds.
566
+ """
567
+ return pulumi.get(self, "token_max_ttl")
568
+
569
+ @token_max_ttl.setter
570
+ def token_max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
571
+ pulumi.set(self, "token_max_ttl", value)
572
+
573
+
574
+ @pulumi.type_token("vault:kubernetes/secretBackendRole:SecretBackendRole")
575
+ class SecretBackendRole(pulumi.CustomResource):
576
+ @overload
577
+ def __init__(__self__,
578
+ resource_name: str,
579
+ opts: Optional[pulumi.ResourceOptions] = None,
580
+ allowed_kubernetes_namespace_selector: Optional[pulumi.Input[_builtins.str]] = None,
581
+ allowed_kubernetes_namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
582
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
583
+ extra_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
584
+ extra_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
585
+ generated_role_rules: Optional[pulumi.Input[_builtins.str]] = None,
586
+ kubernetes_role_name: Optional[pulumi.Input[_builtins.str]] = None,
587
+ kubernetes_role_type: Optional[pulumi.Input[_builtins.str]] = None,
588
+ name: Optional[pulumi.Input[_builtins.str]] = None,
589
+ name_template: Optional[pulumi.Input[_builtins.str]] = None,
590
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
591
+ service_account_name: Optional[pulumi.Input[_builtins.str]] = None,
592
+ token_default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
593
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
594
+ __props__=None):
595
+ """
596
+ ## Example Usage
597
+
598
+ Example using `service_account_name` mode:
599
+
600
+ ```python
601
+ import pulumi
602
+ import pulumi_std as std
603
+ import pulumi_vault as vault
604
+
605
+ config = vault.kubernetes.SecretBackend("config",
606
+ path="kubernetes",
607
+ description="kubernetes secrets engine description",
608
+ kubernetes_host="https://127.0.0.1:61233",
609
+ kubernetes_ca_cert=std.file(input="/path/to/cert").result,
610
+ service_account_jwt=std.file(input="/path/to/token").result,
611
+ disable_local_ca_jwt=False)
612
+ sa_example = vault.kubernetes.SecretBackendRole("sa-example",
613
+ backend=config.path,
614
+ name="service-account-name-role",
615
+ allowed_kubernetes_namespaces=["*"],
616
+ token_max_ttl=43200,
617
+ token_default_ttl=21600,
618
+ service_account_name="test-service-account-with-generated-token",
619
+ extra_labels={
620
+ "id": "abc123",
621
+ "name": "some_name",
622
+ },
623
+ extra_annotations={
624
+ "env": "development",
625
+ "location": "earth",
626
+ })
627
+ ```
628
+
629
+ Example using `kubernetes_role_name` mode:
630
+
631
+ ```python
632
+ import pulumi
633
+ import pulumi_std as std
634
+ import pulumi_vault as vault
635
+
636
+ config = vault.kubernetes.SecretBackend("config",
637
+ path="kubernetes",
638
+ description="kubernetes secrets engine description",
639
+ kubernetes_host="https://127.0.0.1:61233",
640
+ kubernetes_ca_cert=std.file(input="/path/to/cert").result,
641
+ service_account_jwt=std.file(input="/path/to/token").result,
642
+ disable_local_ca_jwt=False)
643
+ name_example = vault.kubernetes.SecretBackendRole("name-example",
644
+ backend=config.path,
645
+ name="service-account-name-role",
646
+ allowed_kubernetes_namespaces=["*"],
647
+ token_max_ttl=43200,
648
+ token_default_ttl=21600,
649
+ kubernetes_role_name="vault-k8s-secrets-role",
650
+ extra_labels={
651
+ "id": "abc123",
652
+ "name": "some_name",
653
+ },
654
+ extra_annotations={
655
+ "env": "development",
656
+ "location": "earth",
657
+ })
658
+ ```
659
+
660
+ Example using `generated_role_rules` mode:
661
+
662
+ ```python
663
+ import pulumi
664
+ import pulumi_std as std
665
+ import pulumi_vault as vault
666
+
667
+ config = vault.kubernetes.SecretBackend("config",
668
+ path="kubernetes",
669
+ description="kubernetes secrets engine description",
670
+ kubernetes_host="https://127.0.0.1:61233",
671
+ kubernetes_ca_cert=std.file(input="/path/to/cert").result,
672
+ service_account_jwt=std.file(input="/path/to/token").result,
673
+ disable_local_ca_jwt=False)
674
+ rules_example = vault.kubernetes.SecretBackendRole("rules-example",
675
+ backend=config.path,
676
+ name="service-account-name-role",
677
+ allowed_kubernetes_namespaces=["*"],
678
+ token_max_ttl=43200,
679
+ token_default_ttl=21600,
680
+ kubernetes_role_type="Role",
681
+ generated_role_rules=\"\"\"rules:
682
+ - apiGroups: [\\"\\"]
683
+ resources: [\\"pods\\"]
684
+ verbs: [\\"list\\"]
685
+ \"\"\",
686
+ extra_labels={
687
+ "id": "abc123",
688
+ "name": "some_name",
689
+ },
690
+ extra_annotations={
691
+ "env": "development",
692
+ "location": "earth",
693
+ })
694
+ ```
695
+
696
+ ## Import
697
+
698
+ The Kubernetes secret backend role can be imported using the full path to the role
699
+
700
+ of the form: `<backend_path>/roles/<role_name>` e.g.
701
+
702
+ ```sh
703
+ $ pulumi import vault:kubernetes/secretBackendRole:SecretBackendRole example kubernetes kubernetes/roles/example-role
704
+ ```
705
+
706
+ :param str resource_name: The name of the resource.
707
+ :param pulumi.ResourceOptions opts: Options for the resource.
708
+ :param pulumi.Input[_builtins.str] allowed_kubernetes_namespace_selector: A label selector for Kubernetes namespaces
709
+ in which credentials can be generated. Accepts either a JSON or YAML object. The value should be
710
+ of type [LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta).
711
+ If set with `allowed_kubernetes_namespace`, the conditions are `OR`ed.
712
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_kubernetes_namespaces: The list of Kubernetes namespaces this role
713
+ can generate credentials for. If set to `*` all namespaces are allowed. If set with
714
+ `allowed_kubernetes_namespace_selector`, the conditions are `OR`ed.
715
+ :param pulumi.Input[_builtins.str] backend: The path of the Kubernetes Secrets Engine backend mount to create
716
+ the role in.
717
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] extra_annotations: Additional annotations to apply to all generated
718
+ Kubernetes objects.
719
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] extra_labels: Additional labels to apply to all generated Kubernetes
720
+ objects.
721
+
722
+ This resource also directly accepts all Mount fields.
723
+ :param pulumi.Input[_builtins.str] generated_role_rules: The Role or ClusterRole rules to use when generating
724
+ a role. Accepts either JSON or YAML formatted rules. Mutually exclusive with `service_account_name`
725
+ and `kubernetes_role_name`. If set, the entire chain of Kubernetes objects will be generated
726
+ when credentials are requested.
727
+ :param pulumi.Input[_builtins.str] kubernetes_role_name: The pre-existing Role or ClusterRole to bind a
728
+ generated service account to. Mutually exclusive with `service_account_name` and
729
+ `generated_role_rules`. If set, Kubernetes token, service account, and role
730
+ binding objects will be created when credentials are requested.
731
+ :param pulumi.Input[_builtins.str] kubernetes_role_type: Specifies whether the Kubernetes role is a Role or
732
+ ClusterRole.
733
+ :param pulumi.Input[_builtins.str] name: The name of the role.
734
+ :param pulumi.Input[_builtins.str] name_template: The name template to use when generating service accounts,
735
+ roles and role bindings. If unset, a default template is used.
736
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
737
+ The value should not contain leading or trailing forward slashes.
738
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
739
+ *Available only for Vault Enterprise*.
740
+ :param pulumi.Input[_builtins.str] service_account_name: The pre-existing service account to generate tokens for.
741
+ Mutually exclusive with `kubernetes_role_name` and `generated_role_rules`. If set, only a
742
+ Kubernetes token will be created when credentials are requested.
743
+ :param pulumi.Input[_builtins.int] token_default_ttl: The default TTL for generated Kubernetes tokens in seconds.
744
+ :param pulumi.Input[_builtins.int] token_max_ttl: The maximum TTL for generated Kubernetes tokens in seconds.
745
+ """
746
+ ...
747
+ @overload
748
+ def __init__(__self__,
749
+ resource_name: str,
750
+ args: SecretBackendRoleArgs,
751
+ opts: Optional[pulumi.ResourceOptions] = None):
752
+ """
753
+ ## Example Usage
754
+
755
+ Example using `service_account_name` mode:
756
+
757
+ ```python
758
+ import pulumi
759
+ import pulumi_std as std
760
+ import pulumi_vault as vault
761
+
762
+ config = vault.kubernetes.SecretBackend("config",
763
+ path="kubernetes",
764
+ description="kubernetes secrets engine description",
765
+ kubernetes_host="https://127.0.0.1:61233",
766
+ kubernetes_ca_cert=std.file(input="/path/to/cert").result,
767
+ service_account_jwt=std.file(input="/path/to/token").result,
768
+ disable_local_ca_jwt=False)
769
+ sa_example = vault.kubernetes.SecretBackendRole("sa-example",
770
+ backend=config.path,
771
+ name="service-account-name-role",
772
+ allowed_kubernetes_namespaces=["*"],
773
+ token_max_ttl=43200,
774
+ token_default_ttl=21600,
775
+ service_account_name="test-service-account-with-generated-token",
776
+ extra_labels={
777
+ "id": "abc123",
778
+ "name": "some_name",
779
+ },
780
+ extra_annotations={
781
+ "env": "development",
782
+ "location": "earth",
783
+ })
784
+ ```
785
+
786
+ Example using `kubernetes_role_name` mode:
787
+
788
+ ```python
789
+ import pulumi
790
+ import pulumi_std as std
791
+ import pulumi_vault as vault
792
+
793
+ config = vault.kubernetes.SecretBackend("config",
794
+ path="kubernetes",
795
+ description="kubernetes secrets engine description",
796
+ kubernetes_host="https://127.0.0.1:61233",
797
+ kubernetes_ca_cert=std.file(input="/path/to/cert").result,
798
+ service_account_jwt=std.file(input="/path/to/token").result,
799
+ disable_local_ca_jwt=False)
800
+ name_example = vault.kubernetes.SecretBackendRole("name-example",
801
+ backend=config.path,
802
+ name="service-account-name-role",
803
+ allowed_kubernetes_namespaces=["*"],
804
+ token_max_ttl=43200,
805
+ token_default_ttl=21600,
806
+ kubernetes_role_name="vault-k8s-secrets-role",
807
+ extra_labels={
808
+ "id": "abc123",
809
+ "name": "some_name",
810
+ },
811
+ extra_annotations={
812
+ "env": "development",
813
+ "location": "earth",
814
+ })
815
+ ```
816
+
817
+ Example using `generated_role_rules` mode:
818
+
819
+ ```python
820
+ import pulumi
821
+ import pulumi_std as std
822
+ import pulumi_vault as vault
823
+
824
+ config = vault.kubernetes.SecretBackend("config",
825
+ path="kubernetes",
826
+ description="kubernetes secrets engine description",
827
+ kubernetes_host="https://127.0.0.1:61233",
828
+ kubernetes_ca_cert=std.file(input="/path/to/cert").result,
829
+ service_account_jwt=std.file(input="/path/to/token").result,
830
+ disable_local_ca_jwt=False)
831
+ rules_example = vault.kubernetes.SecretBackendRole("rules-example",
832
+ backend=config.path,
833
+ name="service-account-name-role",
834
+ allowed_kubernetes_namespaces=["*"],
835
+ token_max_ttl=43200,
836
+ token_default_ttl=21600,
837
+ kubernetes_role_type="Role",
838
+ generated_role_rules=\"\"\"rules:
839
+ - apiGroups: [\\"\\"]
840
+ resources: [\\"pods\\"]
841
+ verbs: [\\"list\\"]
842
+ \"\"\",
843
+ extra_labels={
844
+ "id": "abc123",
845
+ "name": "some_name",
846
+ },
847
+ extra_annotations={
848
+ "env": "development",
849
+ "location": "earth",
850
+ })
851
+ ```
852
+
853
+ ## Import
854
+
855
+ The Kubernetes secret backend role can be imported using the full path to the role
856
+
857
+ of the form: `<backend_path>/roles/<role_name>` e.g.
858
+
859
+ ```sh
860
+ $ pulumi import vault:kubernetes/secretBackendRole:SecretBackendRole example kubernetes kubernetes/roles/example-role
861
+ ```
862
+
863
+ :param str resource_name: The name of the resource.
864
+ :param SecretBackendRoleArgs args: The arguments to use to populate this resource's properties.
865
+ :param pulumi.ResourceOptions opts: Options for the resource.
866
+ """
867
+ ...
868
+ def __init__(__self__, resource_name: str, *args, **kwargs):
869
+ resource_args, opts = _utilities.get_resource_args_opts(SecretBackendRoleArgs, pulumi.ResourceOptions, *args, **kwargs)
870
+ if resource_args is not None:
871
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
872
+ else:
873
+ __self__._internal_init(resource_name, *args, **kwargs)
874
+
875
+ def _internal_init(__self__,
876
+ resource_name: str,
877
+ opts: Optional[pulumi.ResourceOptions] = None,
878
+ allowed_kubernetes_namespace_selector: Optional[pulumi.Input[_builtins.str]] = None,
879
+ allowed_kubernetes_namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
880
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
881
+ extra_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
882
+ extra_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
883
+ generated_role_rules: Optional[pulumi.Input[_builtins.str]] = None,
884
+ kubernetes_role_name: Optional[pulumi.Input[_builtins.str]] = None,
885
+ kubernetes_role_type: Optional[pulumi.Input[_builtins.str]] = None,
886
+ name: Optional[pulumi.Input[_builtins.str]] = None,
887
+ name_template: Optional[pulumi.Input[_builtins.str]] = None,
888
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
889
+ service_account_name: Optional[pulumi.Input[_builtins.str]] = None,
890
+ token_default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
891
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
892
+ __props__=None):
893
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
894
+ if not isinstance(opts, pulumi.ResourceOptions):
895
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
896
+ if opts.id is None:
897
+ if __props__ is not None:
898
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
899
+ __props__ = SecretBackendRoleArgs.__new__(SecretBackendRoleArgs)
900
+
901
+ __props__.__dict__["allowed_kubernetes_namespace_selector"] = allowed_kubernetes_namespace_selector
902
+ __props__.__dict__["allowed_kubernetes_namespaces"] = allowed_kubernetes_namespaces
903
+ if backend is None and not opts.urn:
904
+ raise TypeError("Missing required property 'backend'")
905
+ __props__.__dict__["backend"] = backend
906
+ __props__.__dict__["extra_annotations"] = extra_annotations
907
+ __props__.__dict__["extra_labels"] = extra_labels
908
+ __props__.__dict__["generated_role_rules"] = generated_role_rules
909
+ __props__.__dict__["kubernetes_role_name"] = kubernetes_role_name
910
+ __props__.__dict__["kubernetes_role_type"] = kubernetes_role_type
911
+ __props__.__dict__["name"] = name
912
+ __props__.__dict__["name_template"] = name_template
913
+ __props__.__dict__["namespace"] = namespace
914
+ __props__.__dict__["service_account_name"] = service_account_name
915
+ __props__.__dict__["token_default_ttl"] = token_default_ttl
916
+ __props__.__dict__["token_max_ttl"] = token_max_ttl
917
+ super(SecretBackendRole, __self__).__init__(
918
+ 'vault:kubernetes/secretBackendRole:SecretBackendRole',
919
+ resource_name,
920
+ __props__,
921
+ opts)
922
+
923
+ @staticmethod
924
+ def get(resource_name: str,
925
+ id: pulumi.Input[str],
926
+ opts: Optional[pulumi.ResourceOptions] = None,
927
+ allowed_kubernetes_namespace_selector: Optional[pulumi.Input[_builtins.str]] = None,
928
+ allowed_kubernetes_namespaces: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
929
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
930
+ extra_annotations: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
931
+ extra_labels: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
932
+ generated_role_rules: Optional[pulumi.Input[_builtins.str]] = None,
933
+ kubernetes_role_name: Optional[pulumi.Input[_builtins.str]] = None,
934
+ kubernetes_role_type: Optional[pulumi.Input[_builtins.str]] = None,
935
+ name: Optional[pulumi.Input[_builtins.str]] = None,
936
+ name_template: Optional[pulumi.Input[_builtins.str]] = None,
937
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
938
+ service_account_name: Optional[pulumi.Input[_builtins.str]] = None,
939
+ token_default_ttl: Optional[pulumi.Input[_builtins.int]] = None,
940
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None) -> 'SecretBackendRole':
941
+ """
942
+ Get an existing SecretBackendRole resource's state with the given name, id, and optional extra
943
+ properties used to qualify the lookup.
944
+
945
+ :param str resource_name: The unique name of the resulting resource.
946
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
947
+ :param pulumi.ResourceOptions opts: Options for the resource.
948
+ :param pulumi.Input[_builtins.str] allowed_kubernetes_namespace_selector: A label selector for Kubernetes namespaces
949
+ in which credentials can be generated. Accepts either a JSON or YAML object. The value should be
950
+ of type [LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta).
951
+ If set with `allowed_kubernetes_namespace`, the conditions are `OR`ed.
952
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] allowed_kubernetes_namespaces: The list of Kubernetes namespaces this role
953
+ can generate credentials for. If set to `*` all namespaces are allowed. If set with
954
+ `allowed_kubernetes_namespace_selector`, the conditions are `OR`ed.
955
+ :param pulumi.Input[_builtins.str] backend: The path of the Kubernetes Secrets Engine backend mount to create
956
+ the role in.
957
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] extra_annotations: Additional annotations to apply to all generated
958
+ Kubernetes objects.
959
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] extra_labels: Additional labels to apply to all generated Kubernetes
960
+ objects.
961
+
962
+ This resource also directly accepts all Mount fields.
963
+ :param pulumi.Input[_builtins.str] generated_role_rules: The Role or ClusterRole rules to use when generating
964
+ a role. Accepts either JSON or YAML formatted rules. Mutually exclusive with `service_account_name`
965
+ and `kubernetes_role_name`. If set, the entire chain of Kubernetes objects will be generated
966
+ when credentials are requested.
967
+ :param pulumi.Input[_builtins.str] kubernetes_role_name: The pre-existing Role or ClusterRole to bind a
968
+ generated service account to. Mutually exclusive with `service_account_name` and
969
+ `generated_role_rules`. If set, Kubernetes token, service account, and role
970
+ binding objects will be created when credentials are requested.
971
+ :param pulumi.Input[_builtins.str] kubernetes_role_type: Specifies whether the Kubernetes role is a Role or
972
+ ClusterRole.
973
+ :param pulumi.Input[_builtins.str] name: The name of the role.
974
+ :param pulumi.Input[_builtins.str] name_template: The name template to use when generating service accounts,
975
+ roles and role bindings. If unset, a default template is used.
976
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
977
+ The value should not contain leading or trailing forward slashes.
978
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
979
+ *Available only for Vault Enterprise*.
980
+ :param pulumi.Input[_builtins.str] service_account_name: The pre-existing service account to generate tokens for.
981
+ Mutually exclusive with `kubernetes_role_name` and `generated_role_rules`. If set, only a
982
+ Kubernetes token will be created when credentials are requested.
983
+ :param pulumi.Input[_builtins.int] token_default_ttl: The default TTL for generated Kubernetes tokens in seconds.
984
+ :param pulumi.Input[_builtins.int] token_max_ttl: The maximum TTL for generated Kubernetes tokens in seconds.
985
+ """
986
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
987
+
988
+ __props__ = _SecretBackendRoleState.__new__(_SecretBackendRoleState)
989
+
990
+ __props__.__dict__["allowed_kubernetes_namespace_selector"] = allowed_kubernetes_namespace_selector
991
+ __props__.__dict__["allowed_kubernetes_namespaces"] = allowed_kubernetes_namespaces
992
+ __props__.__dict__["backend"] = backend
993
+ __props__.__dict__["extra_annotations"] = extra_annotations
994
+ __props__.__dict__["extra_labels"] = extra_labels
995
+ __props__.__dict__["generated_role_rules"] = generated_role_rules
996
+ __props__.__dict__["kubernetes_role_name"] = kubernetes_role_name
997
+ __props__.__dict__["kubernetes_role_type"] = kubernetes_role_type
998
+ __props__.__dict__["name"] = name
999
+ __props__.__dict__["name_template"] = name_template
1000
+ __props__.__dict__["namespace"] = namespace
1001
+ __props__.__dict__["service_account_name"] = service_account_name
1002
+ __props__.__dict__["token_default_ttl"] = token_default_ttl
1003
+ __props__.__dict__["token_max_ttl"] = token_max_ttl
1004
+ return SecretBackendRole(resource_name, opts=opts, __props__=__props__)
1005
+
1006
+ @_builtins.property
1007
+ @pulumi.getter(name="allowedKubernetesNamespaceSelector")
1008
+ def allowed_kubernetes_namespace_selector(self) -> pulumi.Output[Optional[_builtins.str]]:
1009
+ """
1010
+ A label selector for Kubernetes namespaces
1011
+ in which credentials can be generated. Accepts either a JSON or YAML object. The value should be
1012
+ of type [LabelSelector](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.24/#labelselector-v1-meta).
1013
+ If set with `allowed_kubernetes_namespace`, the conditions are `OR`ed.
1014
+ """
1015
+ return pulumi.get(self, "allowed_kubernetes_namespace_selector")
1016
+
1017
+ @_builtins.property
1018
+ @pulumi.getter(name="allowedKubernetesNamespaces")
1019
+ def allowed_kubernetes_namespaces(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1020
+ """
1021
+ The list of Kubernetes namespaces this role
1022
+ can generate credentials for. If set to `*` all namespaces are allowed. If set with
1023
+ `allowed_kubernetes_namespace_selector`, the conditions are `OR`ed.
1024
+ """
1025
+ return pulumi.get(self, "allowed_kubernetes_namespaces")
1026
+
1027
+ @_builtins.property
1028
+ @pulumi.getter
1029
+ def backend(self) -> pulumi.Output[_builtins.str]:
1030
+ """
1031
+ The path of the Kubernetes Secrets Engine backend mount to create
1032
+ the role in.
1033
+ """
1034
+ return pulumi.get(self, "backend")
1035
+
1036
+ @_builtins.property
1037
+ @pulumi.getter(name="extraAnnotations")
1038
+ def extra_annotations(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
1039
+ """
1040
+ Additional annotations to apply to all generated
1041
+ Kubernetes objects.
1042
+ """
1043
+ return pulumi.get(self, "extra_annotations")
1044
+
1045
+ @_builtins.property
1046
+ @pulumi.getter(name="extraLabels")
1047
+ def extra_labels(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
1048
+ """
1049
+ Additional labels to apply to all generated Kubernetes
1050
+ objects.
1051
+
1052
+ This resource also directly accepts all Mount fields.
1053
+ """
1054
+ return pulumi.get(self, "extra_labels")
1055
+
1056
+ @_builtins.property
1057
+ @pulumi.getter(name="generatedRoleRules")
1058
+ def generated_role_rules(self) -> pulumi.Output[Optional[_builtins.str]]:
1059
+ """
1060
+ The Role or ClusterRole rules to use when generating
1061
+ a role. Accepts either JSON or YAML formatted rules. Mutually exclusive with `service_account_name`
1062
+ and `kubernetes_role_name`. If set, the entire chain of Kubernetes objects will be generated
1063
+ when credentials are requested.
1064
+ """
1065
+ return pulumi.get(self, "generated_role_rules")
1066
+
1067
+ @_builtins.property
1068
+ @pulumi.getter(name="kubernetesRoleName")
1069
+ def kubernetes_role_name(self) -> pulumi.Output[Optional[_builtins.str]]:
1070
+ """
1071
+ The pre-existing Role or ClusterRole to bind a
1072
+ generated service account to. Mutually exclusive with `service_account_name` and
1073
+ `generated_role_rules`. If set, Kubernetes token, service account, and role
1074
+ binding objects will be created when credentials are requested.
1075
+ """
1076
+ return pulumi.get(self, "kubernetes_role_name")
1077
+
1078
+ @_builtins.property
1079
+ @pulumi.getter(name="kubernetesRoleType")
1080
+ def kubernetes_role_type(self) -> pulumi.Output[Optional[_builtins.str]]:
1081
+ """
1082
+ Specifies whether the Kubernetes role is a Role or
1083
+ ClusterRole.
1084
+ """
1085
+ return pulumi.get(self, "kubernetes_role_type")
1086
+
1087
+ @_builtins.property
1088
+ @pulumi.getter
1089
+ def name(self) -> pulumi.Output[_builtins.str]:
1090
+ """
1091
+ The name of the role.
1092
+ """
1093
+ return pulumi.get(self, "name")
1094
+
1095
+ @_builtins.property
1096
+ @pulumi.getter(name="nameTemplate")
1097
+ def name_template(self) -> pulumi.Output[Optional[_builtins.str]]:
1098
+ """
1099
+ The name template to use when generating service accounts,
1100
+ roles and role bindings. If unset, a default template is used.
1101
+ """
1102
+ return pulumi.get(self, "name_template")
1103
+
1104
+ @_builtins.property
1105
+ @pulumi.getter
1106
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
1107
+ """
1108
+ The namespace to provision the resource in.
1109
+ The value should not contain leading or trailing forward slashes.
1110
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1111
+ *Available only for Vault Enterprise*.
1112
+ """
1113
+ return pulumi.get(self, "namespace")
1114
+
1115
+ @_builtins.property
1116
+ @pulumi.getter(name="serviceAccountName")
1117
+ def service_account_name(self) -> pulumi.Output[Optional[_builtins.str]]:
1118
+ """
1119
+ The pre-existing service account to generate tokens for.
1120
+ Mutually exclusive with `kubernetes_role_name` and `generated_role_rules`. If set, only a
1121
+ Kubernetes token will be created when credentials are requested.
1122
+ """
1123
+ return pulumi.get(self, "service_account_name")
1124
+
1125
+ @_builtins.property
1126
+ @pulumi.getter(name="tokenDefaultTtl")
1127
+ def token_default_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
1128
+ """
1129
+ The default TTL for generated Kubernetes tokens in seconds.
1130
+ """
1131
+ return pulumi.get(self, "token_default_ttl")
1132
+
1133
+ @_builtins.property
1134
+ @pulumi.getter(name="tokenMaxTtl")
1135
+ def token_max_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
1136
+ """
1137
+ The maximum TTL for generated Kubernetes tokens in seconds.
1138
+ """
1139
+ return pulumi.get(self, "token_max_ttl")
1140
+