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,1961 @@
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__ = ['AuthBackendRoleArgs', 'AuthBackendRole']
18
+
19
+ @pulumi.input_type
20
+ class AuthBackendRoleArgs:
21
+ def __init__(__self__, *,
22
+ role: pulumi.Input[_builtins.str],
23
+ alias_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
24
+ allow_instance_migration: Optional[pulumi.Input[_builtins.bool]] = None,
25
+ auth_type: Optional[pulumi.Input[_builtins.str]] = None,
26
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
27
+ bound_account_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
28
+ bound_ami_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
29
+ bound_ec2_instance_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
30
+ bound_iam_instance_profile_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
31
+ bound_iam_principal_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
32
+ bound_iam_role_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
33
+ bound_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
34
+ bound_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
35
+ bound_vpc_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
36
+ disallow_reauthentication: Optional[pulumi.Input[_builtins.bool]] = None,
37
+ inferred_aws_region: Optional[pulumi.Input[_builtins.str]] = None,
38
+ inferred_entity_type: Optional[pulumi.Input[_builtins.str]] = None,
39
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
40
+ resolve_aws_unique_ids: Optional[pulumi.Input[_builtins.bool]] = None,
41
+ role_tag: Optional[pulumi.Input[_builtins.str]] = None,
42
+ token_bound_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
43
+ token_explicit_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
44
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
45
+ token_no_default_policy: Optional[pulumi.Input[_builtins.bool]] = None,
46
+ token_num_uses: Optional[pulumi.Input[_builtins.int]] = None,
47
+ token_period: Optional[pulumi.Input[_builtins.int]] = None,
48
+ token_policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
49
+ token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
50
+ token_type: Optional[pulumi.Input[_builtins.str]] = None):
51
+ """
52
+ The set of arguments for constructing a AuthBackendRole resource.
53
+ :param pulumi.Input[_builtins.str] role: The name of the role.
54
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] alias_metadata: The metadata to be tied to generated entity alias.
55
+ This should be a list or map containing the metadata in key value pairs.
56
+ :param pulumi.Input[_builtins.bool] allow_instance_migration: If set to `true`, allows migration of
57
+ the underlying instance where the client resides.
58
+ :param pulumi.Input[_builtins.str] auth_type: The auth type permitted for this role. Valid choices
59
+ are `ec2` and `iam`. Defaults to `iam`.
60
+ :param pulumi.Input[_builtins.str] backend: Path to the mounted aws auth backend.
61
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_account_ids: If set, defines a constraint on the EC2
62
+ instances that can perform the login operation that they should be using the
63
+ account ID specified by this field. `auth_type` must be set to `ec2` or
64
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
65
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_ami_ids: If set, defines a constraint on the EC2 instances
66
+ that can perform the login operation that they should be using the AMI ID
67
+ specified by this field. `auth_type` must be set to `ec2` or
68
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
69
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_ec2_instance_ids: Only EC2 instances that match this instance ID will be permitted to log in.
70
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_iam_instance_profile_arns: If set, defines a constraint on
71
+ the EC2 instances that can perform the login operation that they must be
72
+ associated with an IAM instance profile ARN which has a prefix that matches
73
+ the value specified by this field. The value is prefix-matched as though it
74
+ were a glob ending in `*`. `auth_type` must be set to `ec2` or
75
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
76
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_iam_principal_arns: If set, defines the IAM principal that
77
+ must be authenticated when `auth_type` is set to `iam`. Wildcards are
78
+ supported at the end of the ARN.
79
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_iam_role_arns: If set, defines a constraint on the EC2
80
+ instances that can perform the login operation that they must match the IAM
81
+ role ARN specified by this field. `auth_type` must be set to `ec2` or
82
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
83
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_regions: If set, defines a constraint on the EC2 instances
84
+ that can perform the login operation that the region in their identity
85
+ document must match the one specified by this field. `auth_type` must be set
86
+ to `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
87
+ constraint.
88
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_subnet_ids: If set, defines a constraint on the EC2
89
+ instances that can perform the login operation that they be associated with
90
+ the subnet ID that matches the value specified by this field. `auth_type`
91
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
92
+ to use this constraint.
93
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_vpc_ids: If set, defines a constraint on the EC2 instances
94
+ that can perform the login operation that they be associated with the VPC ID
95
+ that matches the value specified by this field. `auth_type` must be set to
96
+ `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
97
+ constraint.
98
+ :param pulumi.Input[_builtins.bool] disallow_reauthentication: IF set to `true`, only allows a
99
+ single token to be granted per instance ID. This can only be set when
100
+ `auth_type` is set to `ec2`.
101
+ :param pulumi.Input[_builtins.str] inferred_aws_region: When `inferred_entity_type` is set, this
102
+ is the region to search for the inferred entities. Required if
103
+ `inferred_entity_type` is set. This only applies when `auth_type` is set to
104
+ `iam`.
105
+ :param pulumi.Input[_builtins.str] inferred_entity_type: If set, instructs Vault to turn on
106
+ inferencing. The only valid value is `ec2_instance`, which instructs Vault to
107
+ infer that the role comes from an EC2 instance in an IAM instance profile.
108
+ This only applies when `auth_type` is set to `iam`.
109
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
110
+ The value should not contain leading or trailing forward slashes.
111
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
112
+ *Available only for Vault Enterprise*.
113
+ :param pulumi.Input[_builtins.bool] resolve_aws_unique_ids: Only valid when
114
+ `auth_type` is `iam`. If set to `true`, the `bound_iam_principal_arns` are
115
+ resolved to [AWS Unique
116
+ IDs](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids)
117
+ for the bound principal ARN. This field is ignored when a
118
+ `bound_iam_principal_arn` ends in a wildcard. Resolving to unique IDs more
119
+ closely mimics the behavior of AWS services in that if an IAM user or role is
120
+ deleted and a new one is recreated with the same name, those new users or
121
+ roles won't get access to roles in Vault that were permissioned to the prior
122
+ principals of the same name. Defaults to `true`.
123
+ Once set to `true`, this cannot be changed to `false` without recreating the role.
124
+ :param pulumi.Input[_builtins.str] role_tag: If set, enable role tags for this role. The value set
125
+ for this field should be the key of the tag on the EC2 instance. `auth_type`
126
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
127
+ to use this constraint.
128
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_bound_cidrs: Specifies the blocks of IP addresses which are allowed to use the generated token
129
+ :param pulumi.Input[_builtins.int] token_explicit_max_ttl: Generated Token's Explicit Maximum TTL in seconds
130
+ :param pulumi.Input[_builtins.int] token_max_ttl: The maximum lifetime of the generated token
131
+ :param pulumi.Input[_builtins.bool] token_no_default_policy: If true, the 'default' policy will not automatically be added to generated tokens
132
+ :param pulumi.Input[_builtins.int] token_num_uses: The maximum number of times a token may be used, a value of zero means unlimited
133
+ :param pulumi.Input[_builtins.int] token_period: Generated Token's Period
134
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_policies: Generated Token's Policies
135
+ :param pulumi.Input[_builtins.int] token_ttl: The initial ttl of the token to generate in seconds
136
+ :param pulumi.Input[_builtins.str] token_type: The type of token to generate, service or batch
137
+ """
138
+ pulumi.set(__self__, "role", role)
139
+ if alias_metadata is not None:
140
+ pulumi.set(__self__, "alias_metadata", alias_metadata)
141
+ if allow_instance_migration is not None:
142
+ pulumi.set(__self__, "allow_instance_migration", allow_instance_migration)
143
+ if auth_type is not None:
144
+ pulumi.set(__self__, "auth_type", auth_type)
145
+ if backend is not None:
146
+ pulumi.set(__self__, "backend", backend)
147
+ if bound_account_ids is not None:
148
+ pulumi.set(__self__, "bound_account_ids", bound_account_ids)
149
+ if bound_ami_ids is not None:
150
+ pulumi.set(__self__, "bound_ami_ids", bound_ami_ids)
151
+ if bound_ec2_instance_ids is not None:
152
+ pulumi.set(__self__, "bound_ec2_instance_ids", bound_ec2_instance_ids)
153
+ if bound_iam_instance_profile_arns is not None:
154
+ pulumi.set(__self__, "bound_iam_instance_profile_arns", bound_iam_instance_profile_arns)
155
+ if bound_iam_principal_arns is not None:
156
+ pulumi.set(__self__, "bound_iam_principal_arns", bound_iam_principal_arns)
157
+ if bound_iam_role_arns is not None:
158
+ pulumi.set(__self__, "bound_iam_role_arns", bound_iam_role_arns)
159
+ if bound_regions is not None:
160
+ pulumi.set(__self__, "bound_regions", bound_regions)
161
+ if bound_subnet_ids is not None:
162
+ pulumi.set(__self__, "bound_subnet_ids", bound_subnet_ids)
163
+ if bound_vpc_ids is not None:
164
+ pulumi.set(__self__, "bound_vpc_ids", bound_vpc_ids)
165
+ if disallow_reauthentication is not None:
166
+ pulumi.set(__self__, "disallow_reauthentication", disallow_reauthentication)
167
+ if inferred_aws_region is not None:
168
+ pulumi.set(__self__, "inferred_aws_region", inferred_aws_region)
169
+ if inferred_entity_type is not None:
170
+ pulumi.set(__self__, "inferred_entity_type", inferred_entity_type)
171
+ if namespace is not None:
172
+ pulumi.set(__self__, "namespace", namespace)
173
+ if resolve_aws_unique_ids is not None:
174
+ pulumi.set(__self__, "resolve_aws_unique_ids", resolve_aws_unique_ids)
175
+ if role_tag is not None:
176
+ pulumi.set(__self__, "role_tag", role_tag)
177
+ if token_bound_cidrs is not None:
178
+ pulumi.set(__self__, "token_bound_cidrs", token_bound_cidrs)
179
+ if token_explicit_max_ttl is not None:
180
+ pulumi.set(__self__, "token_explicit_max_ttl", token_explicit_max_ttl)
181
+ if token_max_ttl is not None:
182
+ pulumi.set(__self__, "token_max_ttl", token_max_ttl)
183
+ if token_no_default_policy is not None:
184
+ pulumi.set(__self__, "token_no_default_policy", token_no_default_policy)
185
+ if token_num_uses is not None:
186
+ pulumi.set(__self__, "token_num_uses", token_num_uses)
187
+ if token_period is not None:
188
+ pulumi.set(__self__, "token_period", token_period)
189
+ if token_policies is not None:
190
+ pulumi.set(__self__, "token_policies", token_policies)
191
+ if token_ttl is not None:
192
+ pulumi.set(__self__, "token_ttl", token_ttl)
193
+ if token_type is not None:
194
+ pulumi.set(__self__, "token_type", token_type)
195
+
196
+ @_builtins.property
197
+ @pulumi.getter
198
+ def role(self) -> pulumi.Input[_builtins.str]:
199
+ """
200
+ The name of the role.
201
+ """
202
+ return pulumi.get(self, "role")
203
+
204
+ @role.setter
205
+ def role(self, value: pulumi.Input[_builtins.str]):
206
+ pulumi.set(self, "role", value)
207
+
208
+ @_builtins.property
209
+ @pulumi.getter(name="aliasMetadata")
210
+ def alias_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
211
+ """
212
+ The metadata to be tied to generated entity alias.
213
+ This should be a list or map containing the metadata in key value pairs.
214
+ """
215
+ return pulumi.get(self, "alias_metadata")
216
+
217
+ @alias_metadata.setter
218
+ def alias_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
219
+ pulumi.set(self, "alias_metadata", value)
220
+
221
+ @_builtins.property
222
+ @pulumi.getter(name="allowInstanceMigration")
223
+ def allow_instance_migration(self) -> Optional[pulumi.Input[_builtins.bool]]:
224
+ """
225
+ If set to `true`, allows migration of
226
+ the underlying instance where the client resides.
227
+ """
228
+ return pulumi.get(self, "allow_instance_migration")
229
+
230
+ @allow_instance_migration.setter
231
+ def allow_instance_migration(self, value: Optional[pulumi.Input[_builtins.bool]]):
232
+ pulumi.set(self, "allow_instance_migration", value)
233
+
234
+ @_builtins.property
235
+ @pulumi.getter(name="authType")
236
+ def auth_type(self) -> Optional[pulumi.Input[_builtins.str]]:
237
+ """
238
+ The auth type permitted for this role. Valid choices
239
+ are `ec2` and `iam`. Defaults to `iam`.
240
+ """
241
+ return pulumi.get(self, "auth_type")
242
+
243
+ @auth_type.setter
244
+ def auth_type(self, value: Optional[pulumi.Input[_builtins.str]]):
245
+ pulumi.set(self, "auth_type", value)
246
+
247
+ @_builtins.property
248
+ @pulumi.getter
249
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
250
+ """
251
+ Path to the mounted aws auth backend.
252
+ """
253
+ return pulumi.get(self, "backend")
254
+
255
+ @backend.setter
256
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
257
+ pulumi.set(self, "backend", value)
258
+
259
+ @_builtins.property
260
+ @pulumi.getter(name="boundAccountIds")
261
+ def bound_account_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
262
+ """
263
+ If set, defines a constraint on the EC2
264
+ instances that can perform the login operation that they should be using the
265
+ account ID specified by this field. `auth_type` must be set to `ec2` or
266
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
267
+ """
268
+ return pulumi.get(self, "bound_account_ids")
269
+
270
+ @bound_account_ids.setter
271
+ def bound_account_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
272
+ pulumi.set(self, "bound_account_ids", value)
273
+
274
+ @_builtins.property
275
+ @pulumi.getter(name="boundAmiIds")
276
+ def bound_ami_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
277
+ """
278
+ If set, defines a constraint on the EC2 instances
279
+ that can perform the login operation that they should be using the AMI ID
280
+ specified by this field. `auth_type` must be set to `ec2` or
281
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
282
+ """
283
+ return pulumi.get(self, "bound_ami_ids")
284
+
285
+ @bound_ami_ids.setter
286
+ def bound_ami_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
287
+ pulumi.set(self, "bound_ami_ids", value)
288
+
289
+ @_builtins.property
290
+ @pulumi.getter(name="boundEc2InstanceIds")
291
+ def bound_ec2_instance_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
292
+ """
293
+ Only EC2 instances that match this instance ID will be permitted to log in.
294
+ """
295
+ return pulumi.get(self, "bound_ec2_instance_ids")
296
+
297
+ @bound_ec2_instance_ids.setter
298
+ def bound_ec2_instance_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
299
+ pulumi.set(self, "bound_ec2_instance_ids", value)
300
+
301
+ @_builtins.property
302
+ @pulumi.getter(name="boundIamInstanceProfileArns")
303
+ def bound_iam_instance_profile_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
304
+ """
305
+ If set, defines a constraint on
306
+ the EC2 instances that can perform the login operation that they must be
307
+ associated with an IAM instance profile ARN which has a prefix that matches
308
+ the value specified by this field. The value is prefix-matched as though it
309
+ were a glob ending in `*`. `auth_type` must be set to `ec2` or
310
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
311
+ """
312
+ return pulumi.get(self, "bound_iam_instance_profile_arns")
313
+
314
+ @bound_iam_instance_profile_arns.setter
315
+ def bound_iam_instance_profile_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
316
+ pulumi.set(self, "bound_iam_instance_profile_arns", value)
317
+
318
+ @_builtins.property
319
+ @pulumi.getter(name="boundIamPrincipalArns")
320
+ def bound_iam_principal_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
321
+ """
322
+ If set, defines the IAM principal that
323
+ must be authenticated when `auth_type` is set to `iam`. Wildcards are
324
+ supported at the end of the ARN.
325
+ """
326
+ return pulumi.get(self, "bound_iam_principal_arns")
327
+
328
+ @bound_iam_principal_arns.setter
329
+ def bound_iam_principal_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
330
+ pulumi.set(self, "bound_iam_principal_arns", value)
331
+
332
+ @_builtins.property
333
+ @pulumi.getter(name="boundIamRoleArns")
334
+ def bound_iam_role_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
335
+ """
336
+ If set, defines a constraint on the EC2
337
+ instances that can perform the login operation that they must match the IAM
338
+ role ARN specified by this field. `auth_type` must be set to `ec2` or
339
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
340
+ """
341
+ return pulumi.get(self, "bound_iam_role_arns")
342
+
343
+ @bound_iam_role_arns.setter
344
+ def bound_iam_role_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
345
+ pulumi.set(self, "bound_iam_role_arns", value)
346
+
347
+ @_builtins.property
348
+ @pulumi.getter(name="boundRegions")
349
+ def bound_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
350
+ """
351
+ If set, defines a constraint on the EC2 instances
352
+ that can perform the login operation that the region in their identity
353
+ document must match the one specified by this field. `auth_type` must be set
354
+ to `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
355
+ constraint.
356
+ """
357
+ return pulumi.get(self, "bound_regions")
358
+
359
+ @bound_regions.setter
360
+ def bound_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
361
+ pulumi.set(self, "bound_regions", value)
362
+
363
+ @_builtins.property
364
+ @pulumi.getter(name="boundSubnetIds")
365
+ def bound_subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
366
+ """
367
+ If set, defines a constraint on the EC2
368
+ instances that can perform the login operation that they be associated with
369
+ the subnet ID that matches the value specified by this field. `auth_type`
370
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
371
+ to use this constraint.
372
+ """
373
+ return pulumi.get(self, "bound_subnet_ids")
374
+
375
+ @bound_subnet_ids.setter
376
+ def bound_subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
377
+ pulumi.set(self, "bound_subnet_ids", value)
378
+
379
+ @_builtins.property
380
+ @pulumi.getter(name="boundVpcIds")
381
+ def bound_vpc_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
382
+ """
383
+ If set, defines a constraint on the EC2 instances
384
+ that can perform the login operation that they be associated with the VPC ID
385
+ that matches the value specified by this field. `auth_type` must be set to
386
+ `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
387
+ constraint.
388
+ """
389
+ return pulumi.get(self, "bound_vpc_ids")
390
+
391
+ @bound_vpc_ids.setter
392
+ def bound_vpc_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
393
+ pulumi.set(self, "bound_vpc_ids", value)
394
+
395
+ @_builtins.property
396
+ @pulumi.getter(name="disallowReauthentication")
397
+ def disallow_reauthentication(self) -> Optional[pulumi.Input[_builtins.bool]]:
398
+ """
399
+ IF set to `true`, only allows a
400
+ single token to be granted per instance ID. This can only be set when
401
+ `auth_type` is set to `ec2`.
402
+ """
403
+ return pulumi.get(self, "disallow_reauthentication")
404
+
405
+ @disallow_reauthentication.setter
406
+ def disallow_reauthentication(self, value: Optional[pulumi.Input[_builtins.bool]]):
407
+ pulumi.set(self, "disallow_reauthentication", value)
408
+
409
+ @_builtins.property
410
+ @pulumi.getter(name="inferredAwsRegion")
411
+ def inferred_aws_region(self) -> Optional[pulumi.Input[_builtins.str]]:
412
+ """
413
+ When `inferred_entity_type` is set, this
414
+ is the region to search for the inferred entities. Required if
415
+ `inferred_entity_type` is set. This only applies when `auth_type` is set to
416
+ `iam`.
417
+ """
418
+ return pulumi.get(self, "inferred_aws_region")
419
+
420
+ @inferred_aws_region.setter
421
+ def inferred_aws_region(self, value: Optional[pulumi.Input[_builtins.str]]):
422
+ pulumi.set(self, "inferred_aws_region", value)
423
+
424
+ @_builtins.property
425
+ @pulumi.getter(name="inferredEntityType")
426
+ def inferred_entity_type(self) -> Optional[pulumi.Input[_builtins.str]]:
427
+ """
428
+ If set, instructs Vault to turn on
429
+ inferencing. The only valid value is `ec2_instance`, which instructs Vault to
430
+ infer that the role comes from an EC2 instance in an IAM instance profile.
431
+ This only applies when `auth_type` is set to `iam`.
432
+ """
433
+ return pulumi.get(self, "inferred_entity_type")
434
+
435
+ @inferred_entity_type.setter
436
+ def inferred_entity_type(self, value: Optional[pulumi.Input[_builtins.str]]):
437
+ pulumi.set(self, "inferred_entity_type", value)
438
+
439
+ @_builtins.property
440
+ @pulumi.getter
441
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
442
+ """
443
+ The namespace to provision the resource in.
444
+ The value should not contain leading or trailing forward slashes.
445
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
446
+ *Available only for Vault Enterprise*.
447
+ """
448
+ return pulumi.get(self, "namespace")
449
+
450
+ @namespace.setter
451
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
452
+ pulumi.set(self, "namespace", value)
453
+
454
+ @_builtins.property
455
+ @pulumi.getter(name="resolveAwsUniqueIds")
456
+ def resolve_aws_unique_ids(self) -> Optional[pulumi.Input[_builtins.bool]]:
457
+ """
458
+ Only valid when
459
+ `auth_type` is `iam`. If set to `true`, the `bound_iam_principal_arns` are
460
+ resolved to [AWS Unique
461
+ IDs](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids)
462
+ for the bound principal ARN. This field is ignored when a
463
+ `bound_iam_principal_arn` ends in a wildcard. Resolving to unique IDs more
464
+ closely mimics the behavior of AWS services in that if an IAM user or role is
465
+ deleted and a new one is recreated with the same name, those new users or
466
+ roles won't get access to roles in Vault that were permissioned to the prior
467
+ principals of the same name. Defaults to `true`.
468
+ Once set to `true`, this cannot be changed to `false` without recreating the role.
469
+ """
470
+ return pulumi.get(self, "resolve_aws_unique_ids")
471
+
472
+ @resolve_aws_unique_ids.setter
473
+ def resolve_aws_unique_ids(self, value: Optional[pulumi.Input[_builtins.bool]]):
474
+ pulumi.set(self, "resolve_aws_unique_ids", value)
475
+
476
+ @_builtins.property
477
+ @pulumi.getter(name="roleTag")
478
+ def role_tag(self) -> Optional[pulumi.Input[_builtins.str]]:
479
+ """
480
+ If set, enable role tags for this role. The value set
481
+ for this field should be the key of the tag on the EC2 instance. `auth_type`
482
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
483
+ to use this constraint.
484
+ """
485
+ return pulumi.get(self, "role_tag")
486
+
487
+ @role_tag.setter
488
+ def role_tag(self, value: Optional[pulumi.Input[_builtins.str]]):
489
+ pulumi.set(self, "role_tag", value)
490
+
491
+ @_builtins.property
492
+ @pulumi.getter(name="tokenBoundCidrs")
493
+ def token_bound_cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
494
+ """
495
+ Specifies the blocks of IP addresses which are allowed to use the generated token
496
+ """
497
+ return pulumi.get(self, "token_bound_cidrs")
498
+
499
+ @token_bound_cidrs.setter
500
+ def token_bound_cidrs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
501
+ pulumi.set(self, "token_bound_cidrs", value)
502
+
503
+ @_builtins.property
504
+ @pulumi.getter(name="tokenExplicitMaxTtl")
505
+ def token_explicit_max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
506
+ """
507
+ Generated Token's Explicit Maximum TTL in seconds
508
+ """
509
+ return pulumi.get(self, "token_explicit_max_ttl")
510
+
511
+ @token_explicit_max_ttl.setter
512
+ def token_explicit_max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
513
+ pulumi.set(self, "token_explicit_max_ttl", value)
514
+
515
+ @_builtins.property
516
+ @pulumi.getter(name="tokenMaxTtl")
517
+ def token_max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
518
+ """
519
+ The maximum lifetime of the generated token
520
+ """
521
+ return pulumi.get(self, "token_max_ttl")
522
+
523
+ @token_max_ttl.setter
524
+ def token_max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
525
+ pulumi.set(self, "token_max_ttl", value)
526
+
527
+ @_builtins.property
528
+ @pulumi.getter(name="tokenNoDefaultPolicy")
529
+ def token_no_default_policy(self) -> Optional[pulumi.Input[_builtins.bool]]:
530
+ """
531
+ If true, the 'default' policy will not automatically be added to generated tokens
532
+ """
533
+ return pulumi.get(self, "token_no_default_policy")
534
+
535
+ @token_no_default_policy.setter
536
+ def token_no_default_policy(self, value: Optional[pulumi.Input[_builtins.bool]]):
537
+ pulumi.set(self, "token_no_default_policy", value)
538
+
539
+ @_builtins.property
540
+ @pulumi.getter(name="tokenNumUses")
541
+ def token_num_uses(self) -> Optional[pulumi.Input[_builtins.int]]:
542
+ """
543
+ The maximum number of times a token may be used, a value of zero means unlimited
544
+ """
545
+ return pulumi.get(self, "token_num_uses")
546
+
547
+ @token_num_uses.setter
548
+ def token_num_uses(self, value: Optional[pulumi.Input[_builtins.int]]):
549
+ pulumi.set(self, "token_num_uses", value)
550
+
551
+ @_builtins.property
552
+ @pulumi.getter(name="tokenPeriod")
553
+ def token_period(self) -> Optional[pulumi.Input[_builtins.int]]:
554
+ """
555
+ Generated Token's Period
556
+ """
557
+ return pulumi.get(self, "token_period")
558
+
559
+ @token_period.setter
560
+ def token_period(self, value: Optional[pulumi.Input[_builtins.int]]):
561
+ pulumi.set(self, "token_period", value)
562
+
563
+ @_builtins.property
564
+ @pulumi.getter(name="tokenPolicies")
565
+ def token_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
566
+ """
567
+ Generated Token's Policies
568
+ """
569
+ return pulumi.get(self, "token_policies")
570
+
571
+ @token_policies.setter
572
+ def token_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
573
+ pulumi.set(self, "token_policies", value)
574
+
575
+ @_builtins.property
576
+ @pulumi.getter(name="tokenTtl")
577
+ def token_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
578
+ """
579
+ The initial ttl of the token to generate in seconds
580
+ """
581
+ return pulumi.get(self, "token_ttl")
582
+
583
+ @token_ttl.setter
584
+ def token_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
585
+ pulumi.set(self, "token_ttl", value)
586
+
587
+ @_builtins.property
588
+ @pulumi.getter(name="tokenType")
589
+ def token_type(self) -> Optional[pulumi.Input[_builtins.str]]:
590
+ """
591
+ The type of token to generate, service or batch
592
+ """
593
+ return pulumi.get(self, "token_type")
594
+
595
+ @token_type.setter
596
+ def token_type(self, value: Optional[pulumi.Input[_builtins.str]]):
597
+ pulumi.set(self, "token_type", value)
598
+
599
+
600
+ @pulumi.input_type
601
+ class _AuthBackendRoleState:
602
+ def __init__(__self__, *,
603
+ alias_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
604
+ allow_instance_migration: Optional[pulumi.Input[_builtins.bool]] = None,
605
+ auth_type: Optional[pulumi.Input[_builtins.str]] = None,
606
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
607
+ bound_account_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
608
+ bound_ami_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
609
+ bound_ec2_instance_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
610
+ bound_iam_instance_profile_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
611
+ bound_iam_principal_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
612
+ bound_iam_role_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
613
+ bound_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
614
+ bound_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
615
+ bound_vpc_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
616
+ disallow_reauthentication: Optional[pulumi.Input[_builtins.bool]] = None,
617
+ inferred_aws_region: Optional[pulumi.Input[_builtins.str]] = None,
618
+ inferred_entity_type: Optional[pulumi.Input[_builtins.str]] = None,
619
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
620
+ resolve_aws_unique_ids: Optional[pulumi.Input[_builtins.bool]] = None,
621
+ role: Optional[pulumi.Input[_builtins.str]] = None,
622
+ role_id: Optional[pulumi.Input[_builtins.str]] = None,
623
+ role_tag: Optional[pulumi.Input[_builtins.str]] = None,
624
+ token_bound_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
625
+ token_explicit_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
626
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
627
+ token_no_default_policy: Optional[pulumi.Input[_builtins.bool]] = None,
628
+ token_num_uses: Optional[pulumi.Input[_builtins.int]] = None,
629
+ token_period: Optional[pulumi.Input[_builtins.int]] = None,
630
+ token_policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
631
+ token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
632
+ token_type: Optional[pulumi.Input[_builtins.str]] = None):
633
+ """
634
+ Input properties used for looking up and filtering AuthBackendRole resources.
635
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] alias_metadata: The metadata to be tied to generated entity alias.
636
+ This should be a list or map containing the metadata in key value pairs.
637
+ :param pulumi.Input[_builtins.bool] allow_instance_migration: If set to `true`, allows migration of
638
+ the underlying instance where the client resides.
639
+ :param pulumi.Input[_builtins.str] auth_type: The auth type permitted for this role. Valid choices
640
+ are `ec2` and `iam`. Defaults to `iam`.
641
+ :param pulumi.Input[_builtins.str] backend: Path to the mounted aws auth backend.
642
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_account_ids: If set, defines a constraint on the EC2
643
+ instances that can perform the login operation that they should be using the
644
+ account ID specified by this field. `auth_type` must be set to `ec2` or
645
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
646
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_ami_ids: If set, defines a constraint on the EC2 instances
647
+ that can perform the login operation that they should be using the AMI ID
648
+ specified by this field. `auth_type` must be set to `ec2` or
649
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
650
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_ec2_instance_ids: Only EC2 instances that match this instance ID will be permitted to log in.
651
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_iam_instance_profile_arns: If set, defines a constraint on
652
+ the EC2 instances that can perform the login operation that they must be
653
+ associated with an IAM instance profile ARN which has a prefix that matches
654
+ the value specified by this field. The value is prefix-matched as though it
655
+ were a glob ending in `*`. `auth_type` must be set to `ec2` or
656
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
657
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_iam_principal_arns: If set, defines the IAM principal that
658
+ must be authenticated when `auth_type` is set to `iam`. Wildcards are
659
+ supported at the end of the ARN.
660
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_iam_role_arns: If set, defines a constraint on the EC2
661
+ instances that can perform the login operation that they must match the IAM
662
+ role ARN specified by this field. `auth_type` must be set to `ec2` or
663
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
664
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_regions: If set, defines a constraint on the EC2 instances
665
+ that can perform the login operation that the region in their identity
666
+ document must match the one specified by this field. `auth_type` must be set
667
+ to `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
668
+ constraint.
669
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_subnet_ids: If set, defines a constraint on the EC2
670
+ instances that can perform the login operation that they be associated with
671
+ the subnet ID that matches the value specified by this field. `auth_type`
672
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
673
+ to use this constraint.
674
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_vpc_ids: If set, defines a constraint on the EC2 instances
675
+ that can perform the login operation that they be associated with the VPC ID
676
+ that matches the value specified by this field. `auth_type` must be set to
677
+ `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
678
+ constraint.
679
+ :param pulumi.Input[_builtins.bool] disallow_reauthentication: IF set to `true`, only allows a
680
+ single token to be granted per instance ID. This can only be set when
681
+ `auth_type` is set to `ec2`.
682
+ :param pulumi.Input[_builtins.str] inferred_aws_region: When `inferred_entity_type` is set, this
683
+ is the region to search for the inferred entities. Required if
684
+ `inferred_entity_type` is set. This only applies when `auth_type` is set to
685
+ `iam`.
686
+ :param pulumi.Input[_builtins.str] inferred_entity_type: If set, instructs Vault to turn on
687
+ inferencing. The only valid value is `ec2_instance`, which instructs Vault to
688
+ infer that the role comes from an EC2 instance in an IAM instance profile.
689
+ This only applies when `auth_type` is set to `iam`.
690
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
691
+ The value should not contain leading or trailing forward slashes.
692
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
693
+ *Available only for Vault Enterprise*.
694
+ :param pulumi.Input[_builtins.bool] resolve_aws_unique_ids: Only valid when
695
+ `auth_type` is `iam`. If set to `true`, the `bound_iam_principal_arns` are
696
+ resolved to [AWS Unique
697
+ IDs](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids)
698
+ for the bound principal ARN. This field is ignored when a
699
+ `bound_iam_principal_arn` ends in a wildcard. Resolving to unique IDs more
700
+ closely mimics the behavior of AWS services in that if an IAM user or role is
701
+ deleted and a new one is recreated with the same name, those new users or
702
+ roles won't get access to roles in Vault that were permissioned to the prior
703
+ principals of the same name. Defaults to `true`.
704
+ Once set to `true`, this cannot be changed to `false` without recreating the role.
705
+ :param pulumi.Input[_builtins.str] role: The name of the role.
706
+ :param pulumi.Input[_builtins.str] role_id: The Vault generated role ID.
707
+ :param pulumi.Input[_builtins.str] role_tag: If set, enable role tags for this role. The value set
708
+ for this field should be the key of the tag on the EC2 instance. `auth_type`
709
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
710
+ to use this constraint.
711
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_bound_cidrs: Specifies the blocks of IP addresses which are allowed to use the generated token
712
+ :param pulumi.Input[_builtins.int] token_explicit_max_ttl: Generated Token's Explicit Maximum TTL in seconds
713
+ :param pulumi.Input[_builtins.int] token_max_ttl: The maximum lifetime of the generated token
714
+ :param pulumi.Input[_builtins.bool] token_no_default_policy: If true, the 'default' policy will not automatically be added to generated tokens
715
+ :param pulumi.Input[_builtins.int] token_num_uses: The maximum number of times a token may be used, a value of zero means unlimited
716
+ :param pulumi.Input[_builtins.int] token_period: Generated Token's Period
717
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_policies: Generated Token's Policies
718
+ :param pulumi.Input[_builtins.int] token_ttl: The initial ttl of the token to generate in seconds
719
+ :param pulumi.Input[_builtins.str] token_type: The type of token to generate, service or batch
720
+ """
721
+ if alias_metadata is not None:
722
+ pulumi.set(__self__, "alias_metadata", alias_metadata)
723
+ if allow_instance_migration is not None:
724
+ pulumi.set(__self__, "allow_instance_migration", allow_instance_migration)
725
+ if auth_type is not None:
726
+ pulumi.set(__self__, "auth_type", auth_type)
727
+ if backend is not None:
728
+ pulumi.set(__self__, "backend", backend)
729
+ if bound_account_ids is not None:
730
+ pulumi.set(__self__, "bound_account_ids", bound_account_ids)
731
+ if bound_ami_ids is not None:
732
+ pulumi.set(__self__, "bound_ami_ids", bound_ami_ids)
733
+ if bound_ec2_instance_ids is not None:
734
+ pulumi.set(__self__, "bound_ec2_instance_ids", bound_ec2_instance_ids)
735
+ if bound_iam_instance_profile_arns is not None:
736
+ pulumi.set(__self__, "bound_iam_instance_profile_arns", bound_iam_instance_profile_arns)
737
+ if bound_iam_principal_arns is not None:
738
+ pulumi.set(__self__, "bound_iam_principal_arns", bound_iam_principal_arns)
739
+ if bound_iam_role_arns is not None:
740
+ pulumi.set(__self__, "bound_iam_role_arns", bound_iam_role_arns)
741
+ if bound_regions is not None:
742
+ pulumi.set(__self__, "bound_regions", bound_regions)
743
+ if bound_subnet_ids is not None:
744
+ pulumi.set(__self__, "bound_subnet_ids", bound_subnet_ids)
745
+ if bound_vpc_ids is not None:
746
+ pulumi.set(__self__, "bound_vpc_ids", bound_vpc_ids)
747
+ if disallow_reauthentication is not None:
748
+ pulumi.set(__self__, "disallow_reauthentication", disallow_reauthentication)
749
+ if inferred_aws_region is not None:
750
+ pulumi.set(__self__, "inferred_aws_region", inferred_aws_region)
751
+ if inferred_entity_type is not None:
752
+ pulumi.set(__self__, "inferred_entity_type", inferred_entity_type)
753
+ if namespace is not None:
754
+ pulumi.set(__self__, "namespace", namespace)
755
+ if resolve_aws_unique_ids is not None:
756
+ pulumi.set(__self__, "resolve_aws_unique_ids", resolve_aws_unique_ids)
757
+ if role is not None:
758
+ pulumi.set(__self__, "role", role)
759
+ if role_id is not None:
760
+ pulumi.set(__self__, "role_id", role_id)
761
+ if role_tag is not None:
762
+ pulumi.set(__self__, "role_tag", role_tag)
763
+ if token_bound_cidrs is not None:
764
+ pulumi.set(__self__, "token_bound_cidrs", token_bound_cidrs)
765
+ if token_explicit_max_ttl is not None:
766
+ pulumi.set(__self__, "token_explicit_max_ttl", token_explicit_max_ttl)
767
+ if token_max_ttl is not None:
768
+ pulumi.set(__self__, "token_max_ttl", token_max_ttl)
769
+ if token_no_default_policy is not None:
770
+ pulumi.set(__self__, "token_no_default_policy", token_no_default_policy)
771
+ if token_num_uses is not None:
772
+ pulumi.set(__self__, "token_num_uses", token_num_uses)
773
+ if token_period is not None:
774
+ pulumi.set(__self__, "token_period", token_period)
775
+ if token_policies is not None:
776
+ pulumi.set(__self__, "token_policies", token_policies)
777
+ if token_ttl is not None:
778
+ pulumi.set(__self__, "token_ttl", token_ttl)
779
+ if token_type is not None:
780
+ pulumi.set(__self__, "token_type", token_type)
781
+
782
+ @_builtins.property
783
+ @pulumi.getter(name="aliasMetadata")
784
+ def alias_metadata(self) -> Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]:
785
+ """
786
+ The metadata to be tied to generated entity alias.
787
+ This should be a list or map containing the metadata in key value pairs.
788
+ """
789
+ return pulumi.get(self, "alias_metadata")
790
+
791
+ @alias_metadata.setter
792
+ def alias_metadata(self, value: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]]):
793
+ pulumi.set(self, "alias_metadata", value)
794
+
795
+ @_builtins.property
796
+ @pulumi.getter(name="allowInstanceMigration")
797
+ def allow_instance_migration(self) -> Optional[pulumi.Input[_builtins.bool]]:
798
+ """
799
+ If set to `true`, allows migration of
800
+ the underlying instance where the client resides.
801
+ """
802
+ return pulumi.get(self, "allow_instance_migration")
803
+
804
+ @allow_instance_migration.setter
805
+ def allow_instance_migration(self, value: Optional[pulumi.Input[_builtins.bool]]):
806
+ pulumi.set(self, "allow_instance_migration", value)
807
+
808
+ @_builtins.property
809
+ @pulumi.getter(name="authType")
810
+ def auth_type(self) -> Optional[pulumi.Input[_builtins.str]]:
811
+ """
812
+ The auth type permitted for this role. Valid choices
813
+ are `ec2` and `iam`. Defaults to `iam`.
814
+ """
815
+ return pulumi.get(self, "auth_type")
816
+
817
+ @auth_type.setter
818
+ def auth_type(self, value: Optional[pulumi.Input[_builtins.str]]):
819
+ pulumi.set(self, "auth_type", value)
820
+
821
+ @_builtins.property
822
+ @pulumi.getter
823
+ def backend(self) -> Optional[pulumi.Input[_builtins.str]]:
824
+ """
825
+ Path to the mounted aws auth backend.
826
+ """
827
+ return pulumi.get(self, "backend")
828
+
829
+ @backend.setter
830
+ def backend(self, value: Optional[pulumi.Input[_builtins.str]]):
831
+ pulumi.set(self, "backend", value)
832
+
833
+ @_builtins.property
834
+ @pulumi.getter(name="boundAccountIds")
835
+ def bound_account_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
836
+ """
837
+ If set, defines a constraint on the EC2
838
+ instances that can perform the login operation that they should be using the
839
+ account ID specified by this field. `auth_type` must be set to `ec2` or
840
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
841
+ """
842
+ return pulumi.get(self, "bound_account_ids")
843
+
844
+ @bound_account_ids.setter
845
+ def bound_account_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
846
+ pulumi.set(self, "bound_account_ids", value)
847
+
848
+ @_builtins.property
849
+ @pulumi.getter(name="boundAmiIds")
850
+ def bound_ami_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
851
+ """
852
+ If set, defines a constraint on the EC2 instances
853
+ that can perform the login operation that they should be using the AMI ID
854
+ specified by this field. `auth_type` must be set to `ec2` or
855
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
856
+ """
857
+ return pulumi.get(self, "bound_ami_ids")
858
+
859
+ @bound_ami_ids.setter
860
+ def bound_ami_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
861
+ pulumi.set(self, "bound_ami_ids", value)
862
+
863
+ @_builtins.property
864
+ @pulumi.getter(name="boundEc2InstanceIds")
865
+ def bound_ec2_instance_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
866
+ """
867
+ Only EC2 instances that match this instance ID will be permitted to log in.
868
+ """
869
+ return pulumi.get(self, "bound_ec2_instance_ids")
870
+
871
+ @bound_ec2_instance_ids.setter
872
+ def bound_ec2_instance_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
873
+ pulumi.set(self, "bound_ec2_instance_ids", value)
874
+
875
+ @_builtins.property
876
+ @pulumi.getter(name="boundIamInstanceProfileArns")
877
+ def bound_iam_instance_profile_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
878
+ """
879
+ If set, defines a constraint on
880
+ the EC2 instances that can perform the login operation that they must be
881
+ associated with an IAM instance profile ARN which has a prefix that matches
882
+ the value specified by this field. The value is prefix-matched as though it
883
+ were a glob ending in `*`. `auth_type` must be set to `ec2` or
884
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
885
+ """
886
+ return pulumi.get(self, "bound_iam_instance_profile_arns")
887
+
888
+ @bound_iam_instance_profile_arns.setter
889
+ def bound_iam_instance_profile_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
890
+ pulumi.set(self, "bound_iam_instance_profile_arns", value)
891
+
892
+ @_builtins.property
893
+ @pulumi.getter(name="boundIamPrincipalArns")
894
+ def bound_iam_principal_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
895
+ """
896
+ If set, defines the IAM principal that
897
+ must be authenticated when `auth_type` is set to `iam`. Wildcards are
898
+ supported at the end of the ARN.
899
+ """
900
+ return pulumi.get(self, "bound_iam_principal_arns")
901
+
902
+ @bound_iam_principal_arns.setter
903
+ def bound_iam_principal_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
904
+ pulumi.set(self, "bound_iam_principal_arns", value)
905
+
906
+ @_builtins.property
907
+ @pulumi.getter(name="boundIamRoleArns")
908
+ def bound_iam_role_arns(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
909
+ """
910
+ If set, defines a constraint on the EC2
911
+ instances that can perform the login operation that they must match the IAM
912
+ role ARN specified by this field. `auth_type` must be set to `ec2` or
913
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
914
+ """
915
+ return pulumi.get(self, "bound_iam_role_arns")
916
+
917
+ @bound_iam_role_arns.setter
918
+ def bound_iam_role_arns(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
919
+ pulumi.set(self, "bound_iam_role_arns", value)
920
+
921
+ @_builtins.property
922
+ @pulumi.getter(name="boundRegions")
923
+ def bound_regions(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
924
+ """
925
+ If set, defines a constraint on the EC2 instances
926
+ that can perform the login operation that the region in their identity
927
+ document must match the one specified by this field. `auth_type` must be set
928
+ to `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
929
+ constraint.
930
+ """
931
+ return pulumi.get(self, "bound_regions")
932
+
933
+ @bound_regions.setter
934
+ def bound_regions(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
935
+ pulumi.set(self, "bound_regions", value)
936
+
937
+ @_builtins.property
938
+ @pulumi.getter(name="boundSubnetIds")
939
+ def bound_subnet_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
940
+ """
941
+ If set, defines a constraint on the EC2
942
+ instances that can perform the login operation that they be associated with
943
+ the subnet ID that matches the value specified by this field. `auth_type`
944
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
945
+ to use this constraint.
946
+ """
947
+ return pulumi.get(self, "bound_subnet_ids")
948
+
949
+ @bound_subnet_ids.setter
950
+ def bound_subnet_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
951
+ pulumi.set(self, "bound_subnet_ids", value)
952
+
953
+ @_builtins.property
954
+ @pulumi.getter(name="boundVpcIds")
955
+ def bound_vpc_ids(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
956
+ """
957
+ If set, defines a constraint on the EC2 instances
958
+ that can perform the login operation that they be associated with the VPC ID
959
+ that matches the value specified by this field. `auth_type` must be set to
960
+ `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
961
+ constraint.
962
+ """
963
+ return pulumi.get(self, "bound_vpc_ids")
964
+
965
+ @bound_vpc_ids.setter
966
+ def bound_vpc_ids(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
967
+ pulumi.set(self, "bound_vpc_ids", value)
968
+
969
+ @_builtins.property
970
+ @pulumi.getter(name="disallowReauthentication")
971
+ def disallow_reauthentication(self) -> Optional[pulumi.Input[_builtins.bool]]:
972
+ """
973
+ IF set to `true`, only allows a
974
+ single token to be granted per instance ID. This can only be set when
975
+ `auth_type` is set to `ec2`.
976
+ """
977
+ return pulumi.get(self, "disallow_reauthentication")
978
+
979
+ @disallow_reauthentication.setter
980
+ def disallow_reauthentication(self, value: Optional[pulumi.Input[_builtins.bool]]):
981
+ pulumi.set(self, "disallow_reauthentication", value)
982
+
983
+ @_builtins.property
984
+ @pulumi.getter(name="inferredAwsRegion")
985
+ def inferred_aws_region(self) -> Optional[pulumi.Input[_builtins.str]]:
986
+ """
987
+ When `inferred_entity_type` is set, this
988
+ is the region to search for the inferred entities. Required if
989
+ `inferred_entity_type` is set. This only applies when `auth_type` is set to
990
+ `iam`.
991
+ """
992
+ return pulumi.get(self, "inferred_aws_region")
993
+
994
+ @inferred_aws_region.setter
995
+ def inferred_aws_region(self, value: Optional[pulumi.Input[_builtins.str]]):
996
+ pulumi.set(self, "inferred_aws_region", value)
997
+
998
+ @_builtins.property
999
+ @pulumi.getter(name="inferredEntityType")
1000
+ def inferred_entity_type(self) -> Optional[pulumi.Input[_builtins.str]]:
1001
+ """
1002
+ If set, instructs Vault to turn on
1003
+ inferencing. The only valid value is `ec2_instance`, which instructs Vault to
1004
+ infer that the role comes from an EC2 instance in an IAM instance profile.
1005
+ This only applies when `auth_type` is set to `iam`.
1006
+ """
1007
+ return pulumi.get(self, "inferred_entity_type")
1008
+
1009
+ @inferred_entity_type.setter
1010
+ def inferred_entity_type(self, value: Optional[pulumi.Input[_builtins.str]]):
1011
+ pulumi.set(self, "inferred_entity_type", value)
1012
+
1013
+ @_builtins.property
1014
+ @pulumi.getter
1015
+ def namespace(self) -> Optional[pulumi.Input[_builtins.str]]:
1016
+ """
1017
+ The namespace to provision the resource in.
1018
+ The value should not contain leading or trailing forward slashes.
1019
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1020
+ *Available only for Vault Enterprise*.
1021
+ """
1022
+ return pulumi.get(self, "namespace")
1023
+
1024
+ @namespace.setter
1025
+ def namespace(self, value: Optional[pulumi.Input[_builtins.str]]):
1026
+ pulumi.set(self, "namespace", value)
1027
+
1028
+ @_builtins.property
1029
+ @pulumi.getter(name="resolveAwsUniqueIds")
1030
+ def resolve_aws_unique_ids(self) -> Optional[pulumi.Input[_builtins.bool]]:
1031
+ """
1032
+ Only valid when
1033
+ `auth_type` is `iam`. If set to `true`, the `bound_iam_principal_arns` are
1034
+ resolved to [AWS Unique
1035
+ IDs](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids)
1036
+ for the bound principal ARN. This field is ignored when a
1037
+ `bound_iam_principal_arn` ends in a wildcard. Resolving to unique IDs more
1038
+ closely mimics the behavior of AWS services in that if an IAM user or role is
1039
+ deleted and a new one is recreated with the same name, those new users or
1040
+ roles won't get access to roles in Vault that were permissioned to the prior
1041
+ principals of the same name. Defaults to `true`.
1042
+ Once set to `true`, this cannot be changed to `false` without recreating the role.
1043
+ """
1044
+ return pulumi.get(self, "resolve_aws_unique_ids")
1045
+
1046
+ @resolve_aws_unique_ids.setter
1047
+ def resolve_aws_unique_ids(self, value: Optional[pulumi.Input[_builtins.bool]]):
1048
+ pulumi.set(self, "resolve_aws_unique_ids", value)
1049
+
1050
+ @_builtins.property
1051
+ @pulumi.getter
1052
+ def role(self) -> Optional[pulumi.Input[_builtins.str]]:
1053
+ """
1054
+ The name of the role.
1055
+ """
1056
+ return pulumi.get(self, "role")
1057
+
1058
+ @role.setter
1059
+ def role(self, value: Optional[pulumi.Input[_builtins.str]]):
1060
+ pulumi.set(self, "role", value)
1061
+
1062
+ @_builtins.property
1063
+ @pulumi.getter(name="roleId")
1064
+ def role_id(self) -> Optional[pulumi.Input[_builtins.str]]:
1065
+ """
1066
+ The Vault generated role ID.
1067
+ """
1068
+ return pulumi.get(self, "role_id")
1069
+
1070
+ @role_id.setter
1071
+ def role_id(self, value: Optional[pulumi.Input[_builtins.str]]):
1072
+ pulumi.set(self, "role_id", value)
1073
+
1074
+ @_builtins.property
1075
+ @pulumi.getter(name="roleTag")
1076
+ def role_tag(self) -> Optional[pulumi.Input[_builtins.str]]:
1077
+ """
1078
+ If set, enable role tags for this role. The value set
1079
+ for this field should be the key of the tag on the EC2 instance. `auth_type`
1080
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
1081
+ to use this constraint.
1082
+ """
1083
+ return pulumi.get(self, "role_tag")
1084
+
1085
+ @role_tag.setter
1086
+ def role_tag(self, value: Optional[pulumi.Input[_builtins.str]]):
1087
+ pulumi.set(self, "role_tag", value)
1088
+
1089
+ @_builtins.property
1090
+ @pulumi.getter(name="tokenBoundCidrs")
1091
+ def token_bound_cidrs(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1092
+ """
1093
+ Specifies the blocks of IP addresses which are allowed to use the generated token
1094
+ """
1095
+ return pulumi.get(self, "token_bound_cidrs")
1096
+
1097
+ @token_bound_cidrs.setter
1098
+ def token_bound_cidrs(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1099
+ pulumi.set(self, "token_bound_cidrs", value)
1100
+
1101
+ @_builtins.property
1102
+ @pulumi.getter(name="tokenExplicitMaxTtl")
1103
+ def token_explicit_max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
1104
+ """
1105
+ Generated Token's Explicit Maximum TTL in seconds
1106
+ """
1107
+ return pulumi.get(self, "token_explicit_max_ttl")
1108
+
1109
+ @token_explicit_max_ttl.setter
1110
+ def token_explicit_max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
1111
+ pulumi.set(self, "token_explicit_max_ttl", value)
1112
+
1113
+ @_builtins.property
1114
+ @pulumi.getter(name="tokenMaxTtl")
1115
+ def token_max_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
1116
+ """
1117
+ The maximum lifetime of the generated token
1118
+ """
1119
+ return pulumi.get(self, "token_max_ttl")
1120
+
1121
+ @token_max_ttl.setter
1122
+ def token_max_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
1123
+ pulumi.set(self, "token_max_ttl", value)
1124
+
1125
+ @_builtins.property
1126
+ @pulumi.getter(name="tokenNoDefaultPolicy")
1127
+ def token_no_default_policy(self) -> Optional[pulumi.Input[_builtins.bool]]:
1128
+ """
1129
+ If true, the 'default' policy will not automatically be added to generated tokens
1130
+ """
1131
+ return pulumi.get(self, "token_no_default_policy")
1132
+
1133
+ @token_no_default_policy.setter
1134
+ def token_no_default_policy(self, value: Optional[pulumi.Input[_builtins.bool]]):
1135
+ pulumi.set(self, "token_no_default_policy", value)
1136
+
1137
+ @_builtins.property
1138
+ @pulumi.getter(name="tokenNumUses")
1139
+ def token_num_uses(self) -> Optional[pulumi.Input[_builtins.int]]:
1140
+ """
1141
+ The maximum number of times a token may be used, a value of zero means unlimited
1142
+ """
1143
+ return pulumi.get(self, "token_num_uses")
1144
+
1145
+ @token_num_uses.setter
1146
+ def token_num_uses(self, value: Optional[pulumi.Input[_builtins.int]]):
1147
+ pulumi.set(self, "token_num_uses", value)
1148
+
1149
+ @_builtins.property
1150
+ @pulumi.getter(name="tokenPeriod")
1151
+ def token_period(self) -> Optional[pulumi.Input[_builtins.int]]:
1152
+ """
1153
+ Generated Token's Period
1154
+ """
1155
+ return pulumi.get(self, "token_period")
1156
+
1157
+ @token_period.setter
1158
+ def token_period(self, value: Optional[pulumi.Input[_builtins.int]]):
1159
+ pulumi.set(self, "token_period", value)
1160
+
1161
+ @_builtins.property
1162
+ @pulumi.getter(name="tokenPolicies")
1163
+ def token_policies(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
1164
+ """
1165
+ Generated Token's Policies
1166
+ """
1167
+ return pulumi.get(self, "token_policies")
1168
+
1169
+ @token_policies.setter
1170
+ def token_policies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
1171
+ pulumi.set(self, "token_policies", value)
1172
+
1173
+ @_builtins.property
1174
+ @pulumi.getter(name="tokenTtl")
1175
+ def token_ttl(self) -> Optional[pulumi.Input[_builtins.int]]:
1176
+ """
1177
+ The initial ttl of the token to generate in seconds
1178
+ """
1179
+ return pulumi.get(self, "token_ttl")
1180
+
1181
+ @token_ttl.setter
1182
+ def token_ttl(self, value: Optional[pulumi.Input[_builtins.int]]):
1183
+ pulumi.set(self, "token_ttl", value)
1184
+
1185
+ @_builtins.property
1186
+ @pulumi.getter(name="tokenType")
1187
+ def token_type(self) -> Optional[pulumi.Input[_builtins.str]]:
1188
+ """
1189
+ The type of token to generate, service or batch
1190
+ """
1191
+ return pulumi.get(self, "token_type")
1192
+
1193
+ @token_type.setter
1194
+ def token_type(self, value: Optional[pulumi.Input[_builtins.str]]):
1195
+ pulumi.set(self, "token_type", value)
1196
+
1197
+
1198
+ @pulumi.type_token("vault:aws/authBackendRole:AuthBackendRole")
1199
+ class AuthBackendRole(pulumi.CustomResource):
1200
+ @overload
1201
+ def __init__(__self__,
1202
+ resource_name: str,
1203
+ opts: Optional[pulumi.ResourceOptions] = None,
1204
+ alias_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1205
+ allow_instance_migration: Optional[pulumi.Input[_builtins.bool]] = None,
1206
+ auth_type: Optional[pulumi.Input[_builtins.str]] = None,
1207
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
1208
+ bound_account_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1209
+ bound_ami_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1210
+ bound_ec2_instance_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1211
+ bound_iam_instance_profile_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1212
+ bound_iam_principal_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1213
+ bound_iam_role_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1214
+ bound_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1215
+ bound_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1216
+ bound_vpc_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1217
+ disallow_reauthentication: Optional[pulumi.Input[_builtins.bool]] = None,
1218
+ inferred_aws_region: Optional[pulumi.Input[_builtins.str]] = None,
1219
+ inferred_entity_type: Optional[pulumi.Input[_builtins.str]] = None,
1220
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
1221
+ resolve_aws_unique_ids: Optional[pulumi.Input[_builtins.bool]] = None,
1222
+ role: Optional[pulumi.Input[_builtins.str]] = None,
1223
+ role_tag: Optional[pulumi.Input[_builtins.str]] = None,
1224
+ token_bound_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1225
+ token_explicit_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1226
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1227
+ token_no_default_policy: Optional[pulumi.Input[_builtins.bool]] = None,
1228
+ token_num_uses: Optional[pulumi.Input[_builtins.int]] = None,
1229
+ token_period: Optional[pulumi.Input[_builtins.int]] = None,
1230
+ token_policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1231
+ token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1232
+ token_type: Optional[pulumi.Input[_builtins.str]] = None,
1233
+ __props__=None):
1234
+ """
1235
+ Manages an AWS auth backend role in a Vault server. Roles constrain the
1236
+ instances or principals that can perform the login operation against the
1237
+ backend. See the [Vault
1238
+ documentation](https://www.vaultproject.io/docs/auth/aws.html) for more
1239
+ information.
1240
+
1241
+ ## Example Usage
1242
+
1243
+ ```python
1244
+ import pulumi
1245
+ import pulumi_vault as vault
1246
+
1247
+ aws = vault.AuthBackend("aws", type="aws")
1248
+ example = vault.aws.AuthBackendRole("example",
1249
+ backend=aws.path,
1250
+ role="test-role",
1251
+ auth_type="iam",
1252
+ bound_ami_ids=["ami-8c1be5f6"],
1253
+ bound_account_ids=["123456789012"],
1254
+ bound_vpc_ids=["vpc-b61106d4"],
1255
+ bound_subnet_ids=["vpc-133128f1"],
1256
+ bound_iam_role_arns=["arn:aws:iam::123456789012:role/MyRole"],
1257
+ bound_iam_instance_profile_arns=["arn:aws:iam::123456789012:instance-profile/MyProfile"],
1258
+ inferred_entity_type="ec2_instance",
1259
+ inferred_aws_region="us-east-1",
1260
+ token_ttl=60,
1261
+ token_max_ttl=120,
1262
+ token_policies=[
1263
+ "default",
1264
+ "dev",
1265
+ "prod",
1266
+ ])
1267
+ ```
1268
+
1269
+ ## Import
1270
+
1271
+ AWS auth backend roles can be imported using `auth/`, the `backend` path, `/role/`, and the `role` name e.g.
1272
+
1273
+ ```sh
1274
+ $ pulumi import vault:aws/authBackendRole:AuthBackendRole example auth/aws/role/test-role
1275
+ ```
1276
+
1277
+ :param str resource_name: The name of the resource.
1278
+ :param pulumi.ResourceOptions opts: Options for the resource.
1279
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] alias_metadata: The metadata to be tied to generated entity alias.
1280
+ This should be a list or map containing the metadata in key value pairs.
1281
+ :param pulumi.Input[_builtins.bool] allow_instance_migration: If set to `true`, allows migration of
1282
+ the underlying instance where the client resides.
1283
+ :param pulumi.Input[_builtins.str] auth_type: The auth type permitted for this role. Valid choices
1284
+ are `ec2` and `iam`. Defaults to `iam`.
1285
+ :param pulumi.Input[_builtins.str] backend: Path to the mounted aws auth backend.
1286
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_account_ids: If set, defines a constraint on the EC2
1287
+ instances that can perform the login operation that they should be using the
1288
+ account ID specified by this field. `auth_type` must be set to `ec2` or
1289
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
1290
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_ami_ids: If set, defines a constraint on the EC2 instances
1291
+ that can perform the login operation that they should be using the AMI ID
1292
+ specified by this field. `auth_type` must be set to `ec2` or
1293
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
1294
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_ec2_instance_ids: Only EC2 instances that match this instance ID will be permitted to log in.
1295
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_iam_instance_profile_arns: If set, defines a constraint on
1296
+ the EC2 instances that can perform the login operation that they must be
1297
+ associated with an IAM instance profile ARN which has a prefix that matches
1298
+ the value specified by this field. The value is prefix-matched as though it
1299
+ were a glob ending in `*`. `auth_type` must be set to `ec2` or
1300
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
1301
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_iam_principal_arns: If set, defines the IAM principal that
1302
+ must be authenticated when `auth_type` is set to `iam`. Wildcards are
1303
+ supported at the end of the ARN.
1304
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_iam_role_arns: If set, defines a constraint on the EC2
1305
+ instances that can perform the login operation that they must match the IAM
1306
+ role ARN specified by this field. `auth_type` must be set to `ec2` or
1307
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
1308
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_regions: If set, defines a constraint on the EC2 instances
1309
+ that can perform the login operation that the region in their identity
1310
+ document must match the one specified by this field. `auth_type` must be set
1311
+ to `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
1312
+ constraint.
1313
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_subnet_ids: If set, defines a constraint on the EC2
1314
+ instances that can perform the login operation that they be associated with
1315
+ the subnet ID that matches the value specified by this field. `auth_type`
1316
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
1317
+ to use this constraint.
1318
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_vpc_ids: If set, defines a constraint on the EC2 instances
1319
+ that can perform the login operation that they be associated with the VPC ID
1320
+ that matches the value specified by this field. `auth_type` must be set to
1321
+ `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
1322
+ constraint.
1323
+ :param pulumi.Input[_builtins.bool] disallow_reauthentication: IF set to `true`, only allows a
1324
+ single token to be granted per instance ID. This can only be set when
1325
+ `auth_type` is set to `ec2`.
1326
+ :param pulumi.Input[_builtins.str] inferred_aws_region: When `inferred_entity_type` is set, this
1327
+ is the region to search for the inferred entities. Required if
1328
+ `inferred_entity_type` is set. This only applies when `auth_type` is set to
1329
+ `iam`.
1330
+ :param pulumi.Input[_builtins.str] inferred_entity_type: If set, instructs Vault to turn on
1331
+ inferencing. The only valid value is `ec2_instance`, which instructs Vault to
1332
+ infer that the role comes from an EC2 instance in an IAM instance profile.
1333
+ This only applies when `auth_type` is set to `iam`.
1334
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
1335
+ The value should not contain leading or trailing forward slashes.
1336
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1337
+ *Available only for Vault Enterprise*.
1338
+ :param pulumi.Input[_builtins.bool] resolve_aws_unique_ids: Only valid when
1339
+ `auth_type` is `iam`. If set to `true`, the `bound_iam_principal_arns` are
1340
+ resolved to [AWS Unique
1341
+ IDs](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids)
1342
+ for the bound principal ARN. This field is ignored when a
1343
+ `bound_iam_principal_arn` ends in a wildcard. Resolving to unique IDs more
1344
+ closely mimics the behavior of AWS services in that if an IAM user or role is
1345
+ deleted and a new one is recreated with the same name, those new users or
1346
+ roles won't get access to roles in Vault that were permissioned to the prior
1347
+ principals of the same name. Defaults to `true`.
1348
+ Once set to `true`, this cannot be changed to `false` without recreating the role.
1349
+ :param pulumi.Input[_builtins.str] role: The name of the role.
1350
+ :param pulumi.Input[_builtins.str] role_tag: If set, enable role tags for this role. The value set
1351
+ for this field should be the key of the tag on the EC2 instance. `auth_type`
1352
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
1353
+ to use this constraint.
1354
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_bound_cidrs: Specifies the blocks of IP addresses which are allowed to use the generated token
1355
+ :param pulumi.Input[_builtins.int] token_explicit_max_ttl: Generated Token's Explicit Maximum TTL in seconds
1356
+ :param pulumi.Input[_builtins.int] token_max_ttl: The maximum lifetime of the generated token
1357
+ :param pulumi.Input[_builtins.bool] token_no_default_policy: If true, the 'default' policy will not automatically be added to generated tokens
1358
+ :param pulumi.Input[_builtins.int] token_num_uses: The maximum number of times a token may be used, a value of zero means unlimited
1359
+ :param pulumi.Input[_builtins.int] token_period: Generated Token's Period
1360
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_policies: Generated Token's Policies
1361
+ :param pulumi.Input[_builtins.int] token_ttl: The initial ttl of the token to generate in seconds
1362
+ :param pulumi.Input[_builtins.str] token_type: The type of token to generate, service or batch
1363
+ """
1364
+ ...
1365
+ @overload
1366
+ def __init__(__self__,
1367
+ resource_name: str,
1368
+ args: AuthBackendRoleArgs,
1369
+ opts: Optional[pulumi.ResourceOptions] = None):
1370
+ """
1371
+ Manages an AWS auth backend role in a Vault server. Roles constrain the
1372
+ instances or principals that can perform the login operation against the
1373
+ backend. See the [Vault
1374
+ documentation](https://www.vaultproject.io/docs/auth/aws.html) for more
1375
+ information.
1376
+
1377
+ ## Example Usage
1378
+
1379
+ ```python
1380
+ import pulumi
1381
+ import pulumi_vault as vault
1382
+
1383
+ aws = vault.AuthBackend("aws", type="aws")
1384
+ example = vault.aws.AuthBackendRole("example",
1385
+ backend=aws.path,
1386
+ role="test-role",
1387
+ auth_type="iam",
1388
+ bound_ami_ids=["ami-8c1be5f6"],
1389
+ bound_account_ids=["123456789012"],
1390
+ bound_vpc_ids=["vpc-b61106d4"],
1391
+ bound_subnet_ids=["vpc-133128f1"],
1392
+ bound_iam_role_arns=["arn:aws:iam::123456789012:role/MyRole"],
1393
+ bound_iam_instance_profile_arns=["arn:aws:iam::123456789012:instance-profile/MyProfile"],
1394
+ inferred_entity_type="ec2_instance",
1395
+ inferred_aws_region="us-east-1",
1396
+ token_ttl=60,
1397
+ token_max_ttl=120,
1398
+ token_policies=[
1399
+ "default",
1400
+ "dev",
1401
+ "prod",
1402
+ ])
1403
+ ```
1404
+
1405
+ ## Import
1406
+
1407
+ AWS auth backend roles can be imported using `auth/`, the `backend` path, `/role/`, and the `role` name e.g.
1408
+
1409
+ ```sh
1410
+ $ pulumi import vault:aws/authBackendRole:AuthBackendRole example auth/aws/role/test-role
1411
+ ```
1412
+
1413
+ :param str resource_name: The name of the resource.
1414
+ :param AuthBackendRoleArgs args: The arguments to use to populate this resource's properties.
1415
+ :param pulumi.ResourceOptions opts: Options for the resource.
1416
+ """
1417
+ ...
1418
+ def __init__(__self__, resource_name: str, *args, **kwargs):
1419
+ resource_args, opts = _utilities.get_resource_args_opts(AuthBackendRoleArgs, pulumi.ResourceOptions, *args, **kwargs)
1420
+ if resource_args is not None:
1421
+ __self__._internal_init(resource_name, opts, **resource_args.__dict__)
1422
+ else:
1423
+ __self__._internal_init(resource_name, *args, **kwargs)
1424
+
1425
+ def _internal_init(__self__,
1426
+ resource_name: str,
1427
+ opts: Optional[pulumi.ResourceOptions] = None,
1428
+ alias_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1429
+ allow_instance_migration: Optional[pulumi.Input[_builtins.bool]] = None,
1430
+ auth_type: Optional[pulumi.Input[_builtins.str]] = None,
1431
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
1432
+ bound_account_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1433
+ bound_ami_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1434
+ bound_ec2_instance_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1435
+ bound_iam_instance_profile_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1436
+ bound_iam_principal_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1437
+ bound_iam_role_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1438
+ bound_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1439
+ bound_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1440
+ bound_vpc_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1441
+ disallow_reauthentication: Optional[pulumi.Input[_builtins.bool]] = None,
1442
+ inferred_aws_region: Optional[pulumi.Input[_builtins.str]] = None,
1443
+ inferred_entity_type: Optional[pulumi.Input[_builtins.str]] = None,
1444
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
1445
+ resolve_aws_unique_ids: Optional[pulumi.Input[_builtins.bool]] = None,
1446
+ role: Optional[pulumi.Input[_builtins.str]] = None,
1447
+ role_tag: Optional[pulumi.Input[_builtins.str]] = None,
1448
+ token_bound_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1449
+ token_explicit_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1450
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1451
+ token_no_default_policy: Optional[pulumi.Input[_builtins.bool]] = None,
1452
+ token_num_uses: Optional[pulumi.Input[_builtins.int]] = None,
1453
+ token_period: Optional[pulumi.Input[_builtins.int]] = None,
1454
+ token_policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1455
+ token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1456
+ token_type: Optional[pulumi.Input[_builtins.str]] = None,
1457
+ __props__=None):
1458
+ opts = pulumi.ResourceOptions.merge(_utilities.get_resource_opts_defaults(), opts)
1459
+ if not isinstance(opts, pulumi.ResourceOptions):
1460
+ raise TypeError('Expected resource options to be a ResourceOptions instance')
1461
+ if opts.id is None:
1462
+ if __props__ is not None:
1463
+ raise TypeError('__props__ is only valid when passed in combination with a valid opts.id to get an existing resource')
1464
+ __props__ = AuthBackendRoleArgs.__new__(AuthBackendRoleArgs)
1465
+
1466
+ __props__.__dict__["alias_metadata"] = alias_metadata
1467
+ __props__.__dict__["allow_instance_migration"] = allow_instance_migration
1468
+ __props__.__dict__["auth_type"] = auth_type
1469
+ __props__.__dict__["backend"] = backend
1470
+ __props__.__dict__["bound_account_ids"] = bound_account_ids
1471
+ __props__.__dict__["bound_ami_ids"] = bound_ami_ids
1472
+ __props__.__dict__["bound_ec2_instance_ids"] = bound_ec2_instance_ids
1473
+ __props__.__dict__["bound_iam_instance_profile_arns"] = bound_iam_instance_profile_arns
1474
+ __props__.__dict__["bound_iam_principal_arns"] = bound_iam_principal_arns
1475
+ __props__.__dict__["bound_iam_role_arns"] = bound_iam_role_arns
1476
+ __props__.__dict__["bound_regions"] = bound_regions
1477
+ __props__.__dict__["bound_subnet_ids"] = bound_subnet_ids
1478
+ __props__.__dict__["bound_vpc_ids"] = bound_vpc_ids
1479
+ __props__.__dict__["disallow_reauthentication"] = disallow_reauthentication
1480
+ __props__.__dict__["inferred_aws_region"] = inferred_aws_region
1481
+ __props__.__dict__["inferred_entity_type"] = inferred_entity_type
1482
+ __props__.__dict__["namespace"] = namespace
1483
+ __props__.__dict__["resolve_aws_unique_ids"] = resolve_aws_unique_ids
1484
+ if role is None and not opts.urn:
1485
+ raise TypeError("Missing required property 'role'")
1486
+ __props__.__dict__["role"] = role
1487
+ __props__.__dict__["role_tag"] = role_tag
1488
+ __props__.__dict__["token_bound_cidrs"] = token_bound_cidrs
1489
+ __props__.__dict__["token_explicit_max_ttl"] = token_explicit_max_ttl
1490
+ __props__.__dict__["token_max_ttl"] = token_max_ttl
1491
+ __props__.__dict__["token_no_default_policy"] = token_no_default_policy
1492
+ __props__.__dict__["token_num_uses"] = token_num_uses
1493
+ __props__.__dict__["token_period"] = token_period
1494
+ __props__.__dict__["token_policies"] = token_policies
1495
+ __props__.__dict__["token_ttl"] = token_ttl
1496
+ __props__.__dict__["token_type"] = token_type
1497
+ __props__.__dict__["role_id"] = None
1498
+ super(AuthBackendRole, __self__).__init__(
1499
+ 'vault:aws/authBackendRole:AuthBackendRole',
1500
+ resource_name,
1501
+ __props__,
1502
+ opts)
1503
+
1504
+ @staticmethod
1505
+ def get(resource_name: str,
1506
+ id: pulumi.Input[str],
1507
+ opts: Optional[pulumi.ResourceOptions] = None,
1508
+ alias_metadata: Optional[pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]]] = None,
1509
+ allow_instance_migration: Optional[pulumi.Input[_builtins.bool]] = None,
1510
+ auth_type: Optional[pulumi.Input[_builtins.str]] = None,
1511
+ backend: Optional[pulumi.Input[_builtins.str]] = None,
1512
+ bound_account_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1513
+ bound_ami_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1514
+ bound_ec2_instance_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1515
+ bound_iam_instance_profile_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1516
+ bound_iam_principal_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1517
+ bound_iam_role_arns: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1518
+ bound_regions: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1519
+ bound_subnet_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1520
+ bound_vpc_ids: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1521
+ disallow_reauthentication: Optional[pulumi.Input[_builtins.bool]] = None,
1522
+ inferred_aws_region: Optional[pulumi.Input[_builtins.str]] = None,
1523
+ inferred_entity_type: Optional[pulumi.Input[_builtins.str]] = None,
1524
+ namespace: Optional[pulumi.Input[_builtins.str]] = None,
1525
+ resolve_aws_unique_ids: Optional[pulumi.Input[_builtins.bool]] = None,
1526
+ role: Optional[pulumi.Input[_builtins.str]] = None,
1527
+ role_id: Optional[pulumi.Input[_builtins.str]] = None,
1528
+ role_tag: Optional[pulumi.Input[_builtins.str]] = None,
1529
+ token_bound_cidrs: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1530
+ token_explicit_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1531
+ token_max_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1532
+ token_no_default_policy: Optional[pulumi.Input[_builtins.bool]] = None,
1533
+ token_num_uses: Optional[pulumi.Input[_builtins.int]] = None,
1534
+ token_period: Optional[pulumi.Input[_builtins.int]] = None,
1535
+ token_policies: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
1536
+ token_ttl: Optional[pulumi.Input[_builtins.int]] = None,
1537
+ token_type: Optional[pulumi.Input[_builtins.str]] = None) -> 'AuthBackendRole':
1538
+ """
1539
+ Get an existing AuthBackendRole resource's state with the given name, id, and optional extra
1540
+ properties used to qualify the lookup.
1541
+
1542
+ :param str resource_name: The unique name of the resulting resource.
1543
+ :param pulumi.Input[str] id: The unique provider ID of the resource to lookup.
1544
+ :param pulumi.ResourceOptions opts: Options for the resource.
1545
+ :param pulumi.Input[Mapping[str, pulumi.Input[_builtins.str]]] alias_metadata: The metadata to be tied to generated entity alias.
1546
+ This should be a list or map containing the metadata in key value pairs.
1547
+ :param pulumi.Input[_builtins.bool] allow_instance_migration: If set to `true`, allows migration of
1548
+ the underlying instance where the client resides.
1549
+ :param pulumi.Input[_builtins.str] auth_type: The auth type permitted for this role. Valid choices
1550
+ are `ec2` and `iam`. Defaults to `iam`.
1551
+ :param pulumi.Input[_builtins.str] backend: Path to the mounted aws auth backend.
1552
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_account_ids: If set, defines a constraint on the EC2
1553
+ instances that can perform the login operation that they should be using the
1554
+ account ID specified by this field. `auth_type` must be set to `ec2` or
1555
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
1556
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_ami_ids: If set, defines a constraint on the EC2 instances
1557
+ that can perform the login operation that they should be using the AMI ID
1558
+ specified by this field. `auth_type` must be set to `ec2` or
1559
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
1560
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_ec2_instance_ids: Only EC2 instances that match this instance ID will be permitted to log in.
1561
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_iam_instance_profile_arns: If set, defines a constraint on
1562
+ the EC2 instances that can perform the login operation that they must be
1563
+ associated with an IAM instance profile ARN which has a prefix that matches
1564
+ the value specified by this field. The value is prefix-matched as though it
1565
+ were a glob ending in `*`. `auth_type` must be set to `ec2` or
1566
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
1567
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_iam_principal_arns: If set, defines the IAM principal that
1568
+ must be authenticated when `auth_type` is set to `iam`. Wildcards are
1569
+ supported at the end of the ARN.
1570
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_iam_role_arns: If set, defines a constraint on the EC2
1571
+ instances that can perform the login operation that they must match the IAM
1572
+ role ARN specified by this field. `auth_type` must be set to `ec2` or
1573
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
1574
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_regions: If set, defines a constraint on the EC2 instances
1575
+ that can perform the login operation that the region in their identity
1576
+ document must match the one specified by this field. `auth_type` must be set
1577
+ to `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
1578
+ constraint.
1579
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_subnet_ids: If set, defines a constraint on the EC2
1580
+ instances that can perform the login operation that they be associated with
1581
+ the subnet ID that matches the value specified by this field. `auth_type`
1582
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
1583
+ to use this constraint.
1584
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] bound_vpc_ids: If set, defines a constraint on the EC2 instances
1585
+ that can perform the login operation that they be associated with the VPC ID
1586
+ that matches the value specified by this field. `auth_type` must be set to
1587
+ `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
1588
+ constraint.
1589
+ :param pulumi.Input[_builtins.bool] disallow_reauthentication: IF set to `true`, only allows a
1590
+ single token to be granted per instance ID. This can only be set when
1591
+ `auth_type` is set to `ec2`.
1592
+ :param pulumi.Input[_builtins.str] inferred_aws_region: When `inferred_entity_type` is set, this
1593
+ is the region to search for the inferred entities. Required if
1594
+ `inferred_entity_type` is set. This only applies when `auth_type` is set to
1595
+ `iam`.
1596
+ :param pulumi.Input[_builtins.str] inferred_entity_type: If set, instructs Vault to turn on
1597
+ inferencing. The only valid value is `ec2_instance`, which instructs Vault to
1598
+ infer that the role comes from an EC2 instance in an IAM instance profile.
1599
+ This only applies when `auth_type` is set to `iam`.
1600
+ :param pulumi.Input[_builtins.str] namespace: The namespace to provision the resource in.
1601
+ The value should not contain leading or trailing forward slashes.
1602
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1603
+ *Available only for Vault Enterprise*.
1604
+ :param pulumi.Input[_builtins.bool] resolve_aws_unique_ids: Only valid when
1605
+ `auth_type` is `iam`. If set to `true`, the `bound_iam_principal_arns` are
1606
+ resolved to [AWS Unique
1607
+ IDs](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids)
1608
+ for the bound principal ARN. This field is ignored when a
1609
+ `bound_iam_principal_arn` ends in a wildcard. Resolving to unique IDs more
1610
+ closely mimics the behavior of AWS services in that if an IAM user or role is
1611
+ deleted and a new one is recreated with the same name, those new users or
1612
+ roles won't get access to roles in Vault that were permissioned to the prior
1613
+ principals of the same name. Defaults to `true`.
1614
+ Once set to `true`, this cannot be changed to `false` without recreating the role.
1615
+ :param pulumi.Input[_builtins.str] role: The name of the role.
1616
+ :param pulumi.Input[_builtins.str] role_id: The Vault generated role ID.
1617
+ :param pulumi.Input[_builtins.str] role_tag: If set, enable role tags for this role. The value set
1618
+ for this field should be the key of the tag on the EC2 instance. `auth_type`
1619
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
1620
+ to use this constraint.
1621
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_bound_cidrs: Specifies the blocks of IP addresses which are allowed to use the generated token
1622
+ :param pulumi.Input[_builtins.int] token_explicit_max_ttl: Generated Token's Explicit Maximum TTL in seconds
1623
+ :param pulumi.Input[_builtins.int] token_max_ttl: The maximum lifetime of the generated token
1624
+ :param pulumi.Input[_builtins.bool] token_no_default_policy: If true, the 'default' policy will not automatically be added to generated tokens
1625
+ :param pulumi.Input[_builtins.int] token_num_uses: The maximum number of times a token may be used, a value of zero means unlimited
1626
+ :param pulumi.Input[_builtins.int] token_period: Generated Token's Period
1627
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] token_policies: Generated Token's Policies
1628
+ :param pulumi.Input[_builtins.int] token_ttl: The initial ttl of the token to generate in seconds
1629
+ :param pulumi.Input[_builtins.str] token_type: The type of token to generate, service or batch
1630
+ """
1631
+ opts = pulumi.ResourceOptions.merge(opts, pulumi.ResourceOptions(id=id))
1632
+
1633
+ __props__ = _AuthBackendRoleState.__new__(_AuthBackendRoleState)
1634
+
1635
+ __props__.__dict__["alias_metadata"] = alias_metadata
1636
+ __props__.__dict__["allow_instance_migration"] = allow_instance_migration
1637
+ __props__.__dict__["auth_type"] = auth_type
1638
+ __props__.__dict__["backend"] = backend
1639
+ __props__.__dict__["bound_account_ids"] = bound_account_ids
1640
+ __props__.__dict__["bound_ami_ids"] = bound_ami_ids
1641
+ __props__.__dict__["bound_ec2_instance_ids"] = bound_ec2_instance_ids
1642
+ __props__.__dict__["bound_iam_instance_profile_arns"] = bound_iam_instance_profile_arns
1643
+ __props__.__dict__["bound_iam_principal_arns"] = bound_iam_principal_arns
1644
+ __props__.__dict__["bound_iam_role_arns"] = bound_iam_role_arns
1645
+ __props__.__dict__["bound_regions"] = bound_regions
1646
+ __props__.__dict__["bound_subnet_ids"] = bound_subnet_ids
1647
+ __props__.__dict__["bound_vpc_ids"] = bound_vpc_ids
1648
+ __props__.__dict__["disallow_reauthentication"] = disallow_reauthentication
1649
+ __props__.__dict__["inferred_aws_region"] = inferred_aws_region
1650
+ __props__.__dict__["inferred_entity_type"] = inferred_entity_type
1651
+ __props__.__dict__["namespace"] = namespace
1652
+ __props__.__dict__["resolve_aws_unique_ids"] = resolve_aws_unique_ids
1653
+ __props__.__dict__["role"] = role
1654
+ __props__.__dict__["role_id"] = role_id
1655
+ __props__.__dict__["role_tag"] = role_tag
1656
+ __props__.__dict__["token_bound_cidrs"] = token_bound_cidrs
1657
+ __props__.__dict__["token_explicit_max_ttl"] = token_explicit_max_ttl
1658
+ __props__.__dict__["token_max_ttl"] = token_max_ttl
1659
+ __props__.__dict__["token_no_default_policy"] = token_no_default_policy
1660
+ __props__.__dict__["token_num_uses"] = token_num_uses
1661
+ __props__.__dict__["token_period"] = token_period
1662
+ __props__.__dict__["token_policies"] = token_policies
1663
+ __props__.__dict__["token_ttl"] = token_ttl
1664
+ __props__.__dict__["token_type"] = token_type
1665
+ return AuthBackendRole(resource_name, opts=opts, __props__=__props__)
1666
+
1667
+ @_builtins.property
1668
+ @pulumi.getter(name="aliasMetadata")
1669
+ def alias_metadata(self) -> pulumi.Output[Optional[Mapping[str, _builtins.str]]]:
1670
+ """
1671
+ The metadata to be tied to generated entity alias.
1672
+ This should be a list or map containing the metadata in key value pairs.
1673
+ """
1674
+ return pulumi.get(self, "alias_metadata")
1675
+
1676
+ @_builtins.property
1677
+ @pulumi.getter(name="allowInstanceMigration")
1678
+ def allow_instance_migration(self) -> pulumi.Output[Optional[_builtins.bool]]:
1679
+ """
1680
+ If set to `true`, allows migration of
1681
+ the underlying instance where the client resides.
1682
+ """
1683
+ return pulumi.get(self, "allow_instance_migration")
1684
+
1685
+ @_builtins.property
1686
+ @pulumi.getter(name="authType")
1687
+ def auth_type(self) -> pulumi.Output[Optional[_builtins.str]]:
1688
+ """
1689
+ The auth type permitted for this role. Valid choices
1690
+ are `ec2` and `iam`. Defaults to `iam`.
1691
+ """
1692
+ return pulumi.get(self, "auth_type")
1693
+
1694
+ @_builtins.property
1695
+ @pulumi.getter
1696
+ def backend(self) -> pulumi.Output[Optional[_builtins.str]]:
1697
+ """
1698
+ Path to the mounted aws auth backend.
1699
+ """
1700
+ return pulumi.get(self, "backend")
1701
+
1702
+ @_builtins.property
1703
+ @pulumi.getter(name="boundAccountIds")
1704
+ def bound_account_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1705
+ """
1706
+ If set, defines a constraint on the EC2
1707
+ instances that can perform the login operation that they should be using the
1708
+ account ID specified by this field. `auth_type` must be set to `ec2` or
1709
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
1710
+ """
1711
+ return pulumi.get(self, "bound_account_ids")
1712
+
1713
+ @_builtins.property
1714
+ @pulumi.getter(name="boundAmiIds")
1715
+ def bound_ami_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1716
+ """
1717
+ If set, defines a constraint on the EC2 instances
1718
+ that can perform the login operation that they should be using the AMI ID
1719
+ specified by this field. `auth_type` must be set to `ec2` or
1720
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
1721
+ """
1722
+ return pulumi.get(self, "bound_ami_ids")
1723
+
1724
+ @_builtins.property
1725
+ @pulumi.getter(name="boundEc2InstanceIds")
1726
+ def bound_ec2_instance_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1727
+ """
1728
+ Only EC2 instances that match this instance ID will be permitted to log in.
1729
+ """
1730
+ return pulumi.get(self, "bound_ec2_instance_ids")
1731
+
1732
+ @_builtins.property
1733
+ @pulumi.getter(name="boundIamInstanceProfileArns")
1734
+ def bound_iam_instance_profile_arns(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1735
+ """
1736
+ If set, defines a constraint on
1737
+ the EC2 instances that can perform the login operation that they must be
1738
+ associated with an IAM instance profile ARN which has a prefix that matches
1739
+ the value specified by this field. The value is prefix-matched as though it
1740
+ were a glob ending in `*`. `auth_type` must be set to `ec2` or
1741
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
1742
+ """
1743
+ return pulumi.get(self, "bound_iam_instance_profile_arns")
1744
+
1745
+ @_builtins.property
1746
+ @pulumi.getter(name="boundIamPrincipalArns")
1747
+ def bound_iam_principal_arns(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1748
+ """
1749
+ If set, defines the IAM principal that
1750
+ must be authenticated when `auth_type` is set to `iam`. Wildcards are
1751
+ supported at the end of the ARN.
1752
+ """
1753
+ return pulumi.get(self, "bound_iam_principal_arns")
1754
+
1755
+ @_builtins.property
1756
+ @pulumi.getter(name="boundIamRoleArns")
1757
+ def bound_iam_role_arns(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1758
+ """
1759
+ If set, defines a constraint on the EC2
1760
+ instances that can perform the login operation that they must match the IAM
1761
+ role ARN specified by this field. `auth_type` must be set to `ec2` or
1762
+ `inferred_entity_type` must be set to `ec2_instance` to use this constraint.
1763
+ """
1764
+ return pulumi.get(self, "bound_iam_role_arns")
1765
+
1766
+ @_builtins.property
1767
+ @pulumi.getter(name="boundRegions")
1768
+ def bound_regions(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1769
+ """
1770
+ If set, defines a constraint on the EC2 instances
1771
+ that can perform the login operation that the region in their identity
1772
+ document must match the one specified by this field. `auth_type` must be set
1773
+ to `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
1774
+ constraint.
1775
+ """
1776
+ return pulumi.get(self, "bound_regions")
1777
+
1778
+ @_builtins.property
1779
+ @pulumi.getter(name="boundSubnetIds")
1780
+ def bound_subnet_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1781
+ """
1782
+ If set, defines a constraint on the EC2
1783
+ instances that can perform the login operation that they be associated with
1784
+ the subnet ID that matches the value specified by this field. `auth_type`
1785
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
1786
+ to use this constraint.
1787
+ """
1788
+ return pulumi.get(self, "bound_subnet_ids")
1789
+
1790
+ @_builtins.property
1791
+ @pulumi.getter(name="boundVpcIds")
1792
+ def bound_vpc_ids(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1793
+ """
1794
+ If set, defines a constraint on the EC2 instances
1795
+ that can perform the login operation that they be associated with the VPC ID
1796
+ that matches the value specified by this field. `auth_type` must be set to
1797
+ `ec2` or `inferred_entity_type` must be set to `ec2_instance` to use this
1798
+ constraint.
1799
+ """
1800
+ return pulumi.get(self, "bound_vpc_ids")
1801
+
1802
+ @_builtins.property
1803
+ @pulumi.getter(name="disallowReauthentication")
1804
+ def disallow_reauthentication(self) -> pulumi.Output[Optional[_builtins.bool]]:
1805
+ """
1806
+ IF set to `true`, only allows a
1807
+ single token to be granted per instance ID. This can only be set when
1808
+ `auth_type` is set to `ec2`.
1809
+ """
1810
+ return pulumi.get(self, "disallow_reauthentication")
1811
+
1812
+ @_builtins.property
1813
+ @pulumi.getter(name="inferredAwsRegion")
1814
+ def inferred_aws_region(self) -> pulumi.Output[Optional[_builtins.str]]:
1815
+ """
1816
+ When `inferred_entity_type` is set, this
1817
+ is the region to search for the inferred entities. Required if
1818
+ `inferred_entity_type` is set. This only applies when `auth_type` is set to
1819
+ `iam`.
1820
+ """
1821
+ return pulumi.get(self, "inferred_aws_region")
1822
+
1823
+ @_builtins.property
1824
+ @pulumi.getter(name="inferredEntityType")
1825
+ def inferred_entity_type(self) -> pulumi.Output[Optional[_builtins.str]]:
1826
+ """
1827
+ If set, instructs Vault to turn on
1828
+ inferencing. The only valid value is `ec2_instance`, which instructs Vault to
1829
+ infer that the role comes from an EC2 instance in an IAM instance profile.
1830
+ This only applies when `auth_type` is set to `iam`.
1831
+ """
1832
+ return pulumi.get(self, "inferred_entity_type")
1833
+
1834
+ @_builtins.property
1835
+ @pulumi.getter
1836
+ def namespace(self) -> pulumi.Output[Optional[_builtins.str]]:
1837
+ """
1838
+ The namespace to provision the resource in.
1839
+ The value should not contain leading or trailing forward slashes.
1840
+ The `namespace` is always relative to the provider's configured [namespace](https://www.terraform.io/docs/providers/vault/index.html#namespace).
1841
+ *Available only for Vault Enterprise*.
1842
+ """
1843
+ return pulumi.get(self, "namespace")
1844
+
1845
+ @_builtins.property
1846
+ @pulumi.getter(name="resolveAwsUniqueIds")
1847
+ def resolve_aws_unique_ids(self) -> pulumi.Output[Optional[_builtins.bool]]:
1848
+ """
1849
+ Only valid when
1850
+ `auth_type` is `iam`. If set to `true`, the `bound_iam_principal_arns` are
1851
+ resolved to [AWS Unique
1852
+ IDs](http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-unique-ids)
1853
+ for the bound principal ARN. This field is ignored when a
1854
+ `bound_iam_principal_arn` ends in a wildcard. Resolving to unique IDs more
1855
+ closely mimics the behavior of AWS services in that if an IAM user or role is
1856
+ deleted and a new one is recreated with the same name, those new users or
1857
+ roles won't get access to roles in Vault that were permissioned to the prior
1858
+ principals of the same name. Defaults to `true`.
1859
+ Once set to `true`, this cannot be changed to `false` without recreating the role.
1860
+ """
1861
+ return pulumi.get(self, "resolve_aws_unique_ids")
1862
+
1863
+ @_builtins.property
1864
+ @pulumi.getter
1865
+ def role(self) -> pulumi.Output[_builtins.str]:
1866
+ """
1867
+ The name of the role.
1868
+ """
1869
+ return pulumi.get(self, "role")
1870
+
1871
+ @_builtins.property
1872
+ @pulumi.getter(name="roleId")
1873
+ def role_id(self) -> pulumi.Output[_builtins.str]:
1874
+ """
1875
+ The Vault generated role ID.
1876
+ """
1877
+ return pulumi.get(self, "role_id")
1878
+
1879
+ @_builtins.property
1880
+ @pulumi.getter(name="roleTag")
1881
+ def role_tag(self) -> pulumi.Output[Optional[_builtins.str]]:
1882
+ """
1883
+ If set, enable role tags for this role. The value set
1884
+ for this field should be the key of the tag on the EC2 instance. `auth_type`
1885
+ must be set to `ec2` or `inferred_entity_type` must be set to `ec2_instance`
1886
+ to use this constraint.
1887
+ """
1888
+ return pulumi.get(self, "role_tag")
1889
+
1890
+ @_builtins.property
1891
+ @pulumi.getter(name="tokenBoundCidrs")
1892
+ def token_bound_cidrs(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1893
+ """
1894
+ Specifies the blocks of IP addresses which are allowed to use the generated token
1895
+ """
1896
+ return pulumi.get(self, "token_bound_cidrs")
1897
+
1898
+ @_builtins.property
1899
+ @pulumi.getter(name="tokenExplicitMaxTtl")
1900
+ def token_explicit_max_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
1901
+ """
1902
+ Generated Token's Explicit Maximum TTL in seconds
1903
+ """
1904
+ return pulumi.get(self, "token_explicit_max_ttl")
1905
+
1906
+ @_builtins.property
1907
+ @pulumi.getter(name="tokenMaxTtl")
1908
+ def token_max_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
1909
+ """
1910
+ The maximum lifetime of the generated token
1911
+ """
1912
+ return pulumi.get(self, "token_max_ttl")
1913
+
1914
+ @_builtins.property
1915
+ @pulumi.getter(name="tokenNoDefaultPolicy")
1916
+ def token_no_default_policy(self) -> pulumi.Output[Optional[_builtins.bool]]:
1917
+ """
1918
+ If true, the 'default' policy will not automatically be added to generated tokens
1919
+ """
1920
+ return pulumi.get(self, "token_no_default_policy")
1921
+
1922
+ @_builtins.property
1923
+ @pulumi.getter(name="tokenNumUses")
1924
+ def token_num_uses(self) -> pulumi.Output[Optional[_builtins.int]]:
1925
+ """
1926
+ The maximum number of times a token may be used, a value of zero means unlimited
1927
+ """
1928
+ return pulumi.get(self, "token_num_uses")
1929
+
1930
+ @_builtins.property
1931
+ @pulumi.getter(name="tokenPeriod")
1932
+ def token_period(self) -> pulumi.Output[Optional[_builtins.int]]:
1933
+ """
1934
+ Generated Token's Period
1935
+ """
1936
+ return pulumi.get(self, "token_period")
1937
+
1938
+ @_builtins.property
1939
+ @pulumi.getter(name="tokenPolicies")
1940
+ def token_policies(self) -> pulumi.Output[Optional[Sequence[_builtins.str]]]:
1941
+ """
1942
+ Generated Token's Policies
1943
+ """
1944
+ return pulumi.get(self, "token_policies")
1945
+
1946
+ @_builtins.property
1947
+ @pulumi.getter(name="tokenTtl")
1948
+ def token_ttl(self) -> pulumi.Output[Optional[_builtins.int]]:
1949
+ """
1950
+ The initial ttl of the token to generate in seconds
1951
+ """
1952
+ return pulumi.get(self, "token_ttl")
1953
+
1954
+ @_builtins.property
1955
+ @pulumi.getter(name="tokenType")
1956
+ def token_type(self) -> pulumi.Output[Optional[_builtins.str]]:
1957
+ """
1958
+ The type of token to generate, service or batch
1959
+ """
1960
+ return pulumi.get(self, "token_type")
1961
+