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,1046 @@
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__ = ['AuthBackendLoginArgs', 'AuthBackendLogin']
18
+
19
+ @pulumi.input_type
20
+ class AuthBackendLoginArgs:
21
+ def __init__(__self__, *,
22
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
23
+ iam_http_request_method: Optional[pulumi.Input[_builtins.str]] = None,
24
+ iam_request_body: Optional[pulumi.Input[_builtins.str]] = None,
25
+ iam_request_headers: Optional[pulumi.Input[_builtins.str]] = None,
26
+ iam_request_url: Optional[pulumi.Input[_builtins.str]] = None,
27
+ identity: Optional[pulumi.Input[_builtins.str]] = None,
28
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
29
+ nonce: Optional[pulumi.Input[_builtins.str]] = None,
30
+ pkcs7: Optional[pulumi.Input[_builtins.str]] = None,
31
+ role: Optional[pulumi.Input[_builtins.str]] = None,
32
+ signature: Optional[pulumi.Input[_builtins.str]] = None):
33
+ """
34
+ The set of arguments for constructing a AuthBackendLogin resource.
35
+ :param pulumi.Input[_builtins.str] backend: The unique name of the AWS auth backend. Defaults to
36
+ 'aws'.
37
+ :param pulumi.Input[_builtins.str] iam_http_request_method: The HTTP method used in the signed IAM
38
+ request.
39
+ :param pulumi.Input[_builtins.str] iam_request_body: The base64-encoded body of the signed
40
+ request.
41
+ :param pulumi.Input[_builtins.str] iam_request_headers: The base64-encoded, JSON serialized
42
+ representation of the GetCallerIdentity HTTP request headers.
43
+ :param pulumi.Input[_builtins.str] iam_request_url: The base64-encoded HTTP URL used in the signed
44
+ request.
45
+ :param pulumi.Input[_builtins.str] identity: The base64-encoded EC2 instance identity document to
46
+ authenticate with. Can be retrieved from the EC2 metadata server.
47
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
48
+ The value should not contain leading or trailing forward slashes.
49
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
50
+ *Available only for Vault Enterprise*.
51
+ :param pulumi.Input[_builtins.str] nonce: The unique nonce to be used for login requests. Can be
52
+ set to a user-specified value, or will contain the server-generated value
53
+ once a token is issued. EC2 instances can only acquire a single token until
54
+ the whitelist is tidied again unless they keep track of this nonce.
55
+ :param pulumi.Input[_builtins.str] pkcs7: The PKCS#7 signature of the identity document to
56
+ authenticate with, with all newline characters removed. Can be retrieved from
57
+ the EC2 metadata server.
58
+ :param pulumi.Input[_builtins.str] role: The name of the AWS auth backend role to create tokens
59
+ against.
60
+ :param pulumi.Input[_builtins.str] signature: The base64-encoded SHA256 RSA signature of the
61
+ instance identity document to authenticate with, with all newline characters
62
+ removed. Can be retrieved from the EC2 metadata server.
63
+ """
64
+ if backend is not None:
65
+ pulumi.set(__self__, "backend", backend)
66
+ if iam_http_request_method is not None:
67
+ pulumi.set(__self__, "iam_http_request_method", iam_http_request_method)
68
+ if iam_request_body is not None:
69
+ pulumi.set(__self__, "iam_request_body", iam_request_body)
70
+ if iam_request_headers is not None:
71
+ pulumi.set(__self__, "iam_request_headers", iam_request_headers)
72
+ if iam_request_url is not None:
73
+ pulumi.set(__self__, "iam_request_url", iam_request_url)
74
+ if identity is not None:
75
+ pulumi.set(__self__, "identity", identity)
76
+ if namespace is not None:
77
+ pulumi.set(__self__, "namespace", namespace)
78
+ if nonce is not None:
79
+ pulumi.set(__self__, "nonce", nonce)
80
+ if pkcs7 is not None:
81
+ pulumi.set(__self__, "pkcs7", pkcs7)
82
+ if role is not None:
83
+ pulumi.set(__self__, "role", role)
84
+ if signature is not None:
85
+ pulumi.set(__self__, "signature", signature)
86
+
87
+ @_builtins.property
88
+ @pulumi.getter
89
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
90
+ """
91
+ The unique name of the AWS auth backend. Defaults to
92
+ 'aws'.
93
+ """
94
+ return pulumi.get(self, "backend")
95
+
96
+ @backend.setter
97
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
98
+ pulumi.set(self, "backend", value)
99
+
100
+ @_builtins.property
101
+ @pulumi.getter(name="iamHttpRequestMethod")
102
+ def iam_http_request_method(self) -> Optional[pulumi.Input[_builtins.str]]:
103
+ """
104
+ The HTTP method used in the signed IAM
105
+ request.
106
+ """
107
+ return pulumi.get(self, "iam_http_request_method")
108
+
109
+ @iam_http_request_method.setter
110
+ def iam_http_request_method(self, value: Optional[pulumi.Input[_builtins.str]]):
111
+ pulumi.set(self, "iam_http_request_method", value)
112
+
113
+ @_builtins.property
114
+ @pulumi.getter(name="iamRequestBody")
115
+ def iam_request_body(self) -> Optional[pulumi.Input[_builtins.str]]:
116
+ """
117
+ The base64-encoded body of the signed
118
+ request.
119
+ """
120
+ return pulumi.get(self, "iam_request_body")
121
+
122
+ @iam_request_body.setter
123
+ def iam_request_body(self, value: Optional[pulumi.Input[_builtins.str]]):
124
+ pulumi.set(self, "iam_request_body", value)
125
+
126
+ @_builtins.property
127
+ @pulumi.getter(name="iamRequestHeaders")
128
+ def iam_request_headers(self) -> Optional[pulumi.Input[_builtins.str]]:
129
+ """
130
+ The base64-encoded, JSON serialized
131
+ representation of the GetCallerIdentity HTTP request headers.
132
+ """
133
+ return pulumi.get(self, "iam_request_headers")
134
+
135
+ @iam_request_headers.setter
136
+ def iam_request_headers(self, value: Optional[pulumi.Input[_builtins.str]]):
137
+ pulumi.set(self, "iam_request_headers", value)
138
+
139
+ @_builtins.property
140
+ @pulumi.getter(name="iamRequestUrl")
141
+ def iam_request_url(self) -> Optional[pulumi.Input[_builtins.str]]:
142
+ """
143
+ The base64-encoded HTTP URL used in the signed
144
+ request.
145
+ """
146
+ return pulumi.get(self, "iam_request_url")
147
+
148
+ @iam_request_url.setter
149
+ def iam_request_url(self, value: Optional[pulumi.Input[_builtins.str]]):
150
+ pulumi.set(self, "iam_request_url", value)
151
+
152
+ @_builtins.property
153
+ @pulumi.getter
154
+ def identity(self) -> Optional[pulumi.Input[_builtins.str]]:
155
+ """
156
+ The base64-encoded EC2 instance identity document to
157
+ authenticate with. Can be retrieved from the EC2 metadata server.
158
+ """
159
+ return pulumi.get(self, "identity")
160
+
161
+ @identity.setter
162
+ def identity(self, value: Optional[pulumi.Input[_builtins.str]]):
163
+ pulumi.set(self, "identity", value)
164
+
165
+ @_builtins.property
166
+ @pulumi.getter
167
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
168
+ """
169
+ The namespace to provision the resource in.
170
+ The value should not contain leading or trailing forward slashes.
171
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
172
+ *Available only for Vault Enterprise*.
173
+ """
174
+ return pulumi.get(self, "namespace")
175
+
176
+ @namespace.setter
177
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
178
+ pulumi.set(self, "namespace", value)
179
+
180
+ @_builtins.property
181
+ @pulumi.getter
182
+ def nonce(self) -> Optional[pulumi.Input[_builtins.str]]:
183
+ """
184
+ The unique nonce to be used for login requests. Can be
185
+ set to a user-specified value, or will contain the server-generated value
186
+ once a token is issued. EC2 instances can only acquire a single token until
187
+ the whitelist is tidied again unless they keep track of this nonce.
188
+ """
189
+ return pulumi.get(self, "nonce")
190
+
191
+ @nonce.setter
192
+ def nonce(self, value: Optional[pulumi.Input[_builtins.str]]):
193
+ pulumi.set(self, "nonce", value)
194
+
195
+ @_builtins.property
196
+ @pulumi.getter
197
+ def pkcs7(self) -> Optional[pulumi.Input[_builtins.str]]:
198
+ """
199
+ The PKCS#7 signature of the identity document to
200
+ authenticate with, with all newline characters removed. Can be retrieved from
201
+ the EC2 metadata server.
202
+ """
203
+ return pulumi.get(self, "pkcs7")
204
+
205
+ @pkcs7.setter
206
+ def pkcs7(self, value: Optional[pulumi.Input[_builtins.str]]):
207
+ pulumi.set(self, "pkcs7", value)
208
+
209
+ @_builtins.property
210
+ @pulumi.getter
211
+ def role(self) -> Optional[pulumi.Input[_builtins.str]]:
212
+ """
213
+ The name of the AWS auth backend role to create tokens
214
+ against.
215
+ """
216
+ return pulumi.get(self, "role")
217
+
218
+ @role.setter
219
+ def role(self, value: Optional[pulumi.Input[_builtins.str]]):
220
+ pulumi.set(self, "role", value)
221
+
222
+ @_builtins.property
223
+ @pulumi.getter
224
+ def signature(self) -> Optional[pulumi.Input[_builtins.str]]:
225
+ """
226
+ The base64-encoded SHA256 RSA signature of the
227
+ instance identity document to authenticate with, with all newline characters
228
+ removed. Can be retrieved from the EC2 metadata server.
229
+ """
230
+ return pulumi.get(self, "signature")
231
+
232
+ @signature.setter
233
+ def signature(self, value: Optional[pulumi.Input[_builtins.str]]):
234
+ pulumi.set(self, "signature", value)
235
+
236
+
237
+ @pulumi.input_type
238
+ class _AuthBackendLoginState:
239
+ def __init__(__self__, *,
240
+ accessor: Optional[pulumi.Input[_builtins.str]] = None,
241
+ auth_type: Optional[pulumi.Input[_builtins.str]] = None,
242
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
243
+ client_token: Optional[pulumi.Input[_builtins.str]] = None,
244
+ iam_http_request_method: Optional[pulumi.Input[_builtins.str]] = None,
245
+ iam_request_body: Optional[pulumi.Input[_builtins.str]] = None,
246
+ iam_request_headers: Optional[pulumi.Input[_builtins.str]] = None,
247
+ iam_request_url: Optional[pulumi.Input[_builtins.str]] = None,
248
+ identity: Optional[pulumi.Input[_builtins.str]] = None,
249
+ lease_duration: Optional[pulumi.Input[_builtins.int]] = None,
250
+ lease_start_time: Optional[pulumi.Input[_builtins.str]] = None,
251
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
252
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
253
+ nonce: Optional[pulumi.Input[_builtins.str]] = None,
254
+ pkcs7: Optional[pulumi.Input[_builtins.str]] = None,
255
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
256
+ renewable: Optional[pulumi.Input[_builtins.bool]] = None,
257
+ role: Optional[pulumi.Input[_builtins.str]] = None,
258
+ signature: Optional[pulumi.Input[_builtins.str]] = None):
259
+ """
260
+ Input properties used for looking up and filtering AuthBackendLogin resources.
261
+ :param pulumi.Input[_builtins.str] accessor: The token's accessor.
262
+ :param pulumi.Input[_builtins.str] auth_type: The authentication type used to generate this token.
263
+ :param pulumi.Input[_builtins.str] backend: The unique name of the AWS auth backend. Defaults to
264
+ 'aws'.
265
+ :param pulumi.Input[_builtins.str] client_token: The token returned by Vault.
266
+ :param pulumi.Input[_builtins.str] iam_http_request_method: The HTTP method used in the signed IAM
267
+ request.
268
+ :param pulumi.Input[_builtins.str] iam_request_body: The base64-encoded body of the signed
269
+ request.
270
+ :param pulumi.Input[_builtins.str] iam_request_headers: The base64-encoded, JSON serialized
271
+ representation of the GetCallerIdentity HTTP request headers.
272
+ :param pulumi.Input[_builtins.str] iam_request_url: The base64-encoded HTTP URL used in the signed
273
+ request.
274
+ :param pulumi.Input[_builtins.str] identity: The base64-encoded EC2 instance identity document to
275
+ authenticate with. Can be retrieved from the EC2 metadata server.
276
+ :param pulumi.Input[_builtins.int] lease_duration: The duration in seconds the token will be valid, relative
277
+ to the time in `lease_start_time`.
278
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] metadata: A map of information returned by the Vault server about the
279
+ authentication used to generate this token.
280
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
281
+ The value should not contain leading or trailing forward slashes.
282
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
283
+ *Available only for Vault Enterprise*.
284
+ :param pulumi.Input[_builtins.str] nonce: The unique nonce to be used for login requests. Can be
285
+ set to a user-specified value, or will contain the server-generated value
286
+ once a token is issued. EC2 instances can only acquire a single token until
287
+ the whitelist is tidied again unless they keep track of this nonce.
288
+ :param pulumi.Input[_builtins.str] pkcs7: The PKCS#7 signature of the identity document to
289
+ authenticate with, with all newline characters removed. Can be retrieved from
290
+ the EC2 metadata server.
291
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: The Vault policies assigned to this token.
292
+ :param pulumi.Input[_builtins.bool] renewable: Set to true if the token can be extended through renewal.
293
+ :param pulumi.Input[_builtins.str] role: The name of the AWS auth backend role to create tokens
294
+ against.
295
+ :param pulumi.Input[_builtins.str] signature: The base64-encoded SHA256 RSA signature of the
296
+ instance identity document to authenticate with, with all newline characters
297
+ removed. Can be retrieved from the EC2 metadata server.
298
+ """
299
+ if accessor is not None:
300
+ pulumi.set(__self__, "accessor", accessor)
301
+ if auth_type is not None:
302
+ pulumi.set(__self__, "auth_type", auth_type)
303
+ if backend is not None:
304
+ pulumi.set(__self__, "backend", backend)
305
+ if client_token is not None:
306
+ pulumi.set(__self__, "client_token", client_token)
307
+ if iam_http_request_method is not None:
308
+ pulumi.set(__self__, "iam_http_request_method", iam_http_request_method)
309
+ if iam_request_body is not None:
310
+ pulumi.set(__self__, "iam_request_body", iam_request_body)
311
+ if iam_request_headers is not None:
312
+ pulumi.set(__self__, "iam_request_headers", iam_request_headers)
313
+ if iam_request_url is not None:
314
+ pulumi.set(__self__, "iam_request_url", iam_request_url)
315
+ if identity is not None:
316
+ pulumi.set(__self__, "identity", identity)
317
+ if lease_duration is not None:
318
+ pulumi.set(__self__, "lease_duration", lease_duration)
319
+ if lease_start_time is not None:
320
+ pulumi.set(__self__, "lease_start_time", lease_start_time)
321
+ if metadata is not None:
322
+ pulumi.set(__self__, "metadata", metadata)
323
+ if namespace is not None:
324
+ pulumi.set(__self__, "namespace", namespace)
325
+ if nonce is not None:
326
+ pulumi.set(__self__, "nonce", nonce)
327
+ if pkcs7 is not None:
328
+ pulumi.set(__self__, "pkcs7", pkcs7)
329
+ if policies is not None:
330
+ pulumi.set(__self__, "policies", policies)
331
+ if renewable is not None:
332
+ pulumi.set(__self__, "renewable", renewable)
333
+ if role is not None:
334
+ pulumi.set(__self__, "role", role)
335
+ if signature is not None:
336
+ pulumi.set(__self__, "signature", signature)
337
+
338
+ @_builtins.property
339
+ @pulumi.getter
340
+ def accessor(self) -> Optional[pulumi.Input[_builtins.str]]:
341
+ """
342
+ The token's accessor.
343
+ """
344
+ return pulumi.get(self, "accessor")
345
+
346
+ @accessor.setter
347
+ def accessor(self, value: Optional[pulumi.Input[_builtins.str]]):
348
+ pulumi.set(self, "accessor", value)
349
+
350
+ @_builtins.property
351
+ @pulumi.getter(name="authType")
352
+ def auth_type(self) -> Optional[pulumi.Input[_builtins.str]]:
353
+ """
354
+ The authentication type used to generate this token.
355
+ """
356
+ return pulumi.get(self, "auth_type")
357
+
358
+ @auth_type.setter
359
+ def auth_type(self, value: Optional[pulumi.Input[_builtins.str]]):
360
+ pulumi.set(self, "auth_type", value)
361
+
362
+ @_builtins.property
363
+ @pulumi.getter
364
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
365
+ """
366
+ The unique name of the AWS auth backend. Defaults to
367
+ 'aws'.
368
+ """
369
+ return pulumi.get(self, "backend")
370
+
371
+ @backend.setter
372
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
373
+ pulumi.set(self, "backend", value)
374
+
375
+ @_builtins.property
376
+ @pulumi.getter(name="clientToken")
377
+ def client_token(self) -> Optional[pulumi.Input[_builtins.str]]:
378
+ """
379
+ The token returned by Vault.
380
+ """
381
+ return pulumi.get(self, "client_token")
382
+
383
+ @client_token.setter
384
+ def client_token(self, value: Optional[pulumi.Input[_builtins.str]]):
385
+ pulumi.set(self, "client_token", value)
386
+
387
+ @_builtins.property
388
+ @pulumi.getter(name="iamHttpRequestMethod")
389
+ def iam_http_request_method(self) -> Optional[pulumi.Input[_builtins.str]]:
390
+ """
391
+ The HTTP method used in the signed IAM
392
+ request.
393
+ """
394
+ return pulumi.get(self, "iam_http_request_method")
395
+
396
+ @iam_http_request_method.setter
397
+ def iam_http_request_method(self, value: Optional[pulumi.Input[_builtins.str]]):
398
+ pulumi.set(self, "iam_http_request_method", value)
399
+
400
+ @_builtins.property
401
+ @pulumi.getter(name="iamRequestBody")
402
+ def iam_request_body(self) -> Optional[pulumi.Input[_builtins.str]]:
403
+ """
404
+ The base64-encoded body of the signed
405
+ request.
406
+ """
407
+ return pulumi.get(self, "iam_request_body")
408
+
409
+ @iam_request_body.setter
410
+ def iam_request_body(self, value: Optional[pulumi.Input[_builtins.str]]):
411
+ pulumi.set(self, "iam_request_body", value)
412
+
413
+ @_builtins.property
414
+ @pulumi.getter(name="iamRequestHeaders")
415
+ def iam_request_headers(self) -> Optional[pulumi.Input[_builtins.str]]:
416
+ """
417
+ The base64-encoded, JSON serialized
418
+ representation of the GetCallerIdentity HTTP request headers.
419
+ """
420
+ return pulumi.get(self, "iam_request_headers")
421
+
422
+ @iam_request_headers.setter
423
+ def iam_request_headers(self, value: Optional[pulumi.Input[_builtins.str]]):
424
+ pulumi.set(self, "iam_request_headers", value)
425
+
426
+ @_builtins.property
427
+ @pulumi.getter(name="iamRequestUrl")
428
+ def iam_request_url(self) -> Optional[pulumi.Input[_builtins.str]]:
429
+ """
430
+ The base64-encoded HTTP URL used in the signed
431
+ request.
432
+ """
433
+ return pulumi.get(self, "iam_request_url")
434
+
435
+ @iam_request_url.setter
436
+ def iam_request_url(self, value: Optional[pulumi.Input[_builtins.str]]):
437
+ pulumi.set(self, "iam_request_url", value)
438
+
439
+ @_builtins.property
440
+ @pulumi.getter
441
+ def identity(self) -> Optional[pulumi.Input[_builtins.str]]:
442
+ """
443
+ The base64-encoded EC2 instance identity document to
444
+ authenticate with. Can be retrieved from the EC2 metadata server.
445
+ """
446
+ return pulumi.get(self, "identity")
447
+
448
+ @identity.setter
449
+ def identity(self, value: Optional[pulumi.Input[_builtins.str]]):
450
+ pulumi.set(self, "identity", value)
451
+
452
+ @_builtins.property
453
+ @pulumi.getter(name="leaseDuration")
454
+ def lease_duration(self) -> Optional[pulumi.Input[_builtins.int]]:
455
+ """
456
+ The duration in seconds the token will be valid, relative
457
+ to the time in `lease_start_time`.
458
+ """
459
+ return pulumi.get(self, "lease_duration")
460
+
461
+ @lease_duration.setter
462
+ def lease_duration(self, value: Optional[pulumi.Input[_builtins.int]]):
463
+ pulumi.set(self, "lease_duration", value)
464
+
465
+ @_builtins.property
466
+ @pulumi.getter(name="leaseStartTime")
467
+ def lease_start_time(self) -> Optional[pulumi.Input[_builtins.str]]:
468
+ return pulumi.get(self, "lease_start_time")
469
+
470
+ @lease_start_time.setter
471
+ def lease_start_time(self, value: Optional[pulumi.Input[_builtins.str]]):
472
+ pulumi.set(self, "lease_start_time", value)
473
+
474
+ @_builtins.property
475
+ @pulumi.getter
476
+ def metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
477
+ """
478
+ A map of information returned by the Vault server about the
479
+ authentication used to generate this token.
480
+ """
481
+ return pulumi.get(self, "metadata")
482
+
483
+ @metadata.setter
484
+ def metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
485
+ pulumi.set(self, "metadata", value)
486
+
487
+ @_builtins.property
488
+ @pulumi.getter
489
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
490
+ """
491
+ The namespace to provision the resource in.
492
+ The value should not contain leading or trailing forward slashes.
493
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
494
+ *Available only for Vault Enterprise*.
495
+ """
496
+ return pulumi.get(self, "namespace")
497
+
498
+ @namespace.setter
499
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
500
+ pulumi.set(self, "namespace", value)
501
+
502
+ @_builtins.property
503
+ @pulumi.getter
504
+ def nonce(self) -> Optional[pulumi.Input[_builtins.str]]:
505
+ """
506
+ The unique nonce to be used for login requests. Can be
507
+ set to a user-specified value, or will contain the server-generated value
508
+ once a token is issued. EC2 instances can only acquire a single token until
509
+ the whitelist is tidied again unless they keep track of this nonce.
510
+ """
511
+ return pulumi.get(self, "nonce")
512
+
513
+ @nonce.setter
514
+ def nonce(self, value: Optional[pulumi.Input[_builtins.str]]):
515
+ pulumi.set(self, "nonce", value)
516
+
517
+ @_builtins.property
518
+ @pulumi.getter
519
+ def pkcs7(self) -> Optional[pulumi.Input[_builtins.str]]:
520
+ """
521
+ The PKCS#7 signature of the identity document to
522
+ authenticate with, with all newline characters removed. Can be retrieved from
523
+ the EC2 metadata server.
524
+ """
525
+ return pulumi.get(self, "pkcs7")
526
+
527
+ @pkcs7.setter
528
+ def pkcs7(self, value: Optional[pulumi.Input[_builtins.str]]):
529
+ pulumi.set(self, "pkcs7", value)
530
+
531
+ @_builtins.property
532
+ @pulumi.getter
533
+ def policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
534
+ """
535
+ The Vault policies assigned to this token.
536
+ """
537
+ return pulumi.get(self, "policies")
538
+
539
+ @policies.setter
540
+ def policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
541
+ pulumi.set(self, "policies", value)
542
+
543
+ @_builtins.property
544
+ @pulumi.getter
545
+ def renewable(self) -> Optional[pulumi.Input[_builtins.bool]]:
546
+ """
547
+ Set to true if the token can be extended through renewal.
548
+ """
549
+ return pulumi.get(self, "renewable")
550
+
551
+ @renewable.setter
552
+ def renewable(self, value: Optional[pulumi.Input[_builtins.bool]]):
553
+ pulumi.set(self, "renewable", value)
554
+
555
+ @_builtins.property
556
+ @pulumi.getter
557
+ def role(self) -> Optional[pulumi.Input[_builtins.str]]:
558
+ """
559
+ The name of the AWS auth backend role to create tokens
560
+ against.
561
+ """
562
+ return pulumi.get(self, "role")
563
+
564
+ @role.setter
565
+ def role(self, value: Optional[pulumi.Input[_builtins.str]]):
566
+ pulumi.set(self, "role", value)
567
+
568
+ @_builtins.property
569
+ @pulumi.getter
570
+ def signature(self) -> Optional[pulumi.Input[_builtins.str]]:
571
+ """
572
+ The base64-encoded SHA256 RSA signature of the
573
+ instance identity document to authenticate with, with all newline characters
574
+ removed. Can be retrieved from the EC2 metadata server.
575
+ """
576
+ return pulumi.get(self, "signature")
577
+
578
+ @signature.setter
579
+ def signature(self, value: Optional[pulumi.Input[_builtins.str]]):
580
+ pulumi.set(self, "signature", value)
581
+
582
+
583
+ @pulumi.type_token("vault:aws/authBackendLogin:AuthBackendLogin")
584
+ class AuthBackendLogin(pulumi.CustomResource):
585
+ @overload
586
+ def __init__(__self__,
587
+ resource_name: str,
588
+ opts: Optional[pulumi.ResourceOptions] = None,
589
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
590
+ iam_http_request_method: Optional[pulumi.Input[_builtins.str]] = None,
591
+ iam_request_body: Optional[pulumi.Input[_builtins.str]] = None,
592
+ iam_request_headers: Optional[pulumi.Input[_builtins.str]] = None,
593
+ iam_request_url: Optional[pulumi.Input[_builtins.str]] = None,
594
+ identity: Optional[pulumi.Input[_builtins.str]] = None,
595
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
596
+ nonce: Optional[pulumi.Input[_builtins.str]] = None,
597
+ pkcs7: Optional[pulumi.Input[_builtins.str]] = None,
598
+ role: Optional[pulumi.Input[_builtins.str]] = None,
599
+ signature: Optional[pulumi.Input[_builtins.str]] = None,
600
+ __props__=None):
601
+ """
602
+ Logs into a Vault server using an AWS auth backend. Login can be
603
+ accomplished using a signed identity request from IAM or using ec2
604
+ instance metadata. For more information, see the [Vault
605
+ documentation](https://www.vaultproject.io/docs/auth/aws.html).
606
+
607
+ ## Example Usage
608
+
609
+ ```python
610
+ import pulumi
611
+ import pulumi_vault as vault
612
+
613
+ aws = vault.AuthBackend("aws",
614
+ type="aws",
615
+ path="aws")
616
+ example = vault.aws.AuthBackendClient("example",
617
+ backend=aws.path,
618
+ access_key="123456789012",
619
+ secret_key="AWSSECRETKEYGOESHERE")
620
+ example_auth_backend_role = vault.aws.AuthBackendRole("example",
621
+ backend=aws.path,
622
+ role="test-role",
623
+ auth_type="ec2",
624
+ bound_ami_id="ami-8c1be5f6",
625
+ bound_account_id="123456789012",
626
+ bound_vpc_id="vpc-b61106d4",
627
+ bound_subnet_id="vpc-133128f1",
628
+ bound_iam_instance_profile_arns=["arn:aws:iam::123456789012:instance-profile/MyProfile"],
629
+ ttl=60,
630
+ max_ttl=120,
631
+ token_policies=[
632
+ "default",
633
+ "dev",
634
+ "prod",
635
+ ],
636
+ opts = pulumi.ResourceOptions(depends_on=[example]))
637
+ example_auth_backend_login = vault.aws.AuthBackendLogin("example",
638
+ backend=example_vault_auth_backend["path"],
639
+ role=example_auth_backend_role.role,
640
+ identity="BASE64ENCODEDIDENTITYDOCUMENT",
641
+ signature="BASE64ENCODEDSHA256IDENTITYDOCUMENTSIGNATURE")
642
+ ```
643
+
644
+ :param str resource_name: The name of the resource.
645
+ :param pulumi.ResourceOptions opts: Options for the resource.
646
+ :param pulumi.Input[_builtins.str] backend: The unique name of the AWS auth backend. Defaults to
647
+ 'aws'.
648
+ :param pulumi.Input[_builtins.str] iam_http_request_method: The HTTP method used in the signed IAM
649
+ request.
650
+ :param pulumi.Input[_builtins.str] iam_request_body: The base64-encoded body of the signed
651
+ request.
652
+ :param pulumi.Input[_builtins.str] iam_request_headers: The base64-encoded, JSON serialized
653
+ representation of the GetCallerIdentity HTTP request headers.
654
+ :param pulumi.Input[_builtins.str] iam_request_url: The base64-encoded HTTP URL used in the signed
655
+ request.
656
+ :param pulumi.Input[_builtins.str] identity: The base64-encoded EC2 instance identity document to
657
+ authenticate with. Can be retrieved from the EC2 metadata server.
658
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
659
+ The value should not contain leading or trailing forward slashes.
660
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
661
+ *Available only for Vault Enterprise*.
662
+ :param pulumi.Input[_builtins.str] nonce: The unique nonce to be used for login requests. Can be
663
+ set to a user-specified value, or will contain the server-generated value
664
+ once a token is issued. EC2 instances can only acquire a single token until
665
+ the whitelist is tidied again unless they keep track of this nonce.
666
+ :param pulumi.Input[_builtins.str] pkcs7: The PKCS#7 signature of the identity document to
667
+ authenticate with, with all newline characters removed. Can be retrieved from
668
+ the EC2 metadata server.
669
+ :param pulumi.Input[_builtins.str] role: The name of the AWS auth backend role to create tokens
670
+ against.
671
+ :param pulumi.Input[_builtins.str] signature: The base64-encoded SHA256 RSA signature of the
672
+ instance identity document to authenticate with, with all newline characters
673
+ removed. Can be retrieved from the EC2 metadata server.
674
+ """
675
+ ...
676
+ @overload
677
+ def __init__(__self__,
678
+ resource_name: str,
679
+ args: Optional[AuthBackendLoginArgs] = None,
680
+ opts: Optional[pulumi.ResourceOptions] = None):
681
+ """
682
+ Logs into a Vault server using an AWS auth backend. Login can be
683
+ accomplished using a signed identity request from IAM or using ec2
684
+ instance metadata. For more information, see the [Vault
685
+ documentation](https://www.vaultproject.io/docs/auth/aws.html).
686
+
687
+ ## Example Usage
688
+
689
+ ```python
690
+ import pulumi
691
+ import pulumi_vault as vault
692
+
693
+ aws = vault.AuthBackend("aws",
694
+ type="aws",
695
+ path="aws")
696
+ example = vault.aws.AuthBackendClient("example",
697
+ backend=aws.path,
698
+ access_key="123456789012",
699
+ secret_key="AWSSECRETKEYGOESHERE")
700
+ example_auth_backend_role = vault.aws.AuthBackendRole("example",
701
+ backend=aws.path,
702
+ role="test-role",
703
+ auth_type="ec2",
704
+ bound_ami_id="ami-8c1be5f6",
705
+ bound_account_id="123456789012",
706
+ bound_vpc_id="vpc-b61106d4",
707
+ bound_subnet_id="vpc-133128f1",
708
+ bound_iam_instance_profile_arns=["arn:aws:iam::123456789012:instance-profile/MyProfile"],
709
+ ttl=60,
710
+ max_ttl=120,
711
+ token_policies=[
712
+ "default",
713
+ "dev",
714
+ "prod",
715
+ ],
716
+ opts = pulumi.ResourceOptions(depends_on=[example]))
717
+ example_auth_backend_login = vault.aws.AuthBackendLogin("example",
718
+ backend=example_vault_auth_backend["path"],
719
+ role=example_auth_backend_role.role,
720
+ identity="BASE64ENCODEDIDENTITYDOCUMENT",
721
+ signature="BASE64ENCODEDSHA256IDENTITYDOCUMENTSIGNATURE")
722
+ ```
723
+
724
+ :param str resource_name: The name of the resource.
725
+ :param AuthBackendLoginArgs args: The arguments to use to populate this resource's properties.
726
+ :param pulumi.ResourceOptions opts: Options for the resource.
727
+ """
728
+ ...
729
+ def __init__(__self__, resource_name: str, *args, **kwargs):
730
+ resource_args, opts = _utilities.get_resource_args_opts(AuthBackendLoginArgs, pulumi.ResourceOptions, *args, **kwargs)
731
+ if resource_args is not None:
732
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
733
+ else:
734
+ __self__._internal_init(resource_name, *args, **kwargs)
735
+
736
+ def _internal_init(__self__,
737
+ resource_name: str,
738
+ opts: Optional[pulumi.ResourceOptions] = None,
739
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
740
+ iam_http_request_method: Optional[pulumi.Input[_builtins.str]] = None,
741
+ iam_request_body: Optional[pulumi.Input[_builtins.str]] = None,
742
+ iam_request_headers: Optional[pulumi.Input[_builtins.str]] = None,
743
+ iam_request_url: Optional[pulumi.Input[_builtins.str]] = None,
744
+ identity: Optional[pulumi.Input[_builtins.str]] = None,
745
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
746
+ nonce: Optional[pulumi.Input[_builtins.str]] = None,
747
+ pkcs7: Optional[pulumi.Input[_builtins.str]] = None,
748
+ role: Optional[pulumi.Input[_builtins.str]] = None,
749
+ signature: Optional[pulumi.Input[_builtins.str]] = None,
750
+ __props__=None):
751
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
752
+ if not isinstance(opts, pulumi.ResourceOptions):
753
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
754
+ if opts.id is None:
755
+ if __props__ is not None:
756
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
757
+ __props__ = AuthBackendLoginArgs.__new__(AuthBackendLoginArgs)
758
+
759
+ __props__.__dict__["backend"] = backend
760
+ __props__.__dict__["iam_http_request_method"] = iam_http_request_method
761
+ __props__.__dict__["iam_request_body"] = iam_request_body
762
+ __props__.__dict__["iam_request_headers"] = iam_request_headers
763
+ __props__.__dict__["iam_request_url"] = iam_request_url
764
+ __props__.__dict__["identity"] = identity
765
+ __props__.__dict__["namespace"] = namespace
766
+ __props__.__dict__["nonce"] = nonce
767
+ __props__.__dict__["pkcs7"] = pkcs7
768
+ __props__.__dict__["role"] = role
769
+ __props__.__dict__["signature"] = signature
770
+ __props__.__dict__["accessor"] = None
771
+ __props__.__dict__["auth_type"] = None
772
+ __props__.__dict__["client_token"] = None
773
+ __props__.__dict__["lease_duration"] = None
774
+ __props__.__dict__["lease_start_time"] = None
775
+ __props__.__dict__["metadata"] = None
776
+ __props__.__dict__["policies"] = None
777
+ __props__.__dict__["renewable"] = None
778
+ secret_opts = pulumi.ResourceOptions(additional_secret_outputs=["clientToken"])
779
+ opts = pulumi.ResourceOptions.merge(opts, secret_opts)
780
+ super(AuthBackendLogin, __self__).__init__(
781
+ 'vault:aws/authBackendLogin:AuthBackendLogin',
782
+ resource_name,
783
+ __props__,
784
+ opts)
785
+
786
+ @staticmethod
787
+ def get(resource_name: str,
788
+ id: pulumi.Input[str],
789
+ opts: Optional[pulumi.ResourceOptions] = None,
790
+ accessor: Optional[pulumi.Input[_builtins.str]] = None,
791
+ auth_type: Optional[pulumi.Input[_builtins.str]] = None,
792
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
793
+ client_token: Optional[pulumi.Input[_builtins.str]] = None,
794
+ iam_http_request_method: Optional[pulumi.Input[_builtins.str]] = None,
795
+ iam_request_body: Optional[pulumi.Input[_builtins.str]] = None,
796
+ iam_request_headers: Optional[pulumi.Input[_builtins.str]] = None,
797
+ iam_request_url: Optional[pulumi.Input[_builtins.str]] = None,
798
+ identity: Optional[pulumi.Input[_builtins.str]] = None,
799
+ lease_duration: Optional[pulumi.Input[_builtins.int]] = None,
800
+ lease_start_time: Optional[pulumi.Input[_builtins.str]] = None,
801
+ metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
802
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
803
+ nonce: Optional[pulumi.Input[_builtins.str]] = None,
804
+ pkcs7: Optional[pulumi.Input[_builtins.str]] = None,
805
+ policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
806
+ renewable: Optional[pulumi.Input[_builtins.bool]] = None,
807
+ role: Optional[pulumi.Input[_builtins.str]] = None,
808
+ signature: Optional[pulumi.Input[_builtins.str]] = None) -> 'AuthBackendLogin':
809
+ """
810
+ Get an existing AuthBackendLogin resource's state with the given name, id, and optional extra
811
+ properties used to qualify the lookup.
812
+
813
+ :param str resource_name: The unique name of the resulting resource.
814
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
815
+ :param pulumi.ResourceOptions opts: Options for the resource.
816
+ :param pulumi.Input[_builtins.str] accessor: The token's accessor.
817
+ :param pulumi.Input[_builtins.str] auth_type: The authentication type used to generate this token.
818
+ :param pulumi.Input[_builtins.str] backend: The unique name of the AWS auth backend. Defaults to
819
+ 'aws'.
820
+ :param pulumi.Input[_builtins.str] client_token: The token returned by Vault.
821
+ :param pulumi.Input[_builtins.str] iam_http_request_method: The HTTP method used in the signed IAM
822
+ request.
823
+ :param pulumi.Input[_builtins.str] iam_request_body: The base64-encoded body of the signed
824
+ request.
825
+ :param pulumi.Input[_builtins.str] iam_request_headers: The base64-encoded, JSON serialized
826
+ representation of the GetCallerIdentity HTTP request headers.
827
+ :param pulumi.Input[_builtins.str] iam_request_url: The base64-encoded HTTP URL used in the signed
828
+ request.
829
+ :param pulumi.Input[_builtins.str] identity: The base64-encoded EC2 instance identity document to
830
+ authenticate with. Can be retrieved from the EC2 metadata server.
831
+ :param pulumi.Input[_builtins.int] lease_duration: The duration in seconds the token will be valid, relative
832
+ to the time in `lease_start_time`.
833
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] metadata: A map of information returned by the Vault server about the
834
+ authentication used to generate this token.
835
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
836
+ The value should not contain leading or trailing forward slashes.
837
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
838
+ *Available only for Vault Enterprise*.
839
+ :param pulumi.Input[_builtins.str] nonce: The unique nonce to be used for login requests. Can be
840
+ set to a user-specified value, or will contain the server-generated value
841
+ once a token is issued. EC2 instances can only acquire a single token until
842
+ the whitelist is tidied again unless they keep track of this nonce.
843
+ :param pulumi.Input[_builtins.str] pkcs7: The PKCS#7 signature of the identity document to
844
+ authenticate with, with all newline characters removed. Can be retrieved from
845
+ the EC2 metadata server.
846
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] policies: The Vault policies assigned to this token.
847
+ :param pulumi.Input[_builtins.bool] renewable: Set to true if the token can be extended through renewal.
848
+ :param pulumi.Input[_builtins.str] role: The name of the AWS auth backend role to create tokens
849
+ against.
850
+ :param pulumi.Input[_builtins.str] signature: The base64-encoded SHA256 RSA signature of the
851
+ instance identity document to authenticate with, with all newline characters
852
+ removed. Can be retrieved from the EC2 metadata server.
853
+ """
854
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
855
+
856
+ __props__ = _AuthBackendLoginState.__new__(_AuthBackendLoginState)
857
+
858
+ __props__.__dict__["accessor"] = accessor
859
+ __props__.__dict__["auth_type"] = auth_type
860
+ __props__.__dict__["backend"] = backend
861
+ __props__.__dict__["client_token"] = client_token
862
+ __props__.__dict__["iam_http_request_method"] = iam_http_request_method
863
+ __props__.__dict__["iam_request_body"] = iam_request_body
864
+ __props__.__dict__["iam_request_headers"] = iam_request_headers
865
+ __props__.__dict__["iam_request_url"] = iam_request_url
866
+ __props__.__dict__["identity"] = identity
867
+ __props__.__dict__["lease_duration"] = lease_duration
868
+ __props__.__dict__["lease_start_time"] = lease_start_time
869
+ __props__.__dict__["metadata"] = metadata
870
+ __props__.__dict__["namespace"] = namespace
871
+ __props__.__dict__["nonce"] = nonce
872
+ __props__.__dict__["pkcs7"] = pkcs7
873
+ __props__.__dict__["policies"] = policies
874
+ __props__.__dict__["renewable"] = renewable
875
+ __props__.__dict__["role"] = role
876
+ __props__.__dict__["signature"] = signature
877
+ return AuthBackendLogin(resource_name, opts=opts, __props__=__props__)
878
+
879
+ @_builtins.property
880
+ @pulumi.getter
881
+ def accessor(self) -> pulumi.Output[_builtins.str]:
882
+ """
883
+ The token's accessor.
884
+ """
885
+ return pulumi.get(self, "accessor")
886
+
887
+ @_builtins.property
888
+ @pulumi.getter(name="authType")
889
+ def auth_type(self) -> pulumi.Output[_builtins.str]:
890
+ """
891
+ The authentication type used to generate this token.
892
+ """
893
+ return pulumi.get(self, "auth_type")
894
+
895
+ @_builtins.property
896
+ @pulumi.getter
897
+ def backend(self) -> pulumi.Output[Optional[_builtins.str]]:
898
+ """
899
+ The unique name of the AWS auth backend. Defaults to
900
+ 'aws'.
901
+ """
902
+ return pulumi.get(self, "backend")
903
+
904
+ @_builtins.property
905
+ @pulumi.getter(name="clientToken")
906
+ def client_token(self) -> pulumi.Output[_builtins.str]:
907
+ """
908
+ The token returned by Vault.
909
+ """
910
+ return pulumi.get(self, "client_token")
911
+
912
+ @_builtins.property
913
+ @pulumi.getter(name="iamHttpRequestMethod")
914
+ def iam_http_request_method(self) -> pulumi.Output[Optional[_builtins.str]]:
915
+ """
916
+ The HTTP method used in the signed IAM
917
+ request.
918
+ """
919
+ return pulumi.get(self, "iam_http_request_method")
920
+
921
+ @_builtins.property
922
+ @pulumi.getter(name="iamRequestBody")
923
+ def iam_request_body(self) -> pulumi.Output[Optional[_builtins.str]]:
924
+ """
925
+ The base64-encoded body of the signed
926
+ request.
927
+ """
928
+ return pulumi.get(self, "iam_request_body")
929
+
930
+ @_builtins.property
931
+ @pulumi.getter(name="iamRequestHeaders")
932
+ def iam_request_headers(self) -> pulumi.Output[Optional[_builtins.str]]:
933
+ """
934
+ The base64-encoded, JSON serialized
935
+ representation of the GetCallerIdentity HTTP request headers.
936
+ """
937
+ return pulumi.get(self, "iam_request_headers")
938
+
939
+ @_builtins.property
940
+ @pulumi.getter(name="iamRequestUrl")
941
+ def iam_request_url(self) -> pulumi.Output[Optional[_builtins.str]]:
942
+ """
943
+ The base64-encoded HTTP URL used in the signed
944
+ request.
945
+ """
946
+ return pulumi.get(self, "iam_request_url")
947
+
948
+ @_builtins.property
949
+ @pulumi.getter
950
+ def identity(self) -> pulumi.Output[Optional[_builtins.str]]:
951
+ """
952
+ The base64-encoded EC2 instance identity document to
953
+ authenticate with. Can be retrieved from the EC2 metadata server.
954
+ """
955
+ return pulumi.get(self, "identity")
956
+
957
+ @_builtins.property
958
+ @pulumi.getter(name="leaseDuration")
959
+ def lease_duration(self) -> pulumi.Output[_builtins.int]:
960
+ """
961
+ The duration in seconds the token will be valid, relative
962
+ to the time in `lease_start_time`.
963
+ """
964
+ return pulumi.get(self, "lease_duration")
965
+
966
+ @_builtins.property
967
+ @pulumi.getter(name="leaseStartTime")
968
+ def lease_start_time(self) -> pulumi.Output[_builtins.str]:
969
+ return pulumi.get(self, "lease_start_time")
970
+
971
+ @_builtins.property
972
+ @pulumi.getter
973
+ def metadata(self) -> pulumi.Output[Mapping[str, _builtins.str]]:
974
+ """
975
+ A map of information returned by the Vault server about the
976
+ authentication used to generate this token.
977
+ """
978
+ return pulumi.get(self, "metadata")
979
+
980
+ @_builtins.property
981
+ @pulumi.getter
982
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
983
+ """
984
+ The namespace to provision the resource in.
985
+ The value should not contain leading or trailing forward slashes.
986
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
987
+ *Available only for Vault Enterprise*.
988
+ """
989
+ return pulumi.get(self, "namespace")
990
+
991
+ @_builtins.property
992
+ @pulumi.getter
993
+ def nonce(self) -> pulumi.Output[_builtins.str]:
994
+ """
995
+ The unique nonce to be used for login requests. Can be
996
+ set to a user-specified value, or will contain the server-generated value
997
+ once a token is issued. EC2 instances can only acquire a single token until
998
+ the whitelist is tidied again unless they keep track of this nonce.
999
+ """
1000
+ return pulumi.get(self, "nonce")
1001
+
1002
+ @_builtins.property
1003
+ @pulumi.getter
1004
+ def pkcs7(self) -> pulumi.Output[Optional[_builtins.str]]:
1005
+ """
1006
+ The PKCS#7 signature of the identity document to
1007
+ authenticate with, with all newline characters removed. Can be retrieved from
1008
+ the EC2 metadata server.
1009
+ """
1010
+ return pulumi.get(self, "pkcs7")
1011
+
1012
+ @_builtins.property
1013
+ @pulumi.getter
1014
+ def policies(self) -> pulumi.Output[Sequence[_builtins.str]]:
1015
+ """
1016
+ The Vault policies assigned to this token.
1017
+ """
1018
+ return pulumi.get(self, "policies")
1019
+
1020
+ @_builtins.property
1021
+ @pulumi.getter
1022
+ def renewable(self) -> pulumi.Output[_builtins.bool]:
1023
+ """
1024
+ Set to true if the token can be extended through renewal.
1025
+ """
1026
+ return pulumi.get(self, "renewable")
1027
+
1028
+ @_builtins.property
1029
+ @pulumi.getter
1030
+ def role(self) -> pulumi.Output[_builtins.str]:
1031
+ """
1032
+ The name of the AWS auth backend role to create tokens
1033
+ against.
1034
+ """
1035
+ return pulumi.get(self, "role")
1036
+
1037
+ @_builtins.property
1038
+ @pulumi.getter
1039
+ def signature(self) -> pulumi.Output[Optional[_builtins.str]]:
1040
+ """
1041
+ The base64-encoded SHA256 RSA signature of the
1042
+ instance identity document to authenticate with, with all newline characters
1043
+ removed. Can be retrieved from the EC2 metadata server.
1044
+ """
1045
+ return pulumi.get(self, "signature")
1046
+