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,554 @@
1
+ # coding=utf-8
2
+ # *** WARNING: this file was generated by pulumi-language-python. ***
3
+ # *** Do not edit by hand unless you're certain you know what you are doing! ***
4
+
5
+ import builtins as _builtins
6
+ import warnings
7
+ import sys
8
+ import pulumi
9
+ import pulumi.runtime
10
+ from typing import Any, Mapping, Optional, Sequence, Union, overload
11
+ if sys.version_info >= (3, 11):
12
+ from typing import NotRequired, TypedDict, TypeAlias
13
+ else:
14
+ from typing_extensions import NotRequired, TypedDict, TypeAlias
15
+ from .. import _utilities
16
+ from . import outputs
17
+ from ._inputs import *
18
+
19
+ __all__ = ['SecretRolesetArgs', 'SecretRoleset']
20
+
21
+ @pulumi.input_type
22
+ class SecretRolesetArgs:
23
+ def __init__(__self__, *,
24
+ backend: pulumi.Input[_builtins.str],
25
+ bindings: pulumi.Input[Sequence[pulumi.Input['SecretRolesetBindingArgs']]],
26
+ project: pulumi.Input[_builtins.str],
27
+ roleset: pulumi.Input[_builtins.str],
28
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
29
+ secret_type: Optional[pulumi.Input[_builtins.str]] = None,
30
+ token_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
31
+ """
32
+ The set of arguments for constructing a SecretRoleset resource.
33
+ :param pulumi.Input[_builtins.str] backend: Path where the GCP Secrets Engine is mounted
34
+ :param pulumi.Input[Sequence[pulumi.Input['SecretRolesetBindingArgs']]] bindings: Bindings to create for this roleset. This can be specified multiple times for multiple bindings. Structure is documented below.
35
+ :param pulumi.Input[_builtins.str] project: Name of the GCP project that this roleset's service account will belong to.
36
+ :param pulumi.Input[_builtins.str] roleset: Name of the Roleset to create
37
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
38
+ The value should not contain leading or trailing forward slashes.
39
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
40
+ *Available only for Vault Enterprise*.
41
+ :param pulumi.Input[_builtins.str] secret_type: Type of secret generated for this role set. Accepted values: `access_token`, `service_account_key`. Defaults to `access_token`.
42
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_scopes: List of OAuth scopes to assign to `access_token` secrets generated under this role set (`access_token` role sets only).
43
+ """
44
+ pulumi.set(__self__, "backend", backend)
45
+ pulumi.set(__self__, "bindings", bindings)
46
+ pulumi.set(__self__, "project", project)
47
+ pulumi.set(__self__, "roleset", roleset)
48
+ if namespace is not None:
49
+ pulumi.set(__self__, "namespace", namespace)
50
+ if secret_type is not None:
51
+ pulumi.set(__self__, "secret_type", secret_type)
52
+ if token_scopes is not None:
53
+ pulumi.set(__self__, "token_scopes", token_scopes)
54
+
55
+ @_builtins.property
56
+ @pulumi.getter
57
+ def backend(self) -> pulumi.Input[_builtins.str]:
58
+ """
59
+ Path where the GCP Secrets Engine is mounted
60
+ """
61
+ return pulumi.get(self, "backend")
62
+
63
+ @backend.setter
64
+ def backend(self, value: pulumi.Input[_builtins.str]):
65
+ pulumi.set(self, "backend", value)
66
+
67
+ @_builtins.property
68
+ @pulumi.getter
69
+ def bindings(self) -> pulumi.Input[Sequence[pulumi.Input['SecretRolesetBindingArgs']]]:
70
+ """
71
+ Bindings to create for this roleset. This can be specified multiple times for multiple bindings. Structure is documented below.
72
+ """
73
+ return pulumi.get(self, "bindings")
74
+
75
+ @bindings.setter
76
+ def bindings(self, value: pulumi.Input[Sequence[pulumi.Input['SecretRolesetBindingArgs']]]):
77
+ pulumi.set(self, "bindings", value)
78
+
79
+ @_builtins.property
80
+ @pulumi.getter
81
+ def project(self) -> pulumi.Input[_builtins.str]:
82
+ """
83
+ Name of the GCP project that this roleset's service account will belong to.
84
+ """
85
+ return pulumi.get(self, "project")
86
+
87
+ @project.setter
88
+ def project(self, value: pulumi.Input[_builtins.str]):
89
+ pulumi.set(self, "project", value)
90
+
91
+ @_builtins.property
92
+ @pulumi.getter
93
+ def roleset(self) -> pulumi.Input[_builtins.str]:
94
+ """
95
+ Name of the Roleset to create
96
+ """
97
+ return pulumi.get(self, "roleset")
98
+
99
+ @roleset.setter
100
+ def roleset(self, value: pulumi.Input[_builtins.str]):
101
+ pulumi.set(self, "roleset", value)
102
+
103
+ @_builtins.property
104
+ @pulumi.getter
105
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
106
+ """
107
+ The namespace to provision the resource in.
108
+ The value should not contain leading or trailing forward slashes.
109
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
110
+ *Available only for Vault Enterprise*.
111
+ """
112
+ return pulumi.get(self, "namespace")
113
+
114
+ @namespace.setter
115
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
116
+ pulumi.set(self, "namespace", value)
117
+
118
+ @_builtins.property
119
+ @pulumi.getter(name="secretType")
120
+ def secret_type(self) -> Optional[pulumi.Input[_builtins.str]]:
121
+ """
122
+ Type of secret generated for this role set. Accepted values: `access_token`, `service_account_key`. Defaults to `access_token`.
123
+ """
124
+ return pulumi.get(self, "secret_type")
125
+
126
+ @secret_type.setter
127
+ def secret_type(self, value: Optional[pulumi.Input[_builtins.str]]):
128
+ pulumi.set(self, "secret_type", value)
129
+
130
+ @_builtins.property
131
+ @pulumi.getter(name="tokenScopes")
132
+ def token_scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
133
+ """
134
+ List of OAuth scopes to assign to `access_token` secrets generated under this role set (`access_token` role sets only).
135
+ """
136
+ return pulumi.get(self, "token_scopes")
137
+
138
+ @token_scopes.setter
139
+ def token_scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
140
+ pulumi.set(self, "token_scopes", value)
141
+
142
+
143
+ @pulumi.input_type
144
+ class _SecretRolesetState:
145
+ def __init__(__self__, *,
146
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
147
+ bindings: Optional[pulumi.Input[Sequence[pulumi.Input['SecretRolesetBindingArgs']]]] = None,
148
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
149
+ project: Optional[pulumi.Input[_builtins.str]] = None,
150
+ roleset: Optional[pulumi.Input[_builtins.str]] = None,
151
+ secret_type: Optional[pulumi.Input[_builtins.str]] = None,
152
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
153
+ token_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None):
154
+ """
155
+ Input properties used for looking up and filtering SecretRoleset resources.
156
+ :param pulumi.Input[_builtins.str] backend: Path where the GCP Secrets Engine is mounted
157
+ :param pulumi.Input[Sequence[pulumi.Input['SecretRolesetBindingArgs']]] bindings: Bindings to create for this roleset. This can be specified multiple times for multiple bindings. Structure is documented below.
158
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
159
+ The value should not contain leading or trailing forward slashes.
160
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
161
+ *Available only for Vault Enterprise*.
162
+ :param pulumi.Input[_builtins.str] project: Name of the GCP project that this roleset's service account will belong to.
163
+ :param pulumi.Input[_builtins.str] roleset: Name of the Roleset to create
164
+ :param pulumi.Input[_builtins.str] secret_type: Type of secret generated for this role set. Accepted values: `access_token`, `service_account_key`. Defaults to `access_token`.
165
+ :param pulumi.Input[_builtins.str] service_account_email: Email of the service account created by Vault for this Roleset.
166
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_scopes: List of OAuth scopes to assign to `access_token` secrets generated under this role set (`access_token` role sets only).
167
+ """
168
+ if backend is not None:
169
+ pulumi.set(__self__, "backend", backend)
170
+ if bindings is not None:
171
+ pulumi.set(__self__, "bindings", bindings)
172
+ if namespace is not None:
173
+ pulumi.set(__self__, "namespace", namespace)
174
+ if project is not None:
175
+ pulumi.set(__self__, "project", project)
176
+ if roleset is not None:
177
+ pulumi.set(__self__, "roleset", roleset)
178
+ if secret_type is not None:
179
+ pulumi.set(__self__, "secret_type", secret_type)
180
+ if service_account_email is not None:
181
+ pulumi.set(__self__, "service_account_email", service_account_email)
182
+ if token_scopes is not None:
183
+ pulumi.set(__self__, "token_scopes", token_scopes)
184
+
185
+ @_builtins.property
186
+ @pulumi.getter
187
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
188
+ """
189
+ Path where the GCP Secrets Engine is mounted
190
+ """
191
+ return pulumi.get(self, "backend")
192
+
193
+ @backend.setter
194
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
195
+ pulumi.set(self, "backend", value)
196
+
197
+ @_builtins.property
198
+ @pulumi.getter
199
+ def bindings(self) -> Optional[pulumi.Input[Sequence[pulumi.Input['SecretRolesetBindingArgs']]]]:
200
+ """
201
+ Bindings to create for this roleset. This can be specified multiple times for multiple bindings. Structure is documented below.
202
+ """
203
+ return pulumi.get(self, "bindings")
204
+
205
+ @bindings.setter
206
+ def bindings(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['SecretRolesetBindingArgs']]]]):
207
+ pulumi.set(self, "bindings", value)
208
+
209
+ @_builtins.property
210
+ @pulumi.getter
211
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
212
+ """
213
+ The namespace to provision the resource in.
214
+ The value should not contain leading or trailing forward slashes.
215
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
216
+ *Available only for Vault Enterprise*.
217
+ """
218
+ return pulumi.get(self, "namespace")
219
+
220
+ @namespace.setter
221
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
222
+ pulumi.set(self, "namespace", value)
223
+
224
+ @_builtins.property
225
+ @pulumi.getter
226
+ def project(self) -> Optional[pulumi.Input[_builtins.str]]:
227
+ """
228
+ Name of the GCP project that this roleset's service account will belong to.
229
+ """
230
+ return pulumi.get(self, "project")
231
+
232
+ @project.setter
233
+ def project(self, value: Optional[pulumi.Input[_builtins.str]]):
234
+ pulumi.set(self, "project", value)
235
+
236
+ @_builtins.property
237
+ @pulumi.getter
238
+ def roleset(self) -> Optional[pulumi.Input[_builtins.str]]:
239
+ """
240
+ Name of the Roleset to create
241
+ """
242
+ return pulumi.get(self, "roleset")
243
+
244
+ @roleset.setter
245
+ def roleset(self, value: Optional[pulumi.Input[_builtins.str]]):
246
+ pulumi.set(self, "roleset", value)
247
+
248
+ @_builtins.property
249
+ @pulumi.getter(name="secretType")
250
+ def secret_type(self) -> Optional[pulumi.Input[_builtins.str]]:
251
+ """
252
+ Type of secret generated for this role set. Accepted values: `access_token`, `service_account_key`. Defaults to `access_token`.
253
+ """
254
+ return pulumi.get(self, "secret_type")
255
+
256
+ @secret_type.setter
257
+ def secret_type(self, value: Optional[pulumi.Input[_builtins.str]]):
258
+ pulumi.set(self, "secret_type", value)
259
+
260
+ @_builtins.property
261
+ @pulumi.getter(name="serviceAccountEmail")
262
+ def service_account_email(self) -> Optional[pulumi.Input[_builtins.str]]:
263
+ """
264
+ Email of the service account created by Vault for this Roleset.
265
+ """
266
+ return pulumi.get(self, "service_account_email")
267
+
268
+ @service_account_email.setter
269
+ def service_account_email(self, value: Optional[pulumi.Input[_builtins.str]]):
270
+ pulumi.set(self, "service_account_email", value)
271
+
272
+ @_builtins.property
273
+ @pulumi.getter(name="tokenScopes")
274
+ def token_scopes(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
275
+ """
276
+ List of OAuth scopes to assign to `access_token` secrets generated under this role set (`access_token` role sets only).
277
+ """
278
+ return pulumi.get(self, "token_scopes")
279
+
280
+ @token_scopes.setter
281
+ def token_scopes(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
282
+ pulumi.set(self, "token_scopes", value)
283
+
284
+
285
+ @pulumi.type_token("vault:gcp/secretRoleset:SecretRoleset")
286
+ class SecretRoleset(pulumi.CustomResource):
287
+ @overload
288
+ def __init__(__self__,
289
+ resource_name: str,
290
+ opts: Optional[pulumi.ResourceOptions] = None,
291
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
292
+ bindings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecretRolesetBindingArgs', 'SecretRolesetBindingArgsDict']]]]] = None,
293
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
294
+ project: Optional[pulumi.Input[_builtins.str]] = None,
295
+ roleset: Optional[pulumi.Input[_builtins.str]] = None,
296
+ secret_type: Optional[pulumi.Input[_builtins.str]] = None,
297
+ token_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
298
+ __props__=None):
299
+ """
300
+ Creates a Roleset in the [GCP Secrets Engine](https://www.vaultproject.io/docs/secrets/gcp/index.html) for Vault.
301
+
302
+ Each Roleset is [tied](https://www.vaultproject.io/docs/secrets/gcp/index.html#service-accounts-are-tied-to-rolesets) to a Service Account, and can have one or more [bindings](https://www.vaultproject.io/docs/secrets/gcp/index.html#roleset-bindings) associated with it.
303
+
304
+ ## Example Usage
305
+
306
+ ```python
307
+ import pulumi
308
+ import pulumi_std as std
309
+ import pulumi_vault as vault
310
+
311
+ project = "my-awesome-project"
312
+ gcp = vault.gcp.SecretBackend("gcp",
313
+ path="gcp",
314
+ credentials=std.file(input="credentials.json").result)
315
+ roleset = vault.gcp.SecretRoleset("roleset",
316
+ backend=gcp.path,
317
+ roleset="project_viewer",
318
+ secret_type="access_token",
319
+ project=project,
320
+ token_scopes=["https://www.googleapis.com/auth/cloud-platform"],
321
+ bindings=[{
322
+ "resource": f"//cloudresourcemanager.googleapis.com/projects/{project}",
323
+ "roles": ["roles/viewer"],
324
+ }])
325
+ ```
326
+
327
+ ## Import
328
+
329
+ A roleset can be imported using its Vault Path. For example, referencing the example above,
330
+
331
+ ```sh
332
+ $ pulumi import vault:gcp/secretRoleset:SecretRoleset roleset gcp/roleset/project_viewer
333
+ ```
334
+
335
+ :param str resource_name: The name of the resource.
336
+ :param pulumi.ResourceOptions opts: Options for the resource.
337
+ :param pulumi.Input[_builtins.str] backend: Path where the GCP Secrets Engine is mounted
338
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SecretRolesetBindingArgs', 'SecretRolesetBindingArgsDict']]]] bindings: Bindings to create for this roleset. This can be specified multiple times for multiple bindings. Structure is documented below.
339
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
340
+ The value should not contain leading or trailing forward slashes.
341
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
342
+ *Available only for Vault Enterprise*.
343
+ :param pulumi.Input[_builtins.str] project: Name of the GCP project that this roleset's service account will belong to.
344
+ :param pulumi.Input[_builtins.str] roleset: Name of the Roleset to create
345
+ :param pulumi.Input[_builtins.str] secret_type: Type of secret generated for this role set. Accepted values: `access_token`, `service_account_key`. Defaults to `access_token`.
346
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_scopes: List of OAuth scopes to assign to `access_token` secrets generated under this role set (`access_token` role sets only).
347
+ """
348
+ ...
349
+ @overload
350
+ def __init__(__self__,
351
+ resource_name: str,
352
+ args: SecretRolesetArgs,
353
+ opts: Optional[pulumi.ResourceOptions] = None):
354
+ """
355
+ Creates a Roleset in the [GCP Secrets Engine](https://www.vaultproject.io/docs/secrets/gcp/index.html) for Vault.
356
+
357
+ Each Roleset is [tied](https://www.vaultproject.io/docs/secrets/gcp/index.html#service-accounts-are-tied-to-rolesets) to a Service Account, and can have one or more [bindings](https://www.vaultproject.io/docs/secrets/gcp/index.html#roleset-bindings) associated with it.
358
+
359
+ ## Example Usage
360
+
361
+ ```python
362
+ import pulumi
363
+ import pulumi_std as std
364
+ import pulumi_vault as vault
365
+
366
+ project = "my-awesome-project"
367
+ gcp = vault.gcp.SecretBackend("gcp",
368
+ path="gcp",
369
+ credentials=std.file(input="credentials.json").result)
370
+ roleset = vault.gcp.SecretRoleset("roleset",
371
+ backend=gcp.path,
372
+ roleset="project_viewer",
373
+ secret_type="access_token",
374
+ project=project,
375
+ token_scopes=["https://www.googleapis.com/auth/cloud-platform"],
376
+ bindings=[{
377
+ "resource": f"//cloudresourcemanager.googleapis.com/projects/{project}",
378
+ "roles": ["roles/viewer"],
379
+ }])
380
+ ```
381
+
382
+ ## Import
383
+
384
+ A roleset can be imported using its Vault Path. For example, referencing the example above,
385
+
386
+ ```sh
387
+ $ pulumi import vault:gcp/secretRoleset:SecretRoleset roleset gcp/roleset/project_viewer
388
+ ```
389
+
390
+ :param str resource_name: The name of the resource.
391
+ :param SecretRolesetArgs args: The arguments to use to populate this resource's properties.
392
+ :param pulumi.ResourceOptions opts: Options for the resource.
393
+ """
394
+ ...
395
+ def __init__(__self__, resource_name: str, *args, **kwargs):
396
+ resource_args, opts = _utilities.get_resource_args_opts(SecretRolesetArgs, pulumi.ResourceOptions, *args, **kwargs)
397
+ if resource_args is not None:
398
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
399
+ else:
400
+ __self__._internal_init(resource_name, *args, **kwargs)
401
+
402
+ def _internal_init(__self__,
403
+ resource_name: str,
404
+ opts: Optional[pulumi.ResourceOptions] = None,
405
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
406
+ bindings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecretRolesetBindingArgs', 'SecretRolesetBindingArgsDict']]]]] = None,
407
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
408
+ project: Optional[pulumi.Input[_builtins.str]] = None,
409
+ roleset: Optional[pulumi.Input[_builtins.str]] = None,
410
+ secret_type: Optional[pulumi.Input[_builtins.str]] = None,
411
+ token_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
412
+ __props__=None):
413
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
414
+ if not isinstance(opts, pulumi.ResourceOptions):
415
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
416
+ if opts.id is None:
417
+ if __props__ is not None:
418
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
419
+ __props__ = SecretRolesetArgs.__new__(SecretRolesetArgs)
420
+
421
+ if backend is None and not opts.urn:
422
+ raise TypeError("Missing required property 'backend'")
423
+ __props__.__dict__["backend"] = backend
424
+ if bindings is None and not opts.urn:
425
+ raise TypeError("Missing required property 'bindings'")
426
+ __props__.__dict__["bindings"] = bindings
427
+ __props__.__dict__["namespace"] = namespace
428
+ if project is None and not opts.urn:
429
+ raise TypeError("Missing required property 'project'")
430
+ __props__.__dict__["project"] = project
431
+ if roleset is None and not opts.urn:
432
+ raise TypeError("Missing required property 'roleset'")
433
+ __props__.__dict__["roleset"] = roleset
434
+ __props__.__dict__["secret_type"] = secret_type
435
+ __props__.__dict__["token_scopes"] = token_scopes
436
+ __props__.__dict__["service_account_email"] = None
437
+ super(SecretRoleset, __self__).__init__(
438
+ 'vault:gcp/secretRoleset:SecretRoleset',
439
+ resource_name,
440
+ __props__,
441
+ opts)
442
+
443
+ @staticmethod
444
+ def get(resource_name: str,
445
+ id: pulumi.Input[str],
446
+ opts: Optional[pulumi.ResourceOptions] = None,
447
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
448
+ bindings: Optional[pulumi.Input[Sequence[pulumi.Input[Union['SecretRolesetBindingArgs', 'SecretRolesetBindingArgsDict']]]]] = None,
449
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
450
+ project: Optional[pulumi.Input[_builtins.str]] = None,
451
+ roleset: Optional[pulumi.Input[_builtins.str]] = None,
452
+ secret_type: Optional[pulumi.Input[_builtins.str]] = None,
453
+ service_account_email: Optional[pulumi.Input[_builtins.str]] = None,
454
+ token_scopes: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None) -> 'SecretRoleset':
455
+ """
456
+ Get an existing SecretRoleset resource's state with the given name, id, and optional extra
457
+ properties used to qualify the lookup.
458
+
459
+ :param str resource_name: The unique name of the resulting resource.
460
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
461
+ :param pulumi.ResourceOptions opts: Options for the resource.
462
+ :param pulumi.Input[_builtins.str] backend: Path where the GCP Secrets Engine is mounted
463
+ :param pulumi.Input[Sequence[pulumi.Input[Union['SecretRolesetBindingArgs', 'SecretRolesetBindingArgsDict']]]] bindings: Bindings to create for this roleset. This can be specified multiple times for multiple bindings. Structure is documented below.
464
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
465
+ The value should not contain leading or trailing forward slashes.
466
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
467
+ *Available only for Vault Enterprise*.
468
+ :param pulumi.Input[_builtins.str] project: Name of the GCP project that this roleset's service account will belong to.
469
+ :param pulumi.Input[_builtins.str] roleset: Name of the Roleset to create
470
+ :param pulumi.Input[_builtins.str] secret_type: Type of secret generated for this role set. Accepted values: `access_token`, `service_account_key`. Defaults to `access_token`.
471
+ :param pulumi.Input[_builtins.str] service_account_email: Email of the service account created by Vault for this Roleset.
472
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_scopes: List of OAuth scopes to assign to `access_token` secrets generated under this role set (`access_token` role sets only).
473
+ """
474
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
475
+
476
+ __props__ = _SecretRolesetState.__new__(_SecretRolesetState)
477
+
478
+ __props__.__dict__["backend"] = backend
479
+ __props__.__dict__["bindings"] = bindings
480
+ __props__.__dict__["namespace"] = namespace
481
+ __props__.__dict__["project"] = project
482
+ __props__.__dict__["roleset"] = roleset
483
+ __props__.__dict__["secret_type"] = secret_type
484
+ __props__.__dict__["service_account_email"] = service_account_email
485
+ __props__.__dict__["token_scopes"] = token_scopes
486
+ return SecretRoleset(resource_name, opts=opts, __props__=__props__)
487
+
488
+ @_builtins.property
489
+ @pulumi.getter
490
+ def backend(self) -> pulumi.Output[_builtins.str]:
491
+ """
492
+ Path where the GCP Secrets Engine is mounted
493
+ """
494
+ return pulumi.get(self, "backend")
495
+
496
+ @_builtins.property
497
+ @pulumi.getter
498
+ def bindings(self) -> pulumi.Output[Sequence['outputs.SecretRolesetBinding']]:
499
+ """
500
+ Bindings to create for this roleset. This can be specified multiple times for multiple bindings. Structure is documented below.
501
+ """
502
+ return pulumi.get(self, "bindings")
503
+
504
+ @_builtins.property
505
+ @pulumi.getter
506
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
507
+ """
508
+ The namespace to provision the resource in.
509
+ The value should not contain leading or trailing forward slashes.
510
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
511
+ *Available only for Vault Enterprise*.
512
+ """
513
+ return pulumi.get(self, "namespace")
514
+
515
+ @_builtins.property
516
+ @pulumi.getter
517
+ def project(self) -> pulumi.Output[_builtins.str]:
518
+ """
519
+ Name of the GCP project that this roleset's service account will belong to.
520
+ """
521
+ return pulumi.get(self, "project")
522
+
523
+ @_builtins.property
524
+ @pulumi.getter
525
+ def roleset(self) -> pulumi.Output[_builtins.str]:
526
+ """
527
+ Name of the Roleset to create
528
+ """
529
+ return pulumi.get(self, "roleset")
530
+
531
+ @_builtins.property
532
+ @pulumi.getter(name="secretType")
533
+ def secret_type(self) -> pulumi.Output[_builtins.str]:
534
+ """
535
+ Type of secret generated for this role set. Accepted values: `access_token`, `service_account_key`. Defaults to `access_token`.
536
+ """
537
+ return pulumi.get(self, "secret_type")
538
+
539
+ @_builtins.property
540
+ @pulumi.getter(name="serviceAccountEmail")
541
+ def service_account_email(self) -> pulumi.Output[_builtins.str]:
542
+ """
543
+ Email of the service account created by Vault for this Roleset.
544
+ """
545
+ return pulumi.get(self, "service_account_email")
546
+
547
+ @_builtins.property
548
+ @pulumi.getter(name="tokenScopes")
549
+ def token_scopes(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
550
+ """
551
+ List of OAuth scopes to assign to `access_token` secrets generated under this role set (`access_token` role sets only).
552
+ """
553
+ return pulumi.get(self, "token_scopes")
554
+