pulumi-vault 6.2.0__py3-none-any.whl → 6.2.0a1712470779__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 (192) hide show
  1. pulumi_vault/__init__.py +0 -26
  2. pulumi_vault/_inputs.py +20 -0
  3. pulumi_vault/ad/secret_backend.py +6 -2
  4. pulumi_vault/ad/secret_library.py +4 -2
  5. pulumi_vault/ad/secret_role.py +4 -0
  6. pulumi_vault/alicloud/auth_backend_role.py +192 -69
  7. pulumi_vault/approle/auth_backend_login.py +4 -0
  8. pulumi_vault/approle/auth_backend_role.py +186 -63
  9. pulumi_vault/approle/auth_backend_role_secret_id.py +4 -0
  10. pulumi_vault/approle/get_auth_backend_role_id.py +4 -0
  11. pulumi_vault/audit.py +20 -12
  12. pulumi_vault/audit_request_header.py +6 -6
  13. pulumi_vault/auth_backend.py +0 -47
  14. pulumi_vault/aws/auth_backend_client.py +17 -253
  15. pulumi_vault/aws/auth_backend_config_identity.py +4 -0
  16. pulumi_vault/aws/auth_backend_identity_whitelist.py +10 -6
  17. pulumi_vault/aws/auth_backend_login.py +8 -0
  18. pulumi_vault/aws/auth_backend_role.py +186 -63
  19. pulumi_vault/aws/auth_backend_roletag_blacklist.py +10 -6
  20. pulumi_vault/aws/auth_backend_sts_role.py +4 -0
  21. pulumi_vault/aws/secret_backend_role.py +4 -56
  22. pulumi_vault/aws/secret_backend_static_role.py +4 -2
  23. pulumi_vault/azure/auth_backend_config.py +10 -139
  24. pulumi_vault/azure/auth_backend_role.py +186 -63
  25. pulumi_vault/azure/backend.py +22 -217
  26. pulumi_vault/azure/backend_role.py +18 -14
  27. pulumi_vault/azure/get_access_credentials.py +4 -0
  28. pulumi_vault/cert_auth_backend_role.py +208 -75
  29. pulumi_vault/consul/secret_backend.py +18 -10
  30. pulumi_vault/consul/secret_backend_role.py +4 -2
  31. pulumi_vault/database/_inputs.py +784 -522
  32. pulumi_vault/database/outputs.py +784 -522
  33. pulumi_vault/database/secret_backend_connection.py +4 -2
  34. pulumi_vault/database/secret_backend_role.py +4 -4
  35. pulumi_vault/database/secret_backend_static_role.py +8 -10
  36. pulumi_vault/database/secrets_mount.py +4 -286
  37. pulumi_vault/egp_policy.py +8 -4
  38. pulumi_vault/gcp/auth_backend.py +18 -226
  39. pulumi_vault/gcp/auth_backend_role.py +264 -63
  40. pulumi_vault/gcp/get_auth_backend_role.py +4 -0
  41. pulumi_vault/gcp/secret_backend.py +9 -275
  42. pulumi_vault/gcp/secret_impersonated_account.py +14 -12
  43. pulumi_vault/gcp/secret_roleset.py +6 -4
  44. pulumi_vault/gcp/secret_static_account.py +16 -14
  45. pulumi_vault/generic/endpoint.py +8 -4
  46. pulumi_vault/generic/get_secret.py +4 -40
  47. pulumi_vault/get_auth_backend.py +4 -0
  48. pulumi_vault/get_auth_backends.py +8 -0
  49. pulumi_vault/get_namespace.py +12 -0
  50. pulumi_vault/get_namespaces.py +12 -4
  51. pulumi_vault/get_nomad_access_token.py +4 -0
  52. pulumi_vault/get_policy_document.py +8 -8
  53. pulumi_vault/get_raft_autopilot_state.py +4 -0
  54. pulumi_vault/github/auth_backend.py +4 -0
  55. pulumi_vault/github/team.py +6 -2
  56. pulumi_vault/github/user.py +6 -2
  57. pulumi_vault/identity/entity.py +8 -6
  58. pulumi_vault/identity/entity_alias.py +8 -6
  59. pulumi_vault/identity/entity_policies.py +12 -12
  60. pulumi_vault/identity/get_entity.py +4 -0
  61. pulumi_vault/identity/get_group.py +4 -0
  62. pulumi_vault/identity/get_oidc_client_creds.py +4 -2
  63. pulumi_vault/identity/get_oidc_openid_config.py +6 -10
  64. pulumi_vault/identity/get_oidc_public_keys.py +6 -10
  65. pulumi_vault/identity/group.py +42 -38
  66. pulumi_vault/identity/group_alias.py +4 -2
  67. pulumi_vault/identity/group_member_entity_ids.py +16 -12
  68. pulumi_vault/identity/group_member_group_ids.py +20 -24
  69. pulumi_vault/identity/group_policies.py +8 -4
  70. pulumi_vault/identity/mfa_duo.py +8 -4
  71. pulumi_vault/identity/mfa_login_enforcement.py +8 -8
  72. pulumi_vault/identity/mfa_okta.py +8 -4
  73. pulumi_vault/identity/mfa_pingid.py +4 -0
  74. pulumi_vault/identity/mfa_totp.py +4 -0
  75. pulumi_vault/identity/oidc.py +4 -0
  76. pulumi_vault/identity/oidc_assignment.py +6 -10
  77. pulumi_vault/identity/oidc_client.py +10 -10
  78. pulumi_vault/identity/oidc_key.py +12 -16
  79. pulumi_vault/identity/oidc_key_allowed_client_id.py +12 -16
  80. pulumi_vault/identity/oidc_provider.py +16 -22
  81. pulumi_vault/identity/oidc_role.py +20 -28
  82. pulumi_vault/identity/oidc_scope.py +8 -6
  83. pulumi_vault/jwt/auth_backend.py +32 -20
  84. pulumi_vault/jwt/auth_backend_role.py +225 -91
  85. pulumi_vault/kmip/secret_backend.py +14 -10
  86. pulumi_vault/kmip/secret_role.py +4 -0
  87. pulumi_vault/kmip/secret_scope.py +4 -0
  88. pulumi_vault/kubernetes/auth_backend_config.py +4 -0
  89. pulumi_vault/kubernetes/auth_backend_role.py +172 -56
  90. pulumi_vault/kubernetes/get_service_account_token.py +8 -8
  91. pulumi_vault/kubernetes/secret_backend.py +8 -288
  92. pulumi_vault/kubernetes/secret_backend_role.py +24 -24
  93. pulumi_vault/kv/get_secret.py +4 -0
  94. pulumi_vault/kv/get_secret_subkeys_v2.py +6 -4
  95. pulumi_vault/kv/get_secret_v2.py +0 -58
  96. pulumi_vault/kv/get_secrets_list.py +8 -4
  97. pulumi_vault/kv/get_secrets_list_v2.py +12 -14
  98. pulumi_vault/kv/secret.py +4 -0
  99. pulumi_vault/kv/secret_backend_v2.py +4 -0
  100. pulumi_vault/kv/secret_v2.py +4 -2
  101. pulumi_vault/ldap/auth_backend.py +161 -66
  102. pulumi_vault/ldap/auth_backend_group.py +4 -0
  103. pulumi_vault/ldap/auth_backend_user.py +4 -0
  104. pulumi_vault/ldap/secret_backend.py +8 -286
  105. pulumi_vault/ldap/secret_backend_dynamic_role.py +4 -0
  106. pulumi_vault/ldap/secret_backend_library_set.py +4 -2
  107. pulumi_vault/ldap/secret_backend_static_role.py +4 -0
  108. pulumi_vault/managed/_inputs.py +132 -84
  109. pulumi_vault/managed/keys.py +28 -7
  110. pulumi_vault/managed/outputs.py +132 -84
  111. pulumi_vault/mfa_duo.py +6 -4
  112. pulumi_vault/mfa_okta.py +6 -4
  113. pulumi_vault/mfa_pingid.py +6 -4
  114. pulumi_vault/mfa_totp.py +12 -10
  115. pulumi_vault/mongodbatlas/secret_backend.py +4 -0
  116. pulumi_vault/mongodbatlas/secret_role.py +4 -2
  117. pulumi_vault/mount.py +42 -350
  118. pulumi_vault/nomad_secret_backend.py +8 -4
  119. pulumi_vault/nomad_secret_role.py +4 -0
  120. pulumi_vault/okta/_inputs.py +8 -8
  121. pulumi_vault/okta/auth_backend.py +10 -459
  122. pulumi_vault/okta/auth_backend_group.py +4 -0
  123. pulumi_vault/okta/auth_backend_user.py +4 -0
  124. pulumi_vault/okta/outputs.py +8 -8
  125. pulumi_vault/outputs.py +20 -0
  126. pulumi_vault/password_policy.py +8 -6
  127. pulumi_vault/pkisecret/__init__.py +0 -2
  128. pulumi_vault/pkisecret/_inputs.py +0 -30
  129. pulumi_vault/pkisecret/backend_config_cluster.py +4 -0
  130. pulumi_vault/pkisecret/get_backend_issuer.py +0 -36
  131. pulumi_vault/pkisecret/get_backend_issuers.py +4 -0
  132. pulumi_vault/pkisecret/get_backend_key.py +6 -2
  133. pulumi_vault/pkisecret/get_backend_keys.py +4 -0
  134. pulumi_vault/pkisecret/outputs.py +0 -54
  135. pulumi_vault/pkisecret/secret_backend_cert.py +8 -6
  136. pulumi_vault/pkisecret/secret_backend_config_ca.py +8 -4
  137. pulumi_vault/pkisecret/secret_backend_config_issuers.py +4 -0
  138. pulumi_vault/pkisecret/secret_backend_config_urls.py +4 -0
  139. pulumi_vault/pkisecret/secret_backend_crl_config.py +6 -2
  140. pulumi_vault/pkisecret/secret_backend_intermediate_cert_request.py +8 -4
  141. pulumi_vault/pkisecret/secret_backend_intermediate_set_signed.py +14 -10
  142. pulumi_vault/pkisecret/secret_backend_issuer.py +4 -0
  143. pulumi_vault/pkisecret/secret_backend_role.py +4 -2
  144. pulumi_vault/pkisecret/secret_backend_root_cert.py +8 -4
  145. pulumi_vault/pkisecret/secret_backend_root_sign_intermediate.py +10 -6
  146. pulumi_vault/pkisecret/secret_backend_sign.py +8 -6
  147. pulumi_vault/provider.py +8 -0
  148. pulumi_vault/pulumi-plugin.json +1 -2
  149. pulumi_vault/quota_lease_count.py +8 -53
  150. pulumi_vault/quota_rate_limit.py +4 -49
  151. pulumi_vault/rabbitmq/secret_backend.py +8 -4
  152. pulumi_vault/rabbitmq/secret_backend_role.py +4 -2
  153. pulumi_vault/raft_autopilot.py +4 -0
  154. pulumi_vault/raft_snapshot_agent_config.py +304 -109
  155. pulumi_vault/rgp_policy.py +6 -2
  156. pulumi_vault/saml/auth_backend.py +12 -8
  157. pulumi_vault/saml/auth_backend_role.py +178 -64
  158. pulumi_vault/secrets/sync_association.py +10 -12
  159. pulumi_vault/secrets/sync_aws_destination.py +8 -6
  160. pulumi_vault/secrets/sync_azure_destination.py +12 -10
  161. pulumi_vault/secrets/sync_config.py +6 -2
  162. pulumi_vault/secrets/sync_gcp_destination.py +6 -6
  163. pulumi_vault/secrets/sync_gh_destination.py +8 -6
  164. pulumi_vault/secrets/sync_github_apps.py +8 -8
  165. pulumi_vault/secrets/sync_vercel_destination.py +8 -6
  166. pulumi_vault/ssh/_inputs.py +32 -6
  167. pulumi_vault/ssh/outputs.py +32 -6
  168. pulumi_vault/ssh/secret_backend_ca.py +4 -94
  169. pulumi_vault/ssh/secret_backend_role.py +4 -4
  170. pulumi_vault/terraformcloud/secret_backend.py +56 -0
  171. pulumi_vault/terraformcloud/secret_creds.py +17 -2
  172. pulumi_vault/terraformcloud/secret_role.py +69 -2
  173. pulumi_vault/token.py +18 -14
  174. pulumi_vault/tokenauth/auth_backend_role.py +180 -64
  175. pulumi_vault/transform/alphabet.py +6 -4
  176. pulumi_vault/transform/get_decode.py +4 -4
  177. pulumi_vault/transform/get_encode.py +4 -4
  178. pulumi_vault/transform/role.py +6 -4
  179. pulumi_vault/transform/template.py +4 -4
  180. pulumi_vault/transit/get_decrypt.py +20 -4
  181. pulumi_vault/transit/get_encrypt.py +14 -0
  182. pulumi_vault/transit/secret_backend_key.py +6 -6
  183. pulumi_vault/transit/secret_cache_config.py +4 -0
  184. {pulumi_vault-6.2.0.dist-info → pulumi_vault-6.2.0a1712470779.dist-info}/METADATA +1 -1
  185. pulumi_vault-6.2.0a1712470779.dist-info/RECORD +252 -0
  186. {pulumi_vault-6.2.0.dist-info → pulumi_vault-6.2.0a1712470779.dist-info}/WHEEL +1 -1
  187. pulumi_vault/pkisecret/backend_config_est.py +0 -614
  188. pulumi_vault/pkisecret/get_backend_config_est.py +0 -233
  189. pulumi_vault/plugin.py +0 -590
  190. pulumi_vault/plugin_pinned_version.py +0 -293
  191. pulumi_vault-6.2.0.dist-info/RECORD +0 -256
  192. {pulumi_vault-6.2.0.dist-info → pulumi_vault-6.2.0a1712470779.dist-info}/top_level.txt +0 -0
