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,726 @@
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__ = ['SecretRoleArgs', 'SecretRole']
18
+
19
+ @pulumi.input_type
20
+ class SecretRoleArgs:
21
+ def __init__(__self__, *,
22
+ mount: pulumi.Input[_builtins.str],
23
+ roles: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]],
24
+ cidr_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
25
+ ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
26
+ max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
27
+ name: Optional[pulumi.Input[_builtins.str]] = None,
28
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
29
+ organization_id: Optional[pulumi.Input[_builtins.str]] = None,
30
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
31
+ project_roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
32
+ ttl: Optional[pulumi.Input[_builtins.str]] = None):
33
+ """
34
+ The set of arguments for constructing a SecretRole resource.
35
+ :param pulumi.Input[_builtins.str] mount: Path where the MongoDB Atlas Secrets Engine is mounted.
36
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
37
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] cidr_blocks: Whitelist entry in CIDR notation to be added for the API key.
38
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_addresses: IP address to be added to the whitelist for the API key.
39
+ :param pulumi.Input[_builtins.str] max_ttl: The maximum allowed lifetime of credentials issued using this role.
40
+ :param pulumi.Input[_builtins.str] name: The name of the role.
41
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
42
+ The value should not contain leading or trailing forward slashes.
43
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
44
+ *Available only for Vault Enterprise*.
45
+ :param pulumi.Input[_builtins.str] organization_id: Unique identifier for the organization to which the target API Key belongs.
46
+ Required if `project_id` is not set.
47
+ :param pulumi.Input[_builtins.str] project_id: Unique identifier for the project to which the target API Key belongs.
48
+ Required if `organization_id` is not set.
49
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] project_roles: Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
50
+ :param pulumi.Input[_builtins.str] ttl: Duration in seconds after which the issued credential should expire.
51
+ """
52
+ pulumi.set(__self__, "mount", mount)
53
+ pulumi.set(__self__, "roles", roles)
54
+ if cidr_blocks is not None:
55
+ pulumi.set(__self__, "cidr_blocks", cidr_blocks)
56
+ if ip_addresses is not None:
57
+ pulumi.set(__self__, "ip_addresses", ip_addresses)
58
+ if max_ttl is not None:
59
+ pulumi.set(__self__, "max_ttl", max_ttl)
60
+ if name is not None:
61
+ pulumi.set(__self__, "name", name)
62
+ if namespace is not None:
63
+ pulumi.set(__self__, "namespace", namespace)
64
+ if organization_id is not None:
65
+ pulumi.set(__self__, "organization_id", organization_id)
66
+ if project_id is not None:
67
+ pulumi.set(__self__, "project_id", project_id)
68
+ if project_roles is not None:
69
+ pulumi.set(__self__, "project_roles", project_roles)
70
+ if ttl is not None:
71
+ pulumi.set(__self__, "ttl", ttl)
72
+
73
+ @_builtins.property
74
+ @pulumi.getter
75
+ def mount(self) -> pulumi.Input[_builtins.str]:
76
+ """
77
+ Path where the MongoDB Atlas Secrets Engine is mounted.
78
+ """
79
+ return pulumi.get(self, "mount")
80
+
81
+ @mount.setter
82
+ def mount(self, value: pulumi.Input[_builtins.str]):
83
+ pulumi.set(self, "mount", value)
84
+
85
+ @_builtins.property
86
+ @pulumi.getter
87
+ def roles(self) -> pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]:
88
+ """
89
+ List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
90
+ """
91
+ return pulumi.get(self, "roles")
92
+
93
+ @roles.setter
94
+ def roles(self, value: pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]):
95
+ pulumi.set(self, "roles", value)
96
+
97
+ @_builtins.property
98
+ @pulumi.getter(name="cidrBlocks")
99
+ def cidr_blocks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
100
+ """
101
+ Whitelist entry in CIDR notation to be added for the API key.
102
+ """
103
+ return pulumi.get(self, "cidr_blocks")
104
+
105
+ @cidr_blocks.setter
106
+ def cidr_blocks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
107
+ pulumi.set(self, "cidr_blocks", value)
108
+
109
+ @_builtins.property
110
+ @pulumi.getter(name="ipAddresses")
111
+ def ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
112
+ """
113
+ IP address to be added to the whitelist for the API key.
114
+ """
115
+ return pulumi.get(self, "ip_addresses")
116
+
117
+ @ip_addresses.setter
118
+ def ip_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
119
+ pulumi.set(self, "ip_addresses", value)
120
+
121
+ @_builtins.property
122
+ @pulumi.getter(name="maxTtl")
123
+ def max_ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
124
+ """
125
+ The maximum allowed lifetime of credentials issued using this role.
126
+ """
127
+ return pulumi.get(self, "max_ttl")
128
+
129
+ @max_ttl.setter
130
+ def max_ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
131
+ pulumi.set(self, "max_ttl", value)
132
+
133
+ @_builtins.property
134
+ @pulumi.getter
135
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
136
+ """
137
+ The name of the role.
138
+ """
139
+ return pulumi.get(self, "name")
140
+
141
+ @name.setter
142
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
143
+ pulumi.set(self, "name", value)
144
+
145
+ @_builtins.property
146
+ @pulumi.getter
147
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
148
+ """
149
+ The namespace to provision the resource in.
150
+ The value should not contain leading or trailing forward slashes.
151
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
152
+ *Available only for Vault Enterprise*.
153
+ """
154
+ return pulumi.get(self, "namespace")
155
+
156
+ @namespace.setter
157
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
158
+ pulumi.set(self, "namespace", value)
159
+
160
+ @_builtins.property
161
+ @pulumi.getter(name="organizationId")
162
+ def organization_id(self) -> Optional[pulumi.Input[_builtins.str]]:
163
+ """
164
+ Unique identifier for the organization to which the target API Key belongs.
165
+ Required if `project_id` is not set.
166
+ """
167
+ return pulumi.get(self, "organization_id")
168
+
169
+ @organization_id.setter
170
+ def organization_id(self, value: Optional[pulumi.Input[_builtins.str]]):
171
+ pulumi.set(self, "organization_id", value)
172
+
173
+ @_builtins.property
174
+ @pulumi.getter(name="projectId")
175
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
176
+ """
177
+ Unique identifier for the project to which the target API Key belongs.
178
+ Required if `organization_id` is not set.
179
+ """
180
+ return pulumi.get(self, "project_id")
181
+
182
+ @project_id.setter
183
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
184
+ pulumi.set(self, "project_id", value)
185
+
186
+ @_builtins.property
187
+ @pulumi.getter(name="projectRoles")
188
+ def project_roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
189
+ """
190
+ Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
191
+ """
192
+ return pulumi.get(self, "project_roles")
193
+
194
+ @project_roles.setter
195
+ def project_roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
196
+ pulumi.set(self, "project_roles", value)
197
+
198
+ @_builtins.property
199
+ @pulumi.getter
200
+ def ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
201
+ """
202
+ Duration in seconds after which the issued credential should expire.
203
+ """
204
+ return pulumi.get(self, "ttl")
205
+
206
+ @ttl.setter
207
+ def ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
208
+ pulumi.set(self, "ttl", value)
209
+
210
+
211
+ @pulumi.input_type
212
+ class _SecretRoleState:
213
+ def __init__(__self__, *,
214
+ cidr_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
215
+ ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
216
+ max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
217
+ mount: Optional[pulumi.Input[_builtins.str]] = None,
218
+ name: Optional[pulumi.Input[_builtins.str]] = None,
219
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
220
+ organization_id: Optional[pulumi.Input[_builtins.str]] = None,
221
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
222
+ project_roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
223
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
224
+ ttl: Optional[pulumi.Input[_builtins.str]] = None):
225
+ """
226
+ Input properties used for looking up and filtering SecretRole resources.
227
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] cidr_blocks: Whitelist entry in CIDR notation to be added for the API key.
228
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_addresses: IP address to be added to the whitelist for the API key.
229
+ :param pulumi.Input[_builtins.str] max_ttl: The maximum allowed lifetime of credentials issued using this role.
230
+ :param pulumi.Input[_builtins.str] mount: Path where the MongoDB Atlas Secrets Engine is mounted.
231
+ :param pulumi.Input[_builtins.str] name: The name of the role.
232
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
233
+ The value should not contain leading or trailing forward slashes.
234
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
235
+ *Available only for Vault Enterprise*.
236
+ :param pulumi.Input[_builtins.str] organization_id: Unique identifier for the organization to which the target API Key belongs.
237
+ Required if `project_id` is not set.
238
+ :param pulumi.Input[_builtins.str] project_id: Unique identifier for the project to which the target API Key belongs.
239
+ Required if `organization_id` is not set.
240
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] project_roles: Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
241
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
242
+ :param pulumi.Input[_builtins.str] ttl: Duration in seconds after which the issued credential should expire.
243
+ """
244
+ if cidr_blocks is not None:
245
+ pulumi.set(__self__, "cidr_blocks", cidr_blocks)
246
+ if ip_addresses is not None:
247
+ pulumi.set(__self__, "ip_addresses", ip_addresses)
248
+ if max_ttl is not None:
249
+ pulumi.set(__self__, "max_ttl", max_ttl)
250
+ if mount is not None:
251
+ pulumi.set(__self__, "mount", mount)
252
+ if name is not None:
253
+ pulumi.set(__self__, "name", name)
254
+ if namespace is not None:
255
+ pulumi.set(__self__, "namespace", namespace)
256
+ if organization_id is not None:
257
+ pulumi.set(__self__, "organization_id", organization_id)
258
+ if project_id is not None:
259
+ pulumi.set(__self__, "project_id", project_id)
260
+ if project_roles is not None:
261
+ pulumi.set(__self__, "project_roles", project_roles)
262
+ if roles is not None:
263
+ pulumi.set(__self__, "roles", roles)
264
+ if ttl is not None:
265
+ pulumi.set(__self__, "ttl", ttl)
266
+
267
+ @_builtins.property
268
+ @pulumi.getter(name="cidrBlocks")
269
+ def cidr_blocks(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
270
+ """
271
+ Whitelist entry in CIDR notation to be added for the API key.
272
+ """
273
+ return pulumi.get(self, "cidr_blocks")
274
+
275
+ @cidr_blocks.setter
276
+ def cidr_blocks(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
277
+ pulumi.set(self, "cidr_blocks", value)
278
+
279
+ @_builtins.property
280
+ @pulumi.getter(name="ipAddresses")
281
+ def ip_addresses(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
282
+ """
283
+ IP address to be added to the whitelist for the API key.
284
+ """
285
+ return pulumi.get(self, "ip_addresses")
286
+
287
+ @ip_addresses.setter
288
+ def ip_addresses(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
289
+ pulumi.set(self, "ip_addresses", value)
290
+
291
+ @_builtins.property
292
+ @pulumi.getter(name="maxTtl")
293
+ def max_ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
294
+ """
295
+ The maximum allowed lifetime of credentials issued using this role.
296
+ """
297
+ return pulumi.get(self, "max_ttl")
298
+
299
+ @max_ttl.setter
300
+ def max_ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
301
+ pulumi.set(self, "max_ttl", value)
302
+
303
+ @_builtins.property
304
+ @pulumi.getter
305
+ def mount(self) -> Optional[pulumi.Input[_builtins.str]]:
306
+ """
307
+ Path where the MongoDB Atlas Secrets Engine is mounted.
308
+ """
309
+ return pulumi.get(self, "mount")
310
+
311
+ @mount.setter
312
+ def mount(self, value: Optional[pulumi.Input[_builtins.str]]):
313
+ pulumi.set(self, "mount", value)
314
+
315
+ @_builtins.property
316
+ @pulumi.getter
317
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
318
+ """
319
+ The name of the role.
320
+ """
321
+ return pulumi.get(self, "name")
322
+
323
+ @name.setter
324
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
325
+ pulumi.set(self, "name", value)
326
+
327
+ @_builtins.property
328
+ @pulumi.getter
329
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
330
+ """
331
+ The namespace to provision the resource in.
332
+ The value should not contain leading or trailing forward slashes.
333
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
334
+ *Available only for Vault Enterprise*.
335
+ """
336
+ return pulumi.get(self, "namespace")
337
+
338
+ @namespace.setter
339
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
340
+ pulumi.set(self, "namespace", value)
341
+
342
+ @_builtins.property
343
+ @pulumi.getter(name="organizationId")
344
+ def organization_id(self) -> Optional[pulumi.Input[_builtins.str]]:
345
+ """
346
+ Unique identifier for the organization to which the target API Key belongs.
347
+ Required if `project_id` is not set.
348
+ """
349
+ return pulumi.get(self, "organization_id")
350
+
351
+ @organization_id.setter
352
+ def organization_id(self, value: Optional[pulumi.Input[_builtins.str]]):
353
+ pulumi.set(self, "organization_id", value)
354
+
355
+ @_builtins.property
356
+ @pulumi.getter(name="projectId")
357
+ def project_id(self) -> Optional[pulumi.Input[_builtins.str]]:
358
+ """
359
+ Unique identifier for the project to which the target API Key belongs.
360
+ Required if `organization_id` is not set.
361
+ """
362
+ return pulumi.get(self, "project_id")
363
+
364
+ @project_id.setter
365
+ def project_id(self, value: Optional[pulumi.Input[_builtins.str]]):
366
+ pulumi.set(self, "project_id", value)
367
+
368
+ @_builtins.property
369
+ @pulumi.getter(name="projectRoles")
370
+ def project_roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
371
+ """
372
+ Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
373
+ """
374
+ return pulumi.get(self, "project_roles")
375
+
376
+ @project_roles.setter
377
+ def project_roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
378
+ pulumi.set(self, "project_roles", value)
379
+
380
+ @_builtins.property
381
+ @pulumi.getter
382
+ def roles(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
383
+ """
384
+ List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
385
+ """
386
+ return pulumi.get(self, "roles")
387
+
388
+ @roles.setter
389
+ def roles(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
390
+ pulumi.set(self, "roles", value)
391
+
392
+ @_builtins.property
393
+ @pulumi.getter
394
+ def ttl(self) -> Optional[pulumi.Input[_builtins.str]]:
395
+ """
396
+ Duration in seconds after which the issued credential should expire.
397
+ """
398
+ return pulumi.get(self, "ttl")
399
+
400
+ @ttl.setter
401
+ def ttl(self, value: Optional[pulumi.Input[_builtins.str]]):
402
+ pulumi.set(self, "ttl", value)
403
+
404
+
405
+ @pulumi.type_token("vault:mongodbatlas/secretRole:SecretRole")
406
+ class SecretRole(pulumi.CustomResource):
407
+ @overload
408
+ def __init__(__self__,
409
+ resource_name: str,
410
+ opts: Optional[pulumi.ResourceOptions] = None,
411
+ cidr_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
412
+ ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
413
+ max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
414
+ mount: Optional[pulumi.Input[_builtins.str]] = None,
415
+ name: Optional[pulumi.Input[_builtins.str]] = None,
416
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
417
+ organization_id: Optional[pulumi.Input[_builtins.str]] = None,
418
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
419
+ project_roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
420
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
421
+ ttl: Optional[pulumi.Input[_builtins.str]] = None,
422
+ __props__=None):
423
+ """
424
+ ## Example Usage
425
+
426
+ ```python
427
+ import pulumi
428
+ import pulumi_vault as vault
429
+
430
+ mongo = vault.Mount("mongo",
431
+ path="%s",
432
+ type="mongodbatlas",
433
+ description="MongoDB Atlas secret engine mount")
434
+ config = vault.mongodbatlas.SecretBackend("config",
435
+ mount=mongo.path,
436
+ private_key="privateKey",
437
+ public_key="publicKey")
438
+ role = vault.mongodbatlas.SecretRole("role",
439
+ mount=mongo.path,
440
+ name="tf-test-role",
441
+ organization_id="7cf5a45a9ccf6400e60981b7",
442
+ project_id="5cf5a45a9ccf6400e60981b6",
443
+ roles=["ORG_READ_ONLY"],
444
+ ip_addresses="192.168.1.5, 192.168.1.6",
445
+ cidr_blocks="192.168.1.3/35",
446
+ project_roles=["GROUP_READ_ONLY"],
447
+ ttl="60",
448
+ max_ttl="120")
449
+ ```
450
+
451
+ ## Import
452
+
453
+ The MongoDB Atlas secret role can be imported using the full path to the role
454
+ of the form: `<mount_path>/roles/<role_name>` e.g.
455
+
456
+ ```sh
457
+ $ pulumi import vault:mongodbatlas/secretRole:SecretRole example mongodbatlas/roles/example-role
458
+ ```
459
+
460
+ :param str resource_name: The name of the resource.
461
+ :param pulumi.ResourceOptions opts: Options for the resource.
462
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] cidr_blocks: Whitelist entry in CIDR notation to be added for the API key.
463
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_addresses: IP address to be added to the whitelist for the API key.
464
+ :param pulumi.Input[_builtins.str] max_ttl: The maximum allowed lifetime of credentials issued using this role.
465
+ :param pulumi.Input[_builtins.str] mount: Path where the MongoDB Atlas Secrets Engine is mounted.
466
+ :param pulumi.Input[_builtins.str] name: The name of the role.
467
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
468
+ The value should not contain leading or trailing forward slashes.
469
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
470
+ *Available only for Vault Enterprise*.
471
+ :param pulumi.Input[_builtins.str] organization_id: Unique identifier for the organization to which the target API Key belongs.
472
+ Required if `project_id` is not set.
473
+ :param pulumi.Input[_builtins.str] project_id: Unique identifier for the project to which the target API Key belongs.
474
+ Required if `organization_id` is not set.
475
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] project_roles: Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
476
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
477
+ :param pulumi.Input[_builtins.str] ttl: Duration in seconds after which the issued credential should expire.
478
+ """
479
+ ...
480
+ @overload
481
+ def __init__(__self__,
482
+ resource_name: str,
483
+ args: SecretRoleArgs,
484
+ opts: Optional[pulumi.ResourceOptions] = None):
485
+ """
486
+ ## Example Usage
487
+
488
+ ```python
489
+ import pulumi
490
+ import pulumi_vault as vault
491
+
492
+ mongo = vault.Mount("mongo",
493
+ path="%s",
494
+ type="mongodbatlas",
495
+ description="MongoDB Atlas secret engine mount")
496
+ config = vault.mongodbatlas.SecretBackend("config",
497
+ mount=mongo.path,
498
+ private_key="privateKey",
499
+ public_key="publicKey")
500
+ role = vault.mongodbatlas.SecretRole("role",
501
+ mount=mongo.path,
502
+ name="tf-test-role",
503
+ organization_id="7cf5a45a9ccf6400e60981b7",
504
+ project_id="5cf5a45a9ccf6400e60981b6",
505
+ roles=["ORG_READ_ONLY"],
506
+ ip_addresses="192.168.1.5, 192.168.1.6",
507
+ cidr_blocks="192.168.1.3/35",
508
+ project_roles=["GROUP_READ_ONLY"],
509
+ ttl="60",
510
+ max_ttl="120")
511
+ ```
512
+
513
+ ## Import
514
+
515
+ The MongoDB Atlas secret role can be imported using the full path to the role
516
+ of the form: `<mount_path>/roles/<role_name>` e.g.
517
+
518
+ ```sh
519
+ $ pulumi import vault:mongodbatlas/secretRole:SecretRole example mongodbatlas/roles/example-role
520
+ ```
521
+
522
+ :param str resource_name: The name of the resource.
523
+ :param SecretRoleArgs args: The arguments to use to populate this resource's properties.
524
+ :param pulumi.ResourceOptions opts: Options for the resource.
525
+ """
526
+ ...
527
+ def __init__(__self__, resource_name: str, *args, **kwargs):
528
+ resource_args, opts = _utilities.get_resource_args_opts(SecretRoleArgs, pulumi.ResourceOptions, *args, **kwargs)
529
+ if resource_args is not None:
530
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
531
+ else:
532
+ __self__._internal_init(resource_name, *args, **kwargs)
533
+
534
+ def _internal_init(__self__,
535
+ resource_name: str,
536
+ opts: Optional[pulumi.ResourceOptions] = None,
537
+ cidr_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
538
+ ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
539
+ max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
540
+ mount: Optional[pulumi.Input[_builtins.str]] = None,
541
+ name: Optional[pulumi.Input[_builtins.str]] = None,
542
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
543
+ organization_id: Optional[pulumi.Input[_builtins.str]] = None,
544
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
545
+ project_roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
546
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
547
+ ttl: Optional[pulumi.Input[_builtins.str]] = None,
548
+ __props__=None):
549
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
550
+ if not isinstance(opts, pulumi.ResourceOptions):
551
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
552
+ if opts.id is None:
553
+ if __props__ is not None:
554
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
555
+ __props__ = SecretRoleArgs.__new__(SecretRoleArgs)
556
+
557
+ __props__.__dict__["cidr_blocks"] = cidr_blocks
558
+ __props__.__dict__["ip_addresses"] = ip_addresses
559
+ __props__.__dict__["max_ttl"] = max_ttl
560
+ if mount is None and not opts.urn:
561
+ raise TypeError("Missing required property 'mount'")
562
+ __props__.__dict__["mount"] = mount
563
+ __props__.__dict__["name"] = name
564
+ __props__.__dict__["namespace"] = namespace
565
+ __props__.__dict__["organization_id"] = organization_id
566
+ __props__.__dict__["project_id"] = project_id
567
+ __props__.__dict__["project_roles"] = project_roles
568
+ if roles is None and not opts.urn:
569
+ raise TypeError("Missing required property 'roles'")
570
+ __props__.__dict__["roles"] = roles
571
+ __props__.__dict__["ttl"] = ttl
572
+ super(SecretRole, __self__).__init__(
573
+ 'vault:mongodbatlas/secretRole:SecretRole',
574
+ resource_name,
575
+ __props__,
576
+ opts)
577
+
578
+ @staticmethod
579
+ def get(resource_name: str,
580
+ id: pulumi.Input[str],
581
+ opts: Optional[pulumi.ResourceOptions] = None,
582
+ cidr_blocks: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
583
+ ip_addresses: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
584
+ max_ttl: Optional[pulumi.Input[_builtins.str]] = None,
585
+ mount: Optional[pulumi.Input[_builtins.str]] = None,
586
+ name: Optional[pulumi.Input[_builtins.str]] = None,
587
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
588
+ organization_id: Optional[pulumi.Input[_builtins.str]] = None,
589
+ project_id: Optional[pulumi.Input[_builtins.str]] = None,
590
+ project_roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
591
+ roles: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
592
+ ttl: Optional[pulumi.Input[_builtins.str]] = None) -> 'SecretRole':
593
+ """
594
+ Get an existing SecretRole resource's state with the given name, id, and optional extra
595
+ properties used to qualify the lookup.
596
+
597
+ :param str resource_name: The unique name of the resulting resource.
598
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
599
+ :param pulumi.ResourceOptions opts: Options for the resource.
600
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] cidr_blocks: Whitelist entry in CIDR notation to be added for the API key.
601
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] ip_addresses: IP address to be added to the whitelist for the API key.
602
+ :param pulumi.Input[_builtins.str] max_ttl: The maximum allowed lifetime of credentials issued using this role.
603
+ :param pulumi.Input[_builtins.str] mount: Path where the MongoDB Atlas Secrets Engine is mounted.
604
+ :param pulumi.Input[_builtins.str] name: The name of the role.
605
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
606
+ The value should not contain leading or trailing forward slashes.
607
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
608
+ *Available only for Vault Enterprise*.
609
+ :param pulumi.Input[_builtins.str] organization_id: Unique identifier for the organization to which the target API Key belongs.
610
+ Required if `project_id` is not set.
611
+ :param pulumi.Input[_builtins.str] project_id: Unique identifier for the project to which the target API Key belongs.
612
+ Required if `organization_id` is not set.
613
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] project_roles: Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
614
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] roles: List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
615
+ :param pulumi.Input[_builtins.str] ttl: Duration in seconds after which the issued credential should expire.
616
+ """
617
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
618
+
619
+ __props__ = _SecretRoleState.__new__(_SecretRoleState)
620
+
621
+ __props__.__dict__["cidr_blocks"] = cidr_blocks
622
+ __props__.__dict__["ip_addresses"] = ip_addresses
623
+ __props__.__dict__["max_ttl"] = max_ttl
624
+ __props__.__dict__["mount"] = mount
625
+ __props__.__dict__["name"] = name
626
+ __props__.__dict__["namespace"] = namespace
627
+ __props__.__dict__["organization_id"] = organization_id
628
+ __props__.__dict__["project_id"] = project_id
629
+ __props__.__dict__["project_roles"] = project_roles
630
+ __props__.__dict__["roles"] = roles
631
+ __props__.__dict__["ttl"] = ttl
632
+ return SecretRole(resource_name, opts=opts, __props__=__props__)
633
+
634
+ @_builtins.property
635
+ @pulumi.getter(name="cidrBlocks")
636
+ def cidr_blocks(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
637
+ """
638
+ Whitelist entry in CIDR notation to be added for the API key.
639
+ """
640
+ return pulumi.get(self, "cidr_blocks")
641
+
642
+ @_builtins.property
643
+ @pulumi.getter(name="ipAddresses")
644
+ def ip_addresses(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
645
+ """
646
+ IP address to be added to the whitelist for the API key.
647
+ """
648
+ return pulumi.get(self, "ip_addresses")
649
+
650
+ @_builtins.property
651
+ @pulumi.getter(name="maxTtl")
652
+ def max_ttl(self) -> pulumi.Output[Optional[_builtins.str]]:
653
+ """
654
+ The maximum allowed lifetime of credentials issued using this role.
655
+ """
656
+ return pulumi.get(self, "max_ttl")
657
+
658
+ @_builtins.property
659
+ @pulumi.getter
660
+ def mount(self) -> pulumi.Output[_builtins.str]:
661
+ """
662
+ Path where the MongoDB Atlas Secrets Engine is mounted.
663
+ """
664
+ return pulumi.get(self, "mount")
665
+
666
+ @_builtins.property
667
+ @pulumi.getter
668
+ def name(self) -> pulumi.Output[_builtins.str]:
669
+ """
670
+ The name of the role.
671
+ """
672
+ return pulumi.get(self, "name")
673
+
674
+ @_builtins.property
675
+ @pulumi.getter
676
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
677
+ """
678
+ The namespace to provision the resource in.
679
+ The value should not contain leading or trailing forward slashes.
680
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
681
+ *Available only for Vault Enterprise*.
682
+ """
683
+ return pulumi.get(self, "namespace")
684
+
685
+ @_builtins.property
686
+ @pulumi.getter(name="organizationId")
687
+ def organization_id(self) -> pulumi.Output[Optional[_builtins.str]]:
688
+ """
689
+ Unique identifier for the organization to which the target API Key belongs.
690
+ Required if `project_id` is not set.
691
+ """
692
+ return pulumi.get(self, "organization_id")
693
+
694
+ @_builtins.property
695
+ @pulumi.getter(name="projectId")
696
+ def project_id(self) -> pulumi.Output[Optional[_builtins.str]]:
697
+ """
698
+ Unique identifier for the project to which the target API Key belongs.
699
+ Required if `organization_id` is not set.
700
+ """
701
+ return pulumi.get(self, "project_id")
702
+
703
+ @_builtins.property
704
+ @pulumi.getter(name="projectRoles")
705
+ def project_roles(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
706
+ """
707
+ Roles assigned when an org API key is assigned to a project API key. Possible values are `GROUP_CLUSTER_MANAGER`, `GROUP_DATA_ACCESS_ADMIN`, `GROUP_DATA_ACCESS_READ_ONLY`, `GROUP_DATA_ACCESS_READ_WRITE`, `GROUP_OWNER` and `GROUP_READ_ONLY`.
708
+ """
709
+ return pulumi.get(self, "project_roles")
710
+
711
+ @_builtins.property
712
+ @pulumi.getter
713
+ def roles(self) -> pulumi.Output[Sequence[_builtins.str]]:
714
+ """
715
+ List of roles that the API Key needs to have. Possible values are `ORG_OWNER`, `ORG_MEMBER`, `ORG_GROUP_CREATOR`, `ORG_BILLING_ADMIN` and `ORG_READ_ONLY`.
716
+ """
717
+ return pulumi.get(self, "roles")
718
+
719
+ @_builtins.property
720
+ @pulumi.getter
721
+ def ttl(self) -> pulumi.Output[Optional[_builtins.str]]:
722
+ """
723
+ Duration in seconds after which the issued credential should expire.
724
+ """
725
+ return pulumi.get(self, "ttl")
726
+