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,674 @@
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__ = ['MfaDuoArgs', 'MfaDuo']
18
+
19
+ @pulumi.input_type
20
+ class MfaDuoArgs:
21
+ def __init__(__self__, *,
22
+ api_hostname: pulumi.Input[_builtins.str],
23
+ integration_key: pulumi.Input[_builtins.str],
24
+ secret_key: pulumi.Input[_builtins.str],
25
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
26
+ push_info: Optional[pulumi.Input[_builtins.str]] = None,
27
+ use_passcode: Optional[pulumi.Input[_builtins.bool]] = None,
28
+ username_format: Optional[pulumi.Input[_builtins.str]] = None):
29
+ """
30
+ The set of arguments for constructing a MfaDuo resource.
31
+ :param pulumi.Input[_builtins.str] api_hostname: API hostname for Duo
32
+ :param pulumi.Input[_builtins.str] integration_key: Integration key for Duo
33
+ :param pulumi.Input[_builtins.str] secret_key: Secret key for Duo
34
+ :param pulumi.Input[_builtins.str] namespace: Target namespace. (requires Enterprise)
35
+ :param pulumi.Input[_builtins.str] push_info: Push information for Duo.
36
+ :param pulumi.Input[_builtins.bool] use_passcode: Require passcode upon MFA validation.
37
+ :param pulumi.Input[_builtins.str] username_format: A template string for mapping Identity names to MFA methods.
38
+ """
39
+ pulumi.set(__self__, "api_hostname", api_hostname)
40
+ pulumi.set(__self__, "integration_key", integration_key)
41
+ pulumi.set(__self__, "secret_key", secret_key)
42
+ if namespace is not None:
43
+ pulumi.set(__self__, "namespace", namespace)
44
+ if push_info is not None:
45
+ pulumi.set(__self__, "push_info", push_info)
46
+ if use_passcode is not None:
47
+ pulumi.set(__self__, "use_passcode", use_passcode)
48
+ if username_format is not None:
49
+ pulumi.set(__self__, "username_format", username_format)
50
+
51
+ @_builtins.property
52
+ @pulumi.getter(name="apiHostname")
53
+ def api_hostname(self) -> pulumi.Input[_builtins.str]:
54
+ """
55
+ API hostname for Duo
56
+ """
57
+ return pulumi.get(self, "api_hostname")
58
+
59
+ @api_hostname.setter
60
+ def api_hostname(self, value: pulumi.Input[_builtins.str]):
61
+ pulumi.set(self, "api_hostname", value)
62
+
63
+ @_builtins.property
64
+ @pulumi.getter(name="integrationKey")
65
+ def integration_key(self) -> pulumi.Input[_builtins.str]:
66
+ """
67
+ Integration key for Duo
68
+ """
69
+ return pulumi.get(self, "integration_key")
70
+
71
+ @integration_key.setter
72
+ def integration_key(self, value: pulumi.Input[_builtins.str]):
73
+ pulumi.set(self, "integration_key", value)
74
+
75
+ @_builtins.property
76
+ @pulumi.getter(name="secretKey")
77
+ def secret_key(self) -> pulumi.Input[_builtins.str]:
78
+ """
79
+ Secret key for Duo
80
+ """
81
+ return pulumi.get(self, "secret_key")
82
+
83
+ @secret_key.setter
84
+ def secret_key(self, value: pulumi.Input[_builtins.str]):
85
+ pulumi.set(self, "secret_key", value)
86
+
87
+ @_builtins.property
88
+ @pulumi.getter
89
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
90
+ """
91
+ Target namespace. (requires Enterprise)
92
+ """
93
+ return pulumi.get(self, "namespace")
94
+
95
+ @namespace.setter
96
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
97
+ pulumi.set(self, "namespace", value)
98
+
99
+ @_builtins.property
100
+ @pulumi.getter(name="pushInfo")
101
+ def push_info(self) -> Optional[pulumi.Input[_builtins.str]]:
102
+ """
103
+ Push information for Duo.
104
+ """
105
+ return pulumi.get(self, "push_info")
106
+
107
+ @push_info.setter
108
+ def push_info(self, value: Optional[pulumi.Input[_builtins.str]]):
109
+ pulumi.set(self, "push_info", value)
110
+
111
+ @_builtins.property
112
+ @pulumi.getter(name="usePasscode")
113
+ def use_passcode(self) -> Optional[pulumi.Input[_builtins.bool]]:
114
+ """
115
+ Require passcode upon MFA validation.
116
+ """
117
+ return pulumi.get(self, "use_passcode")
118
+
119
+ @use_passcode.setter
120
+ def use_passcode(self, value: Optional[pulumi.Input[_builtins.bool]]):
121
+ pulumi.set(self, "use_passcode", value)
122
+
123
+ @_builtins.property
124
+ @pulumi.getter(name="usernameFormat")
125
+ def username_format(self) -> Optional[pulumi.Input[_builtins.str]]:
126
+ """
127
+ A template string for mapping Identity names to MFA methods.
128
+ """
129
+ return pulumi.get(self, "username_format")
130
+
131
+ @username_format.setter
132
+ def username_format(self, value: Optional[pulumi.Input[_builtins.str]]):
133
+ pulumi.set(self, "username_format", value)
134
+
135
+
136
+ @pulumi.input_type
137
+ class _MfaDuoState:
138
+ def __init__(__self__, *,
139
+ api_hostname: Optional[pulumi.Input[_builtins.str]] = None,
140
+ integration_key: Optional[pulumi.Input[_builtins.str]] = None,
141
+ method_id: Optional[pulumi.Input[_builtins.str]] = None,
142
+ mount_accessor: Optional[pulumi.Input[_builtins.str]] = None,
143
+ name: Optional[pulumi.Input[_builtins.str]] = None,
144
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
145
+ namespace_id: Optional[pulumi.Input[_builtins.str]] = None,
146
+ namespace_path: Optional[pulumi.Input[_builtins.str]] = None,
147
+ push_info: Optional[pulumi.Input[_builtins.str]] = None,
148
+ secret_key: Optional[pulumi.Input[_builtins.str]] = None,
149
+ type: Optional[pulumi.Input[_builtins.str]] = None,
150
+ use_passcode: Optional[pulumi.Input[_builtins.bool]] = None,
151
+ username_format: Optional[pulumi.Input[_builtins.str]] = None,
152
+ uuid: Optional[pulumi.Input[_builtins.str]] = None):
153
+ """
154
+ Input properties used for looking up and filtering MfaDuo resources.
155
+ :param pulumi.Input[_builtins.str] api_hostname: API hostname for Duo
156
+ :param pulumi.Input[_builtins.str] integration_key: Integration key for Duo
157
+ :param pulumi.Input[_builtins.str] method_id: Method ID.
158
+ :param pulumi.Input[_builtins.str] mount_accessor: Mount accessor.
159
+ :param pulumi.Input[_builtins.str] name: Method name.
160
+ :param pulumi.Input[_builtins.str] namespace: Target namespace. (requires Enterprise)
161
+ :param pulumi.Input[_builtins.str] namespace_id: Method's namespace ID.
162
+ :param pulumi.Input[_builtins.str] namespace_path: Method's namespace path.
163
+ :param pulumi.Input[_builtins.str] push_info: Push information for Duo.
164
+ :param pulumi.Input[_builtins.str] secret_key: Secret key for Duo
165
+ :param pulumi.Input[_builtins.str] type: MFA type.
166
+ :param pulumi.Input[_builtins.bool] use_passcode: Require passcode upon MFA validation.
167
+ :param pulumi.Input[_builtins.str] username_format: A template string for mapping Identity names to MFA methods.
168
+ :param pulumi.Input[_builtins.str] uuid: Resource UUID.
169
+ """
170
+ if api_hostname is not None:
171
+ pulumi.set(__self__, "api_hostname", api_hostname)
172
+ if integration_key is not None:
173
+ pulumi.set(__self__, "integration_key", integration_key)
174
+ if method_id is not None:
175
+ pulumi.set(__self__, "method_id", method_id)
176
+ if mount_accessor is not None:
177
+ pulumi.set(__self__, "mount_accessor", mount_accessor)
178
+ if name is not None:
179
+ pulumi.set(__self__, "name", name)
180
+ if namespace is not None:
181
+ pulumi.set(__self__, "namespace", namespace)
182
+ if namespace_id is not None:
183
+ pulumi.set(__self__, "namespace_id", namespace_id)
184
+ if namespace_path is not None:
185
+ pulumi.set(__self__, "namespace_path", namespace_path)
186
+ if push_info is not None:
187
+ pulumi.set(__self__, "push_info", push_info)
188
+ if secret_key is not None:
189
+ pulumi.set(__self__, "secret_key", secret_key)
190
+ if type is not None:
191
+ pulumi.set(__self__, "type", type)
192
+ if use_passcode is not None:
193
+ pulumi.set(__self__, "use_passcode", use_passcode)
194
+ if username_format is not None:
195
+ pulumi.set(__self__, "username_format", username_format)
196
+ if uuid is not None:
197
+ pulumi.set(__self__, "uuid", uuid)
198
+
199
+ @_builtins.property
200
+ @pulumi.getter(name="apiHostname")
201
+ def api_hostname(self) -> Optional[pulumi.Input[_builtins.str]]:
202
+ """
203
+ API hostname for Duo
204
+ """
205
+ return pulumi.get(self, "api_hostname")
206
+
207
+ @api_hostname.setter
208
+ def api_hostname(self, value: Optional[pulumi.Input[_builtins.str]]):
209
+ pulumi.set(self, "api_hostname", value)
210
+
211
+ @_builtins.property
212
+ @pulumi.getter(name="integrationKey")
213
+ def integration_key(self) -> Optional[pulumi.Input[_builtins.str]]:
214
+ """
215
+ Integration key for Duo
216
+ """
217
+ return pulumi.get(self, "integration_key")
218
+
219
+ @integration_key.setter
220
+ def integration_key(self, value: Optional[pulumi.Input[_builtins.str]]):
221
+ pulumi.set(self, "integration_key", value)
222
+
223
+ @_builtins.property
224
+ @pulumi.getter(name="methodId")
225
+ def method_id(self) -> Optional[pulumi.Input[_builtins.str]]:
226
+ """
227
+ Method ID.
228
+ """
229
+ return pulumi.get(self, "method_id")
230
+
231
+ @method_id.setter
232
+ def method_id(self, value: Optional[pulumi.Input[_builtins.str]]):
233
+ pulumi.set(self, "method_id", value)
234
+
235
+ @_builtins.property
236
+ @pulumi.getter(name="mountAccessor")
237
+ def mount_accessor(self) -> Optional[pulumi.Input[_builtins.str]]:
238
+ """
239
+ Mount accessor.
240
+ """
241
+ return pulumi.get(self, "mount_accessor")
242
+
243
+ @mount_accessor.setter
244
+ def mount_accessor(self, value: Optional[pulumi.Input[_builtins.str]]):
245
+ pulumi.set(self, "mount_accessor", value)
246
+
247
+ @_builtins.property
248
+ @pulumi.getter
249
+ def name(self) -> Optional[pulumi.Input[_builtins.str]]:
250
+ """
251
+ Method name.
252
+ """
253
+ return pulumi.get(self, "name")
254
+
255
+ @name.setter
256
+ def name(self, value: Optional[pulumi.Input[_builtins.str]]):
257
+ pulumi.set(self, "name", value)
258
+
259
+ @_builtins.property
260
+ @pulumi.getter
261
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
262
+ """
263
+ Target namespace. (requires Enterprise)
264
+ """
265
+ return pulumi.get(self, "namespace")
266
+
267
+ @namespace.setter
268
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
269
+ pulumi.set(self, "namespace", value)
270
+
271
+ @_builtins.property
272
+ @pulumi.getter(name="namespaceId")
273
+ def namespace_id(self) -> Optional[pulumi.Input[_builtins.str]]:
274
+ """
275
+ Method's namespace ID.
276
+ """
277
+ return pulumi.get(self, "namespace_id")
278
+
279
+ @namespace_id.setter
280
+ def namespace_id(self, value: Optional[pulumi.Input[_builtins.str]]):
281
+ pulumi.set(self, "namespace_id", value)
282
+
283
+ @_builtins.property
284
+ @pulumi.getter(name="namespacePath")
285
+ def namespace_path(self) -> Optional[pulumi.Input[_builtins.str]]:
286
+ """
287
+ Method's namespace path.
288
+ """
289
+ return pulumi.get(self, "namespace_path")
290
+
291
+ @namespace_path.setter
292
+ def namespace_path(self, value: Optional[pulumi.Input[_builtins.str]]):
293
+ pulumi.set(self, "namespace_path", value)
294
+
295
+ @_builtins.property
296
+ @pulumi.getter(name="pushInfo")
297
+ def push_info(self) -> Optional[pulumi.Input[_builtins.str]]:
298
+ """
299
+ Push information for Duo.
300
+ """
301
+ return pulumi.get(self, "push_info")
302
+
303
+ @push_info.setter
304
+ def push_info(self, value: Optional[pulumi.Input[_builtins.str]]):
305
+ pulumi.set(self, "push_info", value)
306
+
307
+ @_builtins.property
308
+ @pulumi.getter(name="secretKey")
309
+ def secret_key(self) -> Optional[pulumi.Input[_builtins.str]]:
310
+ """
311
+ Secret key for Duo
312
+ """
313
+ return pulumi.get(self, "secret_key")
314
+
315
+ @secret_key.setter
316
+ def secret_key(self, value: Optional[pulumi.Input[_builtins.str]]):
317
+ pulumi.set(self, "secret_key", value)
318
+
319
+ @_builtins.property
320
+ @pulumi.getter
321
+ def type(self) -> Optional[pulumi.Input[_builtins.str]]:
322
+ """
323
+ MFA type.
324
+ """
325
+ return pulumi.get(self, "type")
326
+
327
+ @type.setter
328
+ def type(self, value: Optional[pulumi.Input[_builtins.str]]):
329
+ pulumi.set(self, "type", value)
330
+
331
+ @_builtins.property
332
+ @pulumi.getter(name="usePasscode")
333
+ def use_passcode(self) -> Optional[pulumi.Input[_builtins.bool]]:
334
+ """
335
+ Require passcode upon MFA validation.
336
+ """
337
+ return pulumi.get(self, "use_passcode")
338
+
339
+ @use_passcode.setter
340
+ def use_passcode(self, value: Optional[pulumi.Input[_builtins.bool]]):
341
+ pulumi.set(self, "use_passcode", value)
342
+
343
+ @_builtins.property
344
+ @pulumi.getter(name="usernameFormat")
345
+ def username_format(self) -> Optional[pulumi.Input[_builtins.str]]:
346
+ """
347
+ A template string for mapping Identity names to MFA methods.
348
+ """
349
+ return pulumi.get(self, "username_format")
350
+
351
+ @username_format.setter
352
+ def username_format(self, value: Optional[pulumi.Input[_builtins.str]]):
353
+ pulumi.set(self, "username_format", value)
354
+
355
+ @_builtins.property
356
+ @pulumi.getter
357
+ def uuid(self) -> Optional[pulumi.Input[_builtins.str]]:
358
+ """
359
+ Resource UUID.
360
+ """
361
+ return pulumi.get(self, "uuid")
362
+
363
+ @uuid.setter
364
+ def uuid(self, value: Optional[pulumi.Input[_builtins.str]]):
365
+ pulumi.set(self, "uuid", value)
366
+
367
+
368
+ @pulumi.type_token("vault:identity/mfaDuo:MfaDuo")
369
+ class MfaDuo(pulumi.CustomResource):
370
+ @overload
371
+ def __init__(__self__,
372
+ resource_name: str,
373
+ opts: Optional[pulumi.ResourceOptions] = None,
374
+ api_hostname: Optional[pulumi.Input[_builtins.str]] = None,
375
+ integration_key: Optional[pulumi.Input[_builtins.str]] = None,
376
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
377
+ push_info: Optional[pulumi.Input[_builtins.str]] = None,
378
+ secret_key: Optional[pulumi.Input[_builtins.str]] = None,
379
+ use_passcode: Optional[pulumi.Input[_builtins.bool]] = None,
380
+ username_format: Optional[pulumi.Input[_builtins.str]] = None,
381
+ __props__=None):
382
+ """
383
+ Resource for configuring the duo MFA method.
384
+
385
+ ## Example Usage
386
+
387
+ ```python
388
+ import pulumi
389
+ import pulumi_vault as vault
390
+
391
+ example = vault.identity.MfaDuo("example",
392
+ api_hostname="api-xxxxxxxx.duosecurity.com",
393
+ secret_key="secret-key",
394
+ integration_key="secret-int-key")
395
+ ```
396
+
397
+ ## Import
398
+
399
+ Resource can be imported using its `uuid` field, e.g.
400
+
401
+ ```sh
402
+ $ pulumi import vault:identity/mfaDuo:MfaDuo example 0d89c36a-4ff5-4d70-8749-bb6a5598aeec
403
+ ```
404
+
405
+ :param str resource_name: The name of the resource.
406
+ :param pulumi.ResourceOptions opts: Options for the resource.
407
+ :param pulumi.Input[_builtins.str] api_hostname: API hostname for Duo
408
+ :param pulumi.Input[_builtins.str] integration_key: Integration key for Duo
409
+ :param pulumi.Input[_builtins.str] namespace: Target namespace. (requires Enterprise)
410
+ :param pulumi.Input[_builtins.str] push_info: Push information for Duo.
411
+ :param pulumi.Input[_builtins.str] secret_key: Secret key for Duo
412
+ :param pulumi.Input[_builtins.bool] use_passcode: Require passcode upon MFA validation.
413
+ :param pulumi.Input[_builtins.str] username_format: A template string for mapping Identity names to MFA methods.
414
+ """
415
+ ...
416
+ @overload
417
+ def __init__(__self__,
418
+ resource_name: str,
419
+ args: MfaDuoArgs,
420
+ opts: Optional[pulumi.ResourceOptions] = None):
421
+ """
422
+ Resource for configuring the duo MFA method.
423
+
424
+ ## Example Usage
425
+
426
+ ```python
427
+ import pulumi
428
+ import pulumi_vault as vault
429
+
430
+ example = vault.identity.MfaDuo("example",
431
+ api_hostname="api-xxxxxxxx.duosecurity.com",
432
+ secret_key="secret-key",
433
+ integration_key="secret-int-key")
434
+ ```
435
+
436
+ ## Import
437
+
438
+ Resource can be imported using its `uuid` field, e.g.
439
+
440
+ ```sh
441
+ $ pulumi import vault:identity/mfaDuo:MfaDuo example 0d89c36a-4ff5-4d70-8749-bb6a5598aeec
442
+ ```
443
+
444
+ :param str resource_name: The name of the resource.
445
+ :param MfaDuoArgs args: The arguments to use to populate this resource's properties.
446
+ :param pulumi.ResourceOptions opts: Options for the resource.
447
+ """
448
+ ...
449
+ def __init__(__self__, resource_name: str, *args, **kwargs):
450
+ resource_args, opts = _utilities.get_resource_args_opts(MfaDuoArgs, pulumi.ResourceOptions, *args, **kwargs)
451
+ if resource_args is not None:
452
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
453
+ else:
454
+ __self__._internal_init(resource_name, *args, **kwargs)
455
+
456
+ def _internal_init(__self__,
457
+ resource_name: str,
458
+ opts: Optional[pulumi.ResourceOptions] = None,
459
+ api_hostname: Optional[pulumi.Input[_builtins.str]] = None,
460
+ integration_key: Optional[pulumi.Input[_builtins.str]] = None,
461
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
462
+ push_info: Optional[pulumi.Input[_builtins.str]] = None,
463
+ secret_key: Optional[pulumi.Input[_builtins.str]] = None,
464
+ use_passcode: Optional[pulumi.Input[_builtins.bool]] = None,
465
+ username_format: Optional[pulumi.Input[_builtins.str]] = None,
466
+ __props__=None):
467
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
468
+ if not isinstance(opts, pulumi.ResourceOptions):
469
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
470
+ if opts.id is None:
471
+ if __props__ is not None:
472
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
473
+ __props__ = MfaDuoArgs.__new__(MfaDuoArgs)
474
+
475
+ if api_hostname is None and not opts.urn:
476
+ raise TypeError("Missing required property 'api_hostname'")
477
+ __props__.__dict__["api_hostname"] = api_hostname
478
+ if integration_key is None and not opts.urn:
479
+ raise TypeError("Missing required property 'integration_key'")
480
+ __props__.__dict__["integration_key"] = None if integration_key is None else pulumi.Output.secret(integration_key)
481
+ __props__.__dict__["namespace"] = namespace
482
+ __props__.__dict__["push_info"] = push_info
483
+ if secret_key is None and not opts.urn:
484
+ raise TypeError("Missing required property 'secret_key'")
485
+ __props__.__dict__["secret_key"] = None if secret_key is None else pulumi.Output.secret(secret_key)
486
+ __props__.__dict__["use_passcode"] = use_passcode
487
+ __props__.__dict__["username_format"] = username_format
488
+ __props__.__dict__["method_id"] = None
489
+ __props__.__dict__["mount_accessor"] = None
490
+ __props__.__dict__["name"] = None
491
+ __props__.__dict__["namespace_id"] = None
492
+ __props__.__dict__["namespace_path"] = None
493
+ __props__.__dict__["type"] = None
494
+ __props__.__dict__["uuid"] = None
495
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["integrationKey", "secretKey"])
496
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
497
+ super(MfaDuo, __self__).__init__(
498
+ 'vault:identity/mfaDuo:MfaDuo',
499
+ resource_name,
500
+ __props__,
501
+ opts)
502
+
503
+ @staticmethod
504
+ def get(resource_name: str,
505
+ id: pulumi.Input[str],
506
+ opts: Optional[pulumi.ResourceOptions] = None,
507
+ api_hostname: Optional[pulumi.Input[_builtins.str]] = None,
508
+ integration_key: Optional[pulumi.Input[_builtins.str]] = None,
509
+ method_id: Optional[pulumi.Input[_builtins.str]] = None,
510
+ mount_accessor: Optional[pulumi.Input[_builtins.str]] = None,
511
+ name: Optional[pulumi.Input[_builtins.str]] = None,
512
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
513
+ namespace_id: Optional[pulumi.Input[_builtins.str]] = None,
514
+ namespace_path: Optional[pulumi.Input[_builtins.str]] = None,
515
+ push_info: Optional[pulumi.Input[_builtins.str]] = None,
516
+ secret_key: Optional[pulumi.Input[_builtins.str]] = None,
517
+ type: Optional[pulumi.Input[_builtins.str]] = None,
518
+ use_passcode: Optional[pulumi.Input[_builtins.bool]] = None,
519
+ username_format: Optional[pulumi.Input[_builtins.str]] = None,
520
+ uuid: Optional[pulumi.Input[_builtins.str]] = None) -> 'MfaDuo':
521
+ """
522
+ Get an existing MfaDuo resource's state with the given name, id, and optional extra
523
+ properties used to qualify the lookup.
524
+
525
+ :param str resource_name: The unique name of the resulting resource.
526
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
527
+ :param pulumi.ResourceOptions opts: Options for the resource.
528
+ :param pulumi.Input[_builtins.str] api_hostname: API hostname for Duo
529
+ :param pulumi.Input[_builtins.str] integration_key: Integration key for Duo
530
+ :param pulumi.Input[_builtins.str] method_id: Method ID.
531
+ :param pulumi.Input[_builtins.str] mount_accessor: Mount accessor.
532
+ :param pulumi.Input[_builtins.str] name: Method name.
533
+ :param pulumi.Input[_builtins.str] namespace: Target namespace. (requires Enterprise)
534
+ :param pulumi.Input[_builtins.str] namespace_id: Method's namespace ID.
535
+ :param pulumi.Input[_builtins.str] namespace_path: Method's namespace path.
536
+ :param pulumi.Input[_builtins.str] push_info: Push information for Duo.
537
+ :param pulumi.Input[_builtins.str] secret_key: Secret key for Duo
538
+ :param pulumi.Input[_builtins.str] type: MFA type.
539
+ :param pulumi.Input[_builtins.bool] use_passcode: Require passcode upon MFA validation.
540
+ :param pulumi.Input[_builtins.str] username_format: A template string for mapping Identity names to MFA methods.
541
+ :param pulumi.Input[_builtins.str] uuid: Resource UUID.
542
+ """
543
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
544
+
545
+ __props__ = _MfaDuoState.__new__(_MfaDuoState)
546
+
547
+ __props__.__dict__["api_hostname"] = api_hostname
548
+ __props__.__dict__["integration_key"] = integration_key
549
+ __props__.__dict__["method_id"] = method_id
550
+ __props__.__dict__["mount_accessor"] = mount_accessor
551
+ __props__.__dict__["name"] = name
552
+ __props__.__dict__["namespace"] = namespace
553
+ __props__.__dict__["namespace_id"] = namespace_id
554
+ __props__.__dict__["namespace_path"] = namespace_path
555
+ __props__.__dict__["push_info"] = push_info
556
+ __props__.__dict__["secret_key"] = secret_key
557
+ __props__.__dict__["type"] = type
558
+ __props__.__dict__["use_passcode"] = use_passcode
559
+ __props__.__dict__["username_format"] = username_format
560
+ __props__.__dict__["uuid"] = uuid
561
+ return MfaDuo(resource_name, opts=opts, __props__=__props__)
562
+
563
+ @_builtins.property
564
+ @pulumi.getter(name="apiHostname")
565
+ def api_hostname(self) -> pulumi.Output[_builtins.str]:
566
+ """
567
+ API hostname for Duo
568
+ """
569
+ return pulumi.get(self, "api_hostname")
570
+
571
+ @_builtins.property
572
+ @pulumi.getter(name="integrationKey")
573
+ def integration_key(self) -> pulumi.Output[_builtins.str]:
574
+ """
575
+ Integration key for Duo
576
+ """
577
+ return pulumi.get(self, "integration_key")
578
+
579
+ @_builtins.property
580
+ @pulumi.getter(name="methodId")
581
+ def method_id(self) -> pulumi.Output[_builtins.str]:
582
+ """
583
+ Method ID.
584
+ """
585
+ return pulumi.get(self, "method_id")
586
+
587
+ @_builtins.property
588
+ @pulumi.getter(name="mountAccessor")
589
+ def mount_accessor(self) -> pulumi.Output[_builtins.str]:
590
+ """
591
+ Mount accessor.
592
+ """
593
+ return pulumi.get(self, "mount_accessor")
594
+
595
+ @_builtins.property
596
+ @pulumi.getter
597
+ def name(self) -> pulumi.Output[_builtins.str]:
598
+ """
599
+ Method name.
600
+ """
601
+ return pulumi.get(self, "name")
602
+
603
+ @_builtins.property
604
+ @pulumi.getter
605
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
606
+ """
607
+ Target namespace. (requires Enterprise)
608
+ """
609
+ return pulumi.get(self, "namespace")
610
+
611
+ @_builtins.property
612
+ @pulumi.getter(name="namespaceId")
613
+ def namespace_id(self) -> pulumi.Output[_builtins.str]:
614
+ """
615
+ Method's namespace ID.
616
+ """
617
+ return pulumi.get(self, "namespace_id")
618
+
619
+ @_builtins.property
620
+ @pulumi.getter(name="namespacePath")
621
+ def namespace_path(self) -> pulumi.Output[_builtins.str]:
622
+ """
623
+ Method's namespace path.
624
+ """
625
+ return pulumi.get(self, "namespace_path")
626
+
627
+ @_builtins.property
628
+ @pulumi.getter(name="pushInfo")
629
+ def push_info(self) -> pulumi.Output[Optional[_builtins.str]]:
630
+ """
631
+ Push information for Duo.
632
+ """
633
+ return pulumi.get(self, "push_info")
634
+
635
+ @_builtins.property
636
+ @pulumi.getter(name="secretKey")
637
+ def secret_key(self) -> pulumi.Output[_builtins.str]:
638
+ """
639
+ Secret key for Duo
640
+ """
641
+ return pulumi.get(self, "secret_key")
642
+
643
+ @_builtins.property
644
+ @pulumi.getter
645
+ def type(self) -> pulumi.Output[_builtins.str]:
646
+ """
647
+ MFA type.
648
+ """
649
+ return pulumi.get(self, "type")
650
+
651
+ @_builtins.property
652
+ @pulumi.getter(name="usePasscode")
653
+ def use_passcode(self) -> pulumi.Output[Optional[_builtins.bool]]:
654
+ """
655
+ Require passcode upon MFA validation.
656
+ """
657
+ return pulumi.get(self, "use_passcode")
658
+
659
+ @_builtins.property
660
+ @pulumi.getter(name="usernameFormat")
661
+ def username_format(self) -> pulumi.Output[Optional[_builtins.str]]:
662
+ """
663
+ A template string for mapping Identity names to MFA methods.
664
+ """
665
+ return pulumi.get(self, "username_format")
666
+
667
+ @_builtins.property
668
+ @pulumi.getter
669
+ def uuid(self) -> pulumi.Output[_builtins.str]:
670
+ """
671
+ Resource UUID.
672
+ """
673
+ return pulumi.get(self, "uuid")
674
+