@@ -142,14 +142,14 @@ class AuditRequestHeader(pulumi.CustomResource):
142
142
 
143
143
  ## Example Usage
144
144
 
145
+ <!--Start PulumiCodeChooser -->
145
146
  ```python
146
147
  import pulumi
147
148
  import pulumi_vault as vault
148
149
 
149
- x_forwarded_for = vault.AuditRequestHeader("x_forwarded_for",
150
- name="X-Forwarded-For",
151
- hmac=False)
150
+ x_forwarded_for = vault.AuditRequestHeader("xForwardedFor", hmac=False)
152
151
  ```
152
+ <!--End PulumiCodeChooser -->
153
153
 
154
154
  :param str resource_name: The name of the resource.
155
155
  :param pulumi.ResourceOptions opts: Options for the resource.
@@ -173,14 +173,14 @@ class AuditRequestHeader(pulumi.CustomResource):
173
173
 
174
174
  ## Example Usage
175
175
 
176
+ <!--Start PulumiCodeChooser -->
176
177
  ```python
177
178
  import pulumi
178
179
  import pulumi_vault as vault
179
180
 
180
- x_forwarded_for = vault.AuditRequestHeader("x_forwarded_for",
181
- name="X-Forwarded-For",
182
- hmac=False)
181
+ x_forwarded_for = vault.AuditRequestHeader("xForwardedFor", hmac=False)
183
182
  ```
183
+ <!--End PulumiCodeChooser -->
184
184
 
185
185
  :param str resource_name: The name of the resource.
186
186
  :param AuditRequestHeaderArgs args: The arguments to use to populate this resource's properties.
@@ -19,7 +19,6 @@ class AuthBackendArgs:
19
19
  type: pulumi.Input[str],
20
20
  description: Optional[pulumi.Input[str]] = None,
21
21
  disable_remount: Optional[pulumi.Input[bool]] = None,
22
- identity_token_key: Optional[pulumi.Input[str]] = None,
23
22
  local: Optional[pulumi.Input[bool]] = None,
24
23
  namespace: Optional[pulumi.Input[str]] = None,
25
24
  path: Optional[pulumi.Input[str]] = None,
@@ -30,7 +29,6 @@ class AuthBackendArgs:
30
29
  :param pulumi.Input[str] description: A description of the auth method.
31
30
  :param pulumi.Input[bool] disable_remount: If set, opts out of mount migration on path updates.
32
31
  See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
33
- :param pulumi.Input[str] identity_token_key: The key to use for signing identity tokens.
34
32
  :param pulumi.Input[bool] local: Specifies if the auth method is local only.
35
33
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
36
34
  The value should not contain leading or trailing forward slashes.
@@ -46,8 +44,6 @@ class AuthBackendArgs:
46
44
  pulumi.set(__self__, "description", description)
47
45
  if disable_remount is not None:
48
46
  pulumi.set(__self__, "disable_remount", disable_remount)
49
- if identity_token_key is not None:
50
- pulumi.set(__self__, "identity_token_key", identity_token_key)
51
47
  if local is not None:
52
48
  pulumi.set(__self__, "local", local)
53
49
  if namespace is not None:
@@ -94,18 +90,6 @@ class AuthBackendArgs:
94
90
  def disable_remount(self, value: Optional[pulumi.Input[bool]]):
95
91
  pulumi.set(self, "disable_remount", value)
96
92
 
97
- @property
98
- @pulumi.getter(name="identityTokenKey")
99
- def identity_token_key(self) -> Optional[pulumi.Input[str]]:
100
- """
101
- The key to use for signing identity tokens.
102
- """
103
- return pulumi.get(self, "identity_token_key")
104
-
105
- @identity_token_key.setter
106
- def identity_token_key(self, value: Optional[pulumi.Input[str]]):
107
- pulumi.set(self, "identity_token_key", value)
108
-
109
93
  @property
110
94
  @pulumi.getter
111
95
  def local(self) -> Optional[pulumi.Input[bool]]:
@@ -166,7 +150,6 @@ class _AuthBackendState:
166
150
  accessor: Optional[pulumi.Input[str]] = None,
167
151
  description: Optional[pulumi.Input[str]] = None,
168
152
  disable_remount: Optional[pulumi.Input[bool]] = None,
169
- identity_token_key: Optional[pulumi.Input[str]] = None,
170
153
  local: Optional[pulumi.Input[bool]] = None,
171
154
  namespace: Optional[pulumi.Input[str]] = None,
172
155
  path: Optional[pulumi.Input[str]] = None,
@@ -178,7 +161,6 @@ class _AuthBackendState:
178
161
  :param pulumi.Input[str] description: A description of the auth method.
179
162
  :param pulumi.Input[bool] disable_remount: If set, opts out of mount migration on path updates.
180
163
  See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
181
- :param pulumi.Input[str] identity_token_key: The key to use for signing identity tokens.
182
164
  :param pulumi.Input[bool] local: Specifies if the auth method is local only.
183
165
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
184
166
  The value should not contain leading or trailing forward slashes.
@@ -196,8 +178,6 @@ class _AuthBackendState:
196
178
  pulumi.set(__self__, "description", description)
197
179
  if disable_remount is not None:
198
180
  pulumi.set(__self__, "disable_remount", disable_remount)
199
- if identity_token_key is not None:
200
- pulumi.set(__self__, "identity_token_key", identity_token_key)
201
181
  if local is not None:
202
182
  pulumi.set(__self__, "local", local)
203
183
  if namespace is not None:
@@ -246,18 +226,6 @@ class _AuthBackendState:
246
226
  def disable_remount(self, value: Optional[pulumi.Input[bool]]):
247
227
  pulumi.set(self, "disable_remount", value)
248
228
 
249
- @property
250
- @pulumi.getter(name="identityTokenKey")
251
- def identity_token_key(self) -> Optional[pulumi.Input[str]]:
252
- """
253
- The key to use for signing identity tokens.
254
- """
255
- return pulumi.get(self, "identity_token_key")
256
-
257
- @identity_token_key.setter
258
- def identity_token_key(self, value: Optional[pulumi.Input[str]]):
259
- pulumi.set(self, "identity_token_key", value)
260
-
261
229
  @property
262
230
  @pulumi.getter
263
231
  def local(self) -> Optional[pulumi.Input[bool]]:
@@ -331,7 +299,6 @@ class AuthBackend(pulumi.CustomResource):
331
299
  opts: Optional[pulumi.ResourceOptions] = None,
332
300
  description: Optional[pulumi.Input[str]] = None,
333
301
  disable_remount: Optional[pulumi.Input[bool]] = None,
334
- identity_token_key: Optional[pulumi.Input[str]] = None,
335
302
  local: Optional[pulumi.Input[bool]] = None,
336
303
  namespace: Optional[pulumi.Input[str]] = None,
337
304
  path: Optional[pulumi.Input[str]] = None,
@@ -352,7 +319,6 @@ class AuthBackend(pulumi.CustomResource):
352
319
  :param pulumi.Input[str] description: A description of the auth method.
353
320
  :param pulumi.Input[bool] disable_remount: If set, opts out of mount migration on path updates.
354
321
  See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
355
- :param pulumi.Input[str] identity_token_key: The key to use for signing identity tokens.
356
322
  :param pulumi.Input[bool] local: Specifies if the auth method is local only.
357
323
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
358
324
  The value should not contain leading or trailing forward slashes.
@@ -396,7 +362,6 @@ class AuthBackend(pulumi.CustomResource):
396
362
  opts: Optional[pulumi.ResourceOptions] = None,
397
363
  description: Optional[pulumi.Input[str]] = None,
398
364
  disable_remount: Optional[pulumi.Input[bool]] = None,
399
- identity_token_key: Optional[pulumi.Input[str]] = None,
400
365
  local: Optional[pulumi.Input[bool]] = None,
401
366
  namespace: Optional[pulumi.Input[str]] = None,
402
367
  path: Optional[pulumi.Input[str]] = None,
@@ -413,7 +378,6 @@ class AuthBackend(pulumi.CustomResource):
413
378
 
414
379
  __props__.__dict__["description"] = description
415
380
  __props__.__dict__["disable_remount"] = disable_remount
416
- __props__.__dict__["identity_token_key"] = identity_token_key
417
381
  __props__.__dict__["local"] = local
418
382
  __props__.__dict__["namespace"] = namespace
419
383
  __props__.__dict__["path"] = path
@@ -435,7 +399,6 @@ class AuthBackend(pulumi.CustomResource):
435
399
  accessor: Optional[pulumi.Input[str]] = None,
436
400
  description: Optional[pulumi.Input[str]] = None,
437
401
  disable_remount: Optional[pulumi.Input[bool]] = None,
438
- identity_token_key: Optional[pulumi.Input[str]] = None,
439
402
  local: Optional[pulumi.Input[bool]] = None,
440
403
  namespace: Optional[pulumi.Input[str]] = None,
441
404
  path: Optional[pulumi.Input[str]] = None,
@@ -452,7 +415,6 @@ class AuthBackend(pulumi.CustomResource):
452
415
  :param pulumi.Input[str] description: A description of the auth method.
453
416
  :param pulumi.Input[bool] disable_remount: If set, opts out of mount migration on path updates.
454
417
  See here for more info on [Mount Migration](https://www.vaultproject.io/docs/concepts/mount-migration)
455
- :param pulumi.Input[str] identity_token_key: The key to use for signing identity tokens.
456
418
  :param pulumi.Input[bool] local: Specifies if the auth method is local only.
457
419
  :param pulumi.Input[str] namespace: The namespace to provision the resource in.
458
420
  The value should not contain leading or trailing forward slashes.
@@ -471,7 +433,6 @@ class AuthBackend(pulumi.CustomResource):
471
433
  __props__.__dict__["accessor"] = accessor
472
434
  __props__.__dict__["description"] = description
473
435
  __props__.__dict__["disable_remount"] = disable_remount
474
- __props__.__dict__["identity_token_key"] = identity_token_key
475
436
  __props__.__dict__["local"] = local
476
437
  __props__.__dict__["namespace"] = namespace
477
438
  __props__.__dict__["path"] = path
@@ -504,14 +465,6 @@ class AuthBackend(pulumi.CustomResource):
504
465
  """
505
466
  return pulumi.get(self, "disable_remount")
506
467
 
507
- @property
508
- @pulumi.getter(name="identityTokenKey")
509
- def identity_token_key(self) -> pulumi.Output[Optional[str]]:
510
- """
511
- The key to use for signing identity tokens.
512
- """
513
- return pulumi.get(self, "identity_token_key")
514
-
515
468
  @property
516
469
  @pulumi.getter
517
470
  def local(self) -> pulumi.Output[Optional[bool]]: