pulumi-aws-native 1.38.0a1761284362__py3-none-any.whl → 1.39.0a1762409198__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.

Potentially problematic release.


This version of pulumi-aws-native might be problematic. Click here for more details.

Files changed (187) hide show
  1. pulumi_aws_native/__init__.py +33 -1
  2. pulumi_aws_native/_enums.py +4 -0
  3. pulumi_aws_native/amazonmq/_enums.py +4 -12
  4. pulumi_aws_native/amazonmq/_inputs.py +21 -91
  5. pulumi_aws_native/amazonmq/broker.py +56 -67
  6. pulumi_aws_native/amazonmq/get_broker.py +6 -13
  7. pulumi_aws_native/amazonmq/outputs.py +14 -54
  8. pulumi_aws_native/applicationsignals/get_grouping_configuration.py +9 -0
  9. pulumi_aws_native/applicationsignals/grouping_configuration.py +3 -0
  10. pulumi_aws_native/appstream/get_image_builder.py +0 -4
  11. pulumi_aws_native/appstream/image_builder.py +0 -16
  12. pulumi_aws_native/aps/__init__.py +2 -0
  13. pulumi_aws_native/aps/_inputs.py +290 -0
  14. pulumi_aws_native/aps/anomaly_detector.py +318 -0
  15. pulumi_aws_native/aps/get_anomaly_detector.py +149 -0
  16. pulumi_aws_native/aps/outputs.py +229 -0
  17. pulumi_aws_native/arcregionswitch/get_plan.py +0 -3
  18. pulumi_aws_native/arcregionswitch/plan.py +0 -3
  19. pulumi_aws_native/batch/_inputs.py +34 -0
  20. pulumi_aws_native/batch/job_definition.py +29 -0
  21. pulumi_aws_native/batch/outputs.py +37 -0
  22. pulumi_aws_native/bedrock/automated_reasoning_policy.py +51 -0
  23. pulumi_aws_native/bedrock/get_automated_reasoning_policy.py +12 -1
  24. pulumi_aws_native/bedrockagentcore/__init__.py +2 -0
  25. pulumi_aws_native/bedrockagentcore/_enums.py +1 -0
  26. pulumi_aws_native/bedrockagentcore/get_workload_identity.py +134 -0
  27. pulumi_aws_native/bedrockagentcore/workload_identity.py +217 -0
  28. pulumi_aws_native/ce/_enums.py +3 -0
  29. pulumi_aws_native/cleanrooms/configured_table.py +4 -4
  30. pulumi_aws_native/cleanrooms/get_configured_table.py +1 -1
  31. pulumi_aws_native/cloudfront/_inputs.py +14 -1
  32. pulumi_aws_native/cloudfront/get_vpc_origin.py +12 -1
  33. pulumi_aws_native/cloudfront/outputs.py +11 -1
  34. pulumi_aws_native/cloudfront/vpc_origin.py +7 -0
  35. pulumi_aws_native/cognito/__init__.py +2 -0
  36. pulumi_aws_native/cognito/_enums.py +12 -0
  37. pulumi_aws_native/cognito/get_terms.py +117 -0
  38. pulumi_aws_native/cognito/terms.py +236 -0
  39. pulumi_aws_native/connect/_enums.py +68 -0
  40. pulumi_aws_native/connect/_inputs.py +581 -1
  41. pulumi_aws_native/connect/email_address.py +31 -0
  42. pulumi_aws_native/connect/get_email_address.py +16 -1
  43. pulumi_aws_native/connect/outputs.py +473 -3
  44. pulumi_aws_native/connectcampaignsv2/_enums.py +9 -0
  45. pulumi_aws_native/connectcampaignsv2/_inputs.py +127 -0
  46. pulumi_aws_native/connectcampaignsv2/outputs.py +118 -0
  47. pulumi_aws_native/datazone/_inputs.py +81 -0
  48. pulumi_aws_native/datazone/connection.py +83 -26
  49. pulumi_aws_native/datazone/outputs.py +84 -0
  50. pulumi_aws_native/ec2/__init__.py +2 -0
  51. pulumi_aws_native/ec2/_enums.py +19 -0
  52. pulumi_aws_native/ec2/_inputs.py +15 -12
  53. pulumi_aws_native/ec2/capacity_manager_data_export.py +259 -0
  54. pulumi_aws_native/ec2/capacity_reservation.py +6 -6
  55. pulumi_aws_native/ec2/get_capacity_manager_data_export.py +92 -0
  56. pulumi_aws_native/ec2/get_capacity_reservation.py +2 -2
  57. pulumi_aws_native/ec2/get_nat_gateway.py +3 -0
  58. pulumi_aws_native/ec2/get_volume.py +37 -15
  59. pulumi_aws_native/ec2/nat_gateway.py +11 -0
  60. pulumi_aws_native/ec2/outputs.py +10 -8
  61. pulumi_aws_native/ec2/volume.py +115 -74
  62. pulumi_aws_native/ecr/_inputs.py +2 -2
  63. pulumi_aws_native/ecr/get_repository.py +3 -2
  64. pulumi_aws_native/ecr/outputs.py +2 -2
  65. pulumi_aws_native/ecr/repository.py +12 -8
  66. pulumi_aws_native/ecs/_enums.py +24 -0
  67. pulumi_aws_native/ecs/_inputs.py +230 -23
  68. pulumi_aws_native/ecs/outputs.py +195 -15
  69. pulumi_aws_native/ecs/service.py +4 -0
  70. pulumi_aws_native/eks/_enums.py +11 -0
  71. pulumi_aws_native/eks/_inputs.py +199 -1
  72. pulumi_aws_native/eks/get_nodegroup.py +1 -0
  73. pulumi_aws_native/eks/nodegroup.py +1 -0
  74. pulumi_aws_native/eks/outputs.py +169 -1
  75. pulumi_aws_native/elasticloadbalancingv2/_inputs.py +213 -34
  76. pulumi_aws_native/elasticloadbalancingv2/get_listener_rule.py +15 -4
  77. pulumi_aws_native/elasticloadbalancingv2/listener_rule.py +22 -1
  78. pulumi_aws_native/elasticloadbalancingv2/load_balancer.py +4 -4
  79. pulumi_aws_native/elasticloadbalancingv2/outputs.py +187 -24
  80. pulumi_aws_native/events/__init__.py +2 -0
  81. pulumi_aws_native/events/_inputs.py +78 -0
  82. pulumi_aws_native/events/event_bus_policy.py +275 -0
  83. pulumi_aws_native/events/get_event_bus_policy.py +85 -0
  84. pulumi_aws_native/events/outputs.py +48 -0
  85. pulumi_aws_native/gameliftstreams/application.py +4 -4
  86. pulumi_aws_native/glue/__init__.py +2 -0
  87. pulumi_aws_native/glue/_inputs.py +134 -0
  88. pulumi_aws_native/glue/get_integration_resource_property.py +127 -0
  89. pulumi_aws_native/glue/integration_resource_property.py +229 -0
  90. pulumi_aws_native/glue/outputs.py +122 -0
  91. pulumi_aws_native/imagebuilder/_inputs.py +95 -0
  92. pulumi_aws_native/imagebuilder/get_image_pipeline.py +15 -1
  93. pulumi_aws_native/imagebuilder/image.py +58 -0
  94. pulumi_aws_native/imagebuilder/image_pipeline.py +10 -0
  95. pulumi_aws_native/imagebuilder/outputs.py +95 -0
  96. pulumi_aws_native/kendra/_inputs.py +21 -21
  97. pulumi_aws_native/kendra/outputs.py +14 -14
  98. pulumi_aws_native/lambda_/permission.py +4 -4
  99. pulumi_aws_native/mediapackagev2/_enums.py +15 -0
  100. pulumi_aws_native/mediapackagev2/_inputs.py +103 -0
  101. pulumi_aws_native/mediapackagev2/get_origin_endpoint.py +26 -1
  102. pulumi_aws_native/mediapackagev2/origin_endpoint.py +36 -0
  103. pulumi_aws_native/mediapackagev2/outputs.py +88 -0
  104. pulumi_aws_native/neptune/db_instance.py +29 -0
  105. pulumi_aws_native/neptune/get_db_instance.py +15 -1
  106. pulumi_aws_native/networkfirewall/_enums.py +2 -0
  107. pulumi_aws_native/networkfirewall/_inputs.py +20 -0
  108. pulumi_aws_native/networkfirewall/firewall.py +10 -0
  109. pulumi_aws_native/networkfirewall/get_firewall.py +15 -1
  110. pulumi_aws_native/networkfirewall/outputs.py +14 -0
  111. pulumi_aws_native/observabilityadmin/_enums.py +9 -0
  112. pulumi_aws_native/observabilityadmin/_inputs.py +252 -0
  113. pulumi_aws_native/observabilityadmin/get_organization_centralization_rule.py +9 -0
  114. pulumi_aws_native/observabilityadmin/get_organization_telemetry_rule.py +3 -0
  115. pulumi_aws_native/observabilityadmin/get_telemetry_rule.py +3 -0
  116. pulumi_aws_native/observabilityadmin/organization_centralization_rule.py +11 -0
  117. pulumi_aws_native/observabilityadmin/organization_telemetry_rule.py +8 -0
  118. pulumi_aws_native/observabilityadmin/outputs.py +150 -0
  119. pulumi_aws_native/observabilityadmin/telemetry_rule.py +8 -0
  120. pulumi_aws_native/organizations/_enums.py +13 -0
  121. pulumi_aws_native/organizations/account.py +10 -0
  122. pulumi_aws_native/organizations/get_account.py +15 -1
  123. pulumi_aws_native/osis/_inputs.py +24 -0
  124. pulumi_aws_native/osis/get_pipeline.py +26 -1
  125. pulumi_aws_native/osis/outputs.py +13 -0
  126. pulumi_aws_native/osis/pipeline.py +50 -0
  127. pulumi_aws_native/pulumi-plugin.json +1 -1
  128. pulumi_aws_native/qbusiness/_inputs.py +3 -3
  129. pulumi_aws_native/qbusiness/application.py +4 -4
  130. pulumi_aws_native/qbusiness/outputs.py +2 -2
  131. pulumi_aws_native/quicksight/_enums.py +1 -1
  132. pulumi_aws_native/quicksight/_inputs.py +12 -12
  133. pulumi_aws_native/quicksight/outputs.py +8 -8
  134. pulumi_aws_native/rds/db_cluster.py +24 -40
  135. pulumi_aws_native/route53/_inputs.py +21 -3
  136. pulumi_aws_native/route53/outputs.py +14 -2
  137. pulumi_aws_native/rtbfabric/__init__.py +17 -0
  138. pulumi_aws_native/rtbfabric/_enums.py +89 -0
  139. pulumi_aws_native/rtbfabric/_inputs.py +390 -0
  140. pulumi_aws_native/rtbfabric/get_link.py +199 -0
  141. pulumi_aws_native/rtbfabric/get_requester_gateway.py +217 -0
  142. pulumi_aws_native/rtbfabric/get_responder_gateway.py +255 -0
  143. pulumi_aws_native/rtbfabric/link.py +344 -0
  144. pulumi_aws_native/rtbfabric/outputs.py +363 -0
  145. pulumi_aws_native/rtbfabric/requester_gateway.py +303 -0
  146. pulumi_aws_native/rtbfabric/responder_gateway.py +431 -0
  147. pulumi_aws_native/s3/_enums.py +1 -1
  148. pulumi_aws_native/s3/_inputs.py +11 -5
  149. pulumi_aws_native/s3/access_grants_location.py +15 -13
  150. pulumi_aws_native/s3/outputs.py +10 -4
  151. pulumi_aws_native/s3vectors/__init__.py +17 -0
  152. pulumi_aws_native/s3vectors/_enums.py +39 -0
  153. pulumi_aws_native/s3vectors/_inputs.py +138 -0
  154. pulumi_aws_native/s3vectors/get_index.py +99 -0
  155. pulumi_aws_native/s3vectors/get_vector_bucket.py +99 -0
  156. pulumi_aws_native/s3vectors/get_vector_bucket_policy.py +78 -0
  157. pulumi_aws_native/s3vectors/index.py +367 -0
  158. pulumi_aws_native/s3vectors/outputs.py +129 -0
  159. pulumi_aws_native/s3vectors/vector_bucket.py +199 -0
  160. pulumi_aws_native/s3vectors/vector_bucket_policy.py +188 -0
  161. pulumi_aws_native/sagemaker/_enums.py +12 -171
  162. pulumi_aws_native/sagemaker/_inputs.py +81 -5
  163. pulumi_aws_native/sagemaker/cluster.py +21 -0
  164. pulumi_aws_native/sagemaker/get_cluster.py +15 -4
  165. pulumi_aws_native/sagemaker/outputs.py +67 -3
  166. pulumi_aws_native/ssm/_inputs.py +15 -3
  167. pulumi_aws_native/ssm/outputs.py +10 -2
  168. pulumi_aws_native/ssmquicksetup/get_lifecycle_automation.py +6 -0
  169. pulumi_aws_native/ssmquicksetup/lifecycle_automation.py +16 -0
  170. pulumi_aws_native/sso/_enums.py +1 -1
  171. pulumi_aws_native/sso/assignment.py +8 -8
  172. pulumi_aws_native/synthetics/_inputs.py +52 -12
  173. pulumi_aws_native/synthetics/outputs.py +35 -8
  174. pulumi_aws_native/transfer/_enums.py +15 -0
  175. pulumi_aws_native/transfer/_inputs.py +95 -3
  176. pulumi_aws_native/transfer/connector.py +86 -19
  177. pulumi_aws_native/transfer/get_connector.py +43 -1
  178. pulumi_aws_native/transfer/outputs.py +92 -2
  179. pulumi_aws_native/wafv2/_inputs.py +72 -0
  180. pulumi_aws_native/wafv2/get_web_acl.py +15 -1
  181. pulumi_aws_native/wafv2/outputs.py +45 -0
  182. pulumi_aws_native/wafv2/web_acl.py +29 -0
  183. pulumi_aws_native/wisdom/_enums.py +4 -0
  184. {pulumi_aws_native-1.38.0a1761284362.dist-info → pulumi_aws_native-1.39.0a1762409198.dist-info}/METADATA +1 -1
  185. {pulumi_aws_native-1.38.0a1761284362.dist-info → pulumi_aws_native-1.39.0a1762409198.dist-info}/RECORD +187 -155
  186. {pulumi_aws_native-1.38.0a1761284362.dist-info → pulumi_aws_native-1.39.0a1762409198.dist-info}/WHEEL +0 -0
  187. {pulumi_aws_native-1.38.0a1761284362.dist-info → pulumi_aws_native-1.39.0a1762409198.dist-info}/top_level.txt +0 -0
@@ -29,11 +29,11 @@ class AssignmentArgs:
29
29
  """
30
30
  The set of arguments for constructing a Assignment resource.
31
31
  :param pulumi.Input[_builtins.str] instance_arn: The sso instance that the permission set is owned.
32
- :param pulumi.Input[_builtins.str] permission_set_arn: The permission set that the assignemt will be assigned
32
+ :param pulumi.Input[_builtins.str] permission_set_arn: The permission set that the assignment will be assigned
33
33
  :param pulumi.Input[_builtins.str] principal_id: The assignee's identifier, user id/group id
34
34
  :param pulumi.Input['AssignmentPrincipalType'] principal_type: The assignee's type, user/group
35
35
  :param pulumi.Input[_builtins.str] target_id: The account id to be provisioned.
36
- :param pulumi.Input['AssignmentTargetType'] target_type: The type of resource to be provsioned to, only aws account now
36
+ :param pulumi.Input['AssignmentTargetType'] target_type: The type of resource to be provisioned to, only aws account now
37
37
  """
38
38
  pulumi.set(__self__, "instance_arn", instance_arn)
39
39
  pulumi.set(__self__, "permission_set_arn", permission_set_arn)
@@ -58,7 +58,7 @@ class AssignmentArgs:
58
58
  @pulumi.getter(name="permissionSetArn")
59
59
  def permission_set_arn(self) -> pulumi.Input[_builtins.str]:
60
60
  """
61
- The permission set that the assignemt will be assigned
61
+ The permission set that the assignment will be assigned
62
62
  """
63
63
  return pulumi.get(self, "permission_set_arn")
64
64
 
@@ -106,7 +106,7 @@ class AssignmentArgs:
106
106
  @pulumi.getter(name="targetType")
107
107
  def target_type(self) -> pulumi.Input['AssignmentTargetType']:
108
108
  """
109
- The type of resource to be provsioned to, only aws account now
109
+ The type of resource to be provisioned to, only aws account now
110
110
  """
111
111
  return pulumi.get(self, "target_type")
112
112
 
@@ -134,11 +134,11 @@ class Assignment(pulumi.CustomResource):
134
134
  :param str resource_name: The name of the resource.
135
135
  :param pulumi.ResourceOptions opts: Options for the resource.
136
136
  :param pulumi.Input[_builtins.str] instance_arn: The sso instance that the permission set is owned.
137
- :param pulumi.Input[_builtins.str] permission_set_arn: The permission set that the assignemt will be assigned
137
+ :param pulumi.Input[_builtins.str] permission_set_arn: The permission set that the assignment will be assigned
138
138
  :param pulumi.Input[_builtins.str] principal_id: The assignee's identifier, user id/group id
139
139
  :param pulumi.Input['AssignmentPrincipalType'] principal_type: The assignee's type, user/group
140
140
  :param pulumi.Input[_builtins.str] target_id: The account id to be provisioned.
141
- :param pulumi.Input['AssignmentTargetType'] target_type: The type of resource to be provsioned to, only aws account now
141
+ :param pulumi.Input['AssignmentTargetType'] target_type: The type of resource to be provisioned to, only aws account now
142
142
  """
143
143
  ...
144
144
  @overload
@@ -241,7 +241,7 @@ class Assignment(pulumi.CustomResource):
241
241
  @pulumi.getter(name="permissionSetArn")
242
242
  def permission_set_arn(self) -> pulumi.Output[_builtins.str]:
243
243
  """
244
- The permission set that the assignemt will be assigned
244
+ The permission set that the assignment will be assigned
245
245
  """
246
246
  return pulumi.get(self, "permission_set_arn")
247
247
 
@@ -273,7 +273,7 @@ class Assignment(pulumi.CustomResource):
273
273
  @pulumi.getter(name="targetType")
274
274
  def target_type(self) -> pulumi.Output['AssignmentTargetType']:
275
275
  """
276
- The type of resource to be provsioned to, only aws account now
276
+ The type of resource to be provisioned to, only aws account now
277
277
  """
278
278
  return pulumi.get(self, "target_type")
279
279
 
@@ -158,14 +158,22 @@ class CanaryBrowserConfigArgs:
158
158
 
159
159
  if not MYPY:
160
160
  class CanaryCodeArgsDict(TypedDict):
161
- handler: pulumi.Input[_builtins.str]
161
+ blueprint_types: NotRequired[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]
162
162
  """
163
- The entry point to use for the source code when running the canary. For canaries that use the `syn-python-selenium-1.0` runtime or a `syn-nodejs.puppeteer` runtime earlier than `syn-nodejs.puppeteer-3.4` , the handler must be specified as `*fileName* .handler` . For `syn-python-selenium-1.1` , `syn-nodejs.puppeteer-3.4` , and later runtimes, the handler can be specified as `*fileName* . *functionName*` , or you can specify a folder where canary scripts reside as `*folder* / *fileName* . *functionName*` .
163
+ `BlueprintTypes` are a list of templates that enable simplified canary creation. You can create canaries for common monitoring scenarios by providing only a JSON configuration file instead of writing custom scripts. `multi-checks` is the only supported value.
164
+
165
+ When you specify `BlueprintTypes` , the `Handler` field cannot be specified since the blueprint provides a pre-defined entry point.
164
166
  """
165
167
  dependencies: NotRequired[pulumi.Input[Sequence[pulumi.Input['CanaryDependencyArgsDict']]]]
166
168
  """
167
169
  List of Lambda layers to attach to the canary
168
170
  """
171
+ handler: NotRequired[pulumi.Input[_builtins.str]]
172
+ """
173
+ The entry point to use for the source code when running the canary. For canaries that use the `syn-python-selenium-1.0` runtime or a `syn-nodejs.puppeteer` runtime earlier than `syn-nodejs.puppeteer-3.4` , the handler must be specified as `*fileName* .handler` . For `syn-python-selenium-1.1` , `syn-nodejs.puppeteer-3.4` , and later runtimes, the handler can be specified as `*fileName* . *functionName*` , or you can specify a folder where canary scripts reside as `*folder* / *fileName* . *functionName*` .
174
+
175
+ This field is required when you don't specify `BlueprintTypes` and is not allowed when you specify `BlueprintTypes` .
176
+ """
169
177
  s3_bucket: NotRequired[pulumi.Input[_builtins.str]]
170
178
  """
171
179
  If your canary script is located in S3, specify the bucket name here. The bucket must already exist.
@@ -192,25 +200,34 @@ elif False:
192
200
  @pulumi.input_type
193
201
  class CanaryCodeArgs:
194
202
  def __init__(__self__, *,
195
- handler: pulumi.Input[_builtins.str],
203
+ blueprint_types: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]] = None,
196
204
  dependencies: Optional[pulumi.Input[Sequence[pulumi.Input['CanaryDependencyArgs']]]] = None,
205
+ handler: Optional[pulumi.Input[_builtins.str]] = None,
197
206
  s3_bucket: Optional[pulumi.Input[_builtins.str]] = None,
198
207
  s3_key: Optional[pulumi.Input[_builtins.str]] = None,
199
208
  s3_object_version: Optional[pulumi.Input[_builtins.str]] = None,
200
209
  script: Optional[pulumi.Input[_builtins.str]] = None,
201
210
  source_location_arn: Optional[pulumi.Input[_builtins.str]] = None):
202
211
  """
203
- :param pulumi.Input[_builtins.str] handler: The entry point to use for the source code when running the canary. For canaries that use the `syn-python-selenium-1.0` runtime or a `syn-nodejs.puppeteer` runtime earlier than `syn-nodejs.puppeteer-3.4` , the handler must be specified as `*fileName* .handler` . For `syn-python-selenium-1.1` , `syn-nodejs.puppeteer-3.4` , and later runtimes, the handler can be specified as `*fileName* . *functionName*` , or you can specify a folder where canary scripts reside as `*folder* / *fileName* . *functionName*` .
212
+ :param pulumi.Input[Sequence[pulumi.Input[_builtins.str]]] blueprint_types: `BlueprintTypes` are a list of templates that enable simplified canary creation. You can create canaries for common monitoring scenarios by providing only a JSON configuration file instead of writing custom scripts. `multi-checks` is the only supported value.
213
+
214
+ When you specify `BlueprintTypes` , the `Handler` field cannot be specified since the blueprint provides a pre-defined entry point.
204
215
  :param pulumi.Input[Sequence[pulumi.Input['CanaryDependencyArgs']]] dependencies: List of Lambda layers to attach to the canary
216
+ :param pulumi.Input[_builtins.str] handler: The entry point to use for the source code when running the canary. For canaries that use the `syn-python-selenium-1.0` runtime or a `syn-nodejs.puppeteer` runtime earlier than `syn-nodejs.puppeteer-3.4` , the handler must be specified as `*fileName* .handler` . For `syn-python-selenium-1.1` , `syn-nodejs.puppeteer-3.4` , and later runtimes, the handler can be specified as `*fileName* . *functionName*` , or you can specify a folder where canary scripts reside as `*folder* / *fileName* . *functionName*` .
217
+
218
+ This field is required when you don't specify `BlueprintTypes` and is not allowed when you specify `BlueprintTypes` .
205
219
  :param pulumi.Input[_builtins.str] s3_bucket: If your canary script is located in S3, specify the bucket name here. The bucket must already exist.
206
220
  :param pulumi.Input[_builtins.str] s3_key: The Amazon S3 key of your script. For more information, see [Working with Amazon S3 Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html) .
207
221
  :param pulumi.Input[_builtins.str] s3_object_version: The Amazon S3 version ID of your script.
208
222
  :param pulumi.Input[_builtins.str] script: If you input your canary script directly into the canary instead of referring to an S3 location, the value of this parameter is the script in plain text. It can be up to 5 MB.
209
223
  :param pulumi.Input[_builtins.str] source_location_arn: The ARN of the Lambda layer where Synthetics stores the canary script code.
210
224
  """
211
- pulumi.set(__self__, "handler", handler)
225
+ if blueprint_types is not None:
226
+ pulumi.set(__self__, "blueprint_types", blueprint_types)
212
227
  if dependencies is not None:
213
228
  pulumi.set(__self__, "dependencies", dependencies)
229
+ if handler is not None:
230
+ pulumi.set(__self__, "handler", handler)
214
231
  if s3_bucket is not None:
215
232
  pulumi.set(__self__, "s3_bucket", s3_bucket)
216
233
  if s3_key is not None:
@@ -223,16 +240,18 @@ class CanaryCodeArgs:
223
240
  pulumi.set(__self__, "source_location_arn", source_location_arn)
224
241
 
225
242
  @_builtins.property
226
- @pulumi.getter
227
- def handler(self) -> pulumi.Input[_builtins.str]:
243
+ @pulumi.getter(name="blueprintTypes")
244
+ def blueprint_types(self) -> Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]:
228
245
  """
229
- The entry point to use for the source code when running the canary. For canaries that use the `syn-python-selenium-1.0` runtime or a `syn-nodejs.puppeteer` runtime earlier than `syn-nodejs.puppeteer-3.4` , the handler must be specified as `*fileName* .handler` . For `syn-python-selenium-1.1` , `syn-nodejs.puppeteer-3.4` , and later runtimes, the handler can be specified as `*fileName* . *functionName*` , or you can specify a folder where canary scripts reside as `*folder* / *fileName* . *functionName*` .
246
+ `BlueprintTypes` are a list of templates that enable simplified canary creation. You can create canaries for common monitoring scenarios by providing only a JSON configuration file instead of writing custom scripts. `multi-checks` is the only supported value.
247
+
248
+ When you specify `BlueprintTypes` , the `Handler` field cannot be specified since the blueprint provides a pre-defined entry point.
230
249
  """
231
- return pulumi.get(self, "handler")
250
+ return pulumi.get(self, "blueprint_types")
232
251
 
233
- @handler.setter
234
- def handler(self, value: pulumi.Input[_builtins.str]):
235
- pulumi.set(self, "handler", value)
252
+ @blueprint_types.setter
253
+ def blueprint_types(self, value: Optional[pulumi.Input[Sequence[pulumi.Input[_builtins.str]]]]):
254
+ pulumi.set(self, "blueprint_types", value)
236
255
 
237
256
  @_builtins.property
238
257
  @pulumi.getter
@@ -246,6 +265,20 @@ class CanaryCodeArgs:
246
265
  def dependencies(self, value: Optional[pulumi.Input[Sequence[pulumi.Input['CanaryDependencyArgs']]]]):
247
266
  pulumi.set(self, "dependencies", value)
248
267
 
268
+ @_builtins.property
269
+ @pulumi.getter
270
+ def handler(self) -> Optional[pulumi.Input[_builtins.str]]:
271
+ """
272
+ The entry point to use for the source code when running the canary. For canaries that use the `syn-python-selenium-1.0` runtime or a `syn-nodejs.puppeteer` runtime earlier than `syn-nodejs.puppeteer-3.4` , the handler must be specified as `*fileName* .handler` . For `syn-python-selenium-1.1` , `syn-nodejs.puppeteer-3.4` , and later runtimes, the handler can be specified as `*fileName* . *functionName*` , or you can specify a folder where canary scripts reside as `*folder* / *fileName* . *functionName*` .
273
+
274
+ This field is required when you don't specify `BlueprintTypes` and is not allowed when you specify `BlueprintTypes` .
275
+ """
276
+ return pulumi.get(self, "handler")
277
+
278
+ @handler.setter
279
+ def handler(self, value: Optional[pulumi.Input[_builtins.str]]):
280
+ pulumi.set(self, "handler", value)
281
+
249
282
  @_builtins.property
250
283
  @pulumi.getter(name="s3Bucket")
251
284
  def s3_bucket(self) -> Optional[pulumi.Input[_builtins.str]]:
@@ -659,6 +692,9 @@ if not MYPY:
659
692
  List of screenshots used as base reference for visual testing
660
693
  """
661
694
  browser_type: NotRequired[pulumi.Input['CanaryBrowserType']]
695
+ """
696
+ The browser type associated with this visual reference configuration. Valid values are `CHROME` and `FIREFOX` .
697
+ """
662
698
  elif False:
663
699
  CanaryVisualReferenceArgsDict: TypeAlias = Mapping[str, Any]
664
700
 
@@ -671,6 +707,7 @@ class CanaryVisualReferenceArgs:
671
707
  """
672
708
  :param pulumi.Input[_builtins.str] base_canary_run_id: Canary run id to be used as base reference for visual testing
673
709
  :param pulumi.Input[Sequence[pulumi.Input['CanaryBaseScreenshotArgs']]] base_screenshots: List of screenshots used as base reference for visual testing
710
+ :param pulumi.Input['CanaryBrowserType'] browser_type: The browser type associated with this visual reference configuration. Valid values are `CHROME` and `FIREFOX` .
674
711
  """
675
712
  pulumi.set(__self__, "base_canary_run_id", base_canary_run_id)
676
713
  if base_screenshots is not None:
@@ -705,6 +742,9 @@ class CanaryVisualReferenceArgs:
705
742
  @_builtins.property
706
743
  @pulumi.getter(name="browserType")
707
744
  def browser_type(self) -> Optional[pulumi.Input['CanaryBrowserType']]:
745
+ """
746
+ The browser type associated with this visual reference configuration. Valid values are `CHROME` and `FIREFOX` .
747
+ """
708
748
  return pulumi.get(self, "browser_type")
709
749
 
710
750
  @browser_type.setter
@@ -155,7 +155,9 @@ class CanaryCode(dict):
155
155
  @staticmethod
156
156
  def __key_warning(key: str):
157
157
  suggest = None
158
- if key == "s3Bucket":
158
+ if key == "blueprintTypes":
159
+ suggest = "blueprint_types"
160
+ elif key == "s3Bucket":
159
161
  suggest = "s3_bucket"
160
162
  elif key == "s3Key":
161
163
  suggest = "s3_key"
@@ -176,25 +178,34 @@ class CanaryCode(dict):
176
178
  return super().get(key, default)
177
179
 
178
180
  def __init__(__self__, *,
179
- handler: _builtins.str,
181
+ blueprint_types: Optional[Sequence[_builtins.str]] = None,
180
182
  dependencies: Optional[Sequence['outputs.CanaryDependency']] = None,
183
+ handler: Optional[_builtins.str] = None,
181
184
  s3_bucket: Optional[_builtins.str] = None,
182
185
  s3_key: Optional[_builtins.str] = None,
183
186
  s3_object_version: Optional[_builtins.str] = None,
184
187
  script: Optional[_builtins.str] = None,
185
188
  source_location_arn: Optional[_builtins.str] = None):
186
189
  """
187
- :param _builtins.str handler: The entry point to use for the source code when running the canary. For canaries that use the `syn-python-selenium-1.0` runtime or a `syn-nodejs.puppeteer` runtime earlier than `syn-nodejs.puppeteer-3.4` , the handler must be specified as `*fileName* .handler` . For `syn-python-selenium-1.1` , `syn-nodejs.puppeteer-3.4` , and later runtimes, the handler can be specified as `*fileName* . *functionName*` , or you can specify a folder where canary scripts reside as `*folder* / *fileName* . *functionName*` .
190
+ :param Sequence[_builtins.str] blueprint_types: `BlueprintTypes` are a list of templates that enable simplified canary creation. You can create canaries for common monitoring scenarios by providing only a JSON configuration file instead of writing custom scripts. `multi-checks` is the only supported value.
191
+
192
+ When you specify `BlueprintTypes` , the `Handler` field cannot be specified since the blueprint provides a pre-defined entry point.
188
193
  :param Sequence['CanaryDependency'] dependencies: List of Lambda layers to attach to the canary
194
+ :param _builtins.str handler: The entry point to use for the source code when running the canary. For canaries that use the `syn-python-selenium-1.0` runtime or a `syn-nodejs.puppeteer` runtime earlier than `syn-nodejs.puppeteer-3.4` , the handler must be specified as `*fileName* .handler` . For `syn-python-selenium-1.1` , `syn-nodejs.puppeteer-3.4` , and later runtimes, the handler can be specified as `*fileName* . *functionName*` , or you can specify a folder where canary scripts reside as `*folder* / *fileName* . *functionName*` .
195
+
196
+ This field is required when you don't specify `BlueprintTypes` and is not allowed when you specify `BlueprintTypes` .
189
197
  :param _builtins.str s3_bucket: If your canary script is located in S3, specify the bucket name here. The bucket must already exist.
190
198
  :param _builtins.str s3_key: The Amazon S3 key of your script. For more information, see [Working with Amazon S3 Objects](https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingObjects.html) .
191
199
  :param _builtins.str s3_object_version: The Amazon S3 version ID of your script.
192
200
  :param _builtins.str script: If you input your canary script directly into the canary instead of referring to an S3 location, the value of this parameter is the script in plain text. It can be up to 5 MB.
193
201
  :param _builtins.str source_location_arn: The ARN of the Lambda layer where Synthetics stores the canary script code.
194
202
  """
195
- pulumi.set(__self__, "handler", handler)
203
+ if blueprint_types is not None:
204
+ pulumi.set(__self__, "blueprint_types", blueprint_types)
196
205
  if dependencies is not None:
197
206
  pulumi.set(__self__, "dependencies", dependencies)
207
+ if handler is not None:
208
+ pulumi.set(__self__, "handler", handler)
198
209
  if s3_bucket is not None:
199
210
  pulumi.set(__self__, "s3_bucket", s3_bucket)
200
211
  if s3_key is not None:
@@ -207,12 +218,14 @@ class CanaryCode(dict):
207
218
  pulumi.set(__self__, "source_location_arn", source_location_arn)
208
219
 
209
220
  @_builtins.property
210
- @pulumi.getter
211
- def handler(self) -> _builtins.str:
221
+ @pulumi.getter(name="blueprintTypes")
222
+ def blueprint_types(self) -> Optional[Sequence[_builtins.str]]:
212
223
  """
213
- The entry point to use for the source code when running the canary. For canaries that use the `syn-python-selenium-1.0` runtime or a `syn-nodejs.puppeteer` runtime earlier than `syn-nodejs.puppeteer-3.4` , the handler must be specified as `*fileName* .handler` . For `syn-python-selenium-1.1` , `syn-nodejs.puppeteer-3.4` , and later runtimes, the handler can be specified as `*fileName* . *functionName*` , or you can specify a folder where canary scripts reside as `*folder* / *fileName* . *functionName*` .
224
+ `BlueprintTypes` are a list of templates that enable simplified canary creation. You can create canaries for common monitoring scenarios by providing only a JSON configuration file instead of writing custom scripts. `multi-checks` is the only supported value.
225
+
226
+ When you specify `BlueprintTypes` , the `Handler` field cannot be specified since the blueprint provides a pre-defined entry point.
214
227
  """
215
- return pulumi.get(self, "handler")
228
+ return pulumi.get(self, "blueprint_types")
216
229
 
217
230
  @_builtins.property
218
231
  @pulumi.getter
@@ -222,6 +235,16 @@ class CanaryCode(dict):
222
235
  """
223
236
  return pulumi.get(self, "dependencies")
224
237
 
238
+ @_builtins.property
239
+ @pulumi.getter
240
+ def handler(self) -> Optional[_builtins.str]:
241
+ """
242
+ The entry point to use for the source code when running the canary. For canaries that use the `syn-python-selenium-1.0` runtime or a `syn-nodejs.puppeteer` runtime earlier than `syn-nodejs.puppeteer-3.4` , the handler must be specified as `*fileName* .handler` . For `syn-python-selenium-1.1` , `syn-nodejs.puppeteer-3.4` , and later runtimes, the handler can be specified as `*fileName* . *functionName*` , or you can specify a folder where canary scripts reside as `*folder* / *fileName* . *functionName*` .
243
+
244
+ This field is required when you don't specify `BlueprintTypes` and is not allowed when you specify `BlueprintTypes` .
245
+ """
246
+ return pulumi.get(self, "handler")
247
+
225
248
  @_builtins.property
226
249
  @pulumi.getter(name="s3Bucket")
227
250
  def s3_bucket(self) -> Optional[_builtins.str]:
@@ -577,6 +600,7 @@ class CanaryVisualReference(dict):
577
600
  """
578
601
  :param _builtins.str base_canary_run_id: Canary run id to be used as base reference for visual testing
579
602
  :param Sequence['CanaryBaseScreenshot'] base_screenshots: List of screenshots used as base reference for visual testing
603
+ :param 'CanaryBrowserType' browser_type: The browser type associated with this visual reference configuration. Valid values are `CHROME` and `FIREFOX` .
580
604
  """
581
605
  pulumi.set(__self__, "base_canary_run_id", base_canary_run_id)
582
606
  if base_screenshots is not None:
@@ -603,6 +627,9 @@ class CanaryVisualReference(dict):
603
627
  @_builtins.property
604
628
  @pulumi.getter(name="browserType")
605
629
  def browser_type(self) -> Optional['CanaryBrowserType']:
630
+ """
631
+ The browser type associated with this visual reference configuration. Valid values are `CHROME` and `FIREFOX` .
632
+ """
606
633
  return pulumi.get(self, "browser_type")
607
634
 
608
635
 
@@ -19,6 +19,8 @@ __all__ = [
19
19
  'ConnectorAs2ConfigPropertiesMdnSigningAlgorithm',
20
20
  'ConnectorAs2ConfigPropertiesPreserveContentType',
21
21
  'ConnectorAs2ConfigPropertiesSigningAlgorithm',
22
+ 'ConnectorEgressType',
23
+ 'ConnectorStatus',
22
24
  'ProfileType',
23
25
  'ServerAs2Transport',
24
26
  'ServerDirectoryListingOptimization',
@@ -161,6 +163,19 @@ class ConnectorAs2ConfigPropertiesSigningAlgorithm(_builtins.str, Enum):
161
163
  NONE = "NONE"
162
164
 
163
165
 
166
+ @pulumi.type_token("aws-native:transfer:ConnectorEgressType")
167
+ class ConnectorEgressType(_builtins.str, Enum):
168
+ SERVICE_MANAGED = "SERVICE_MANAGED"
169
+ VPC_LATTICE = "VPC_LATTICE"
170
+
171
+
172
+ @pulumi.type_token("aws-native:transfer:ConnectorStatus")
173
+ class ConnectorStatus(_builtins.str, Enum):
174
+ ACTIVE = "ACTIVE"
175
+ PENDING = "PENDING"
176
+ ERRORED = "ERRORED"
177
+
178
+
164
179
  @pulumi.type_token("aws-native:transfer:ProfileType")
165
180
  class ProfileType(_builtins.str, Enum):
166
181
  """
@@ -18,6 +18,10 @@ from ._enums import *
18
18
  __all__ = [
19
19
  'As2ConfigPropertiesArgs',
20
20
  'As2ConfigPropertiesArgsDict',
21
+ 'ConnectorEgressConfigArgs',
22
+ 'ConnectorEgressConfigArgsDict',
23
+ 'ConnectorVpcLatticeEgressConfigArgs',
24
+ 'ConnectorVpcLatticeEgressConfigArgsDict',
21
25
  'CustomDirectoriesPropertiesArgs',
22
26
  'CustomDirectoriesPropertiesArgsDict',
23
27
  'ServerEndpointDetailsArgs',
@@ -286,6 +290,88 @@ class As2ConfigPropertiesArgs:
286
290
  pulumi.set(self, "signing_algorithm", value)
287
291
 
288
292
 
293
+ if not MYPY:
294
+ class ConnectorEgressConfigArgsDict(TypedDict):
295
+ vpc_lattice: pulumi.Input['ConnectorVpcLatticeEgressConfigArgsDict']
296
+ """
297
+ VPC_LATTICE configuration for routing connector traffic through customer VPCs. Enables private connectivity to SFTP servers without requiring public internet access or complex network configurations.
298
+ """
299
+ elif False:
300
+ ConnectorEgressConfigArgsDict: TypeAlias = Mapping[str, Any]
301
+
302
+ @pulumi.input_type
303
+ class ConnectorEgressConfigArgs:
304
+ def __init__(__self__, *,
305
+ vpc_lattice: pulumi.Input['ConnectorVpcLatticeEgressConfigArgs']):
306
+ """
307
+ :param pulumi.Input['ConnectorVpcLatticeEgressConfigArgs'] vpc_lattice: VPC_LATTICE configuration for routing connector traffic through customer VPCs. Enables private connectivity to SFTP servers without requiring public internet access or complex network configurations.
308
+ """
309
+ pulumi.set(__self__, "vpc_lattice", vpc_lattice)
310
+
311
+ @_builtins.property
312
+ @pulumi.getter(name="vpcLattice")
313
+ def vpc_lattice(self) -> pulumi.Input['ConnectorVpcLatticeEgressConfigArgs']:
314
+ """
315
+ VPC_LATTICE configuration for routing connector traffic through customer VPCs. Enables private connectivity to SFTP servers without requiring public internet access or complex network configurations.
316
+ """
317
+ return pulumi.get(self, "vpc_lattice")
318
+
319
+ @vpc_lattice.setter
320
+ def vpc_lattice(self, value: pulumi.Input['ConnectorVpcLatticeEgressConfigArgs']):
321
+ pulumi.set(self, "vpc_lattice", value)
322
+
323
+
324
+ if not MYPY:
325
+ class ConnectorVpcLatticeEgressConfigArgsDict(TypedDict):
326
+ resource_configuration_arn: pulumi.Input[_builtins.str]
327
+ """
328
+ ARN of the VPC Lattice resource configuration
329
+ """
330
+ port_number: NotRequired[pulumi.Input[_builtins.int]]
331
+ """
332
+ Port to connect to on the target VPC Lattice resource
333
+ """
334
+ elif False:
335
+ ConnectorVpcLatticeEgressConfigArgsDict: TypeAlias = Mapping[str, Any]
336
+
337
+ @pulumi.input_type
338
+ class ConnectorVpcLatticeEgressConfigArgs:
339
+ def __init__(__self__, *,
340
+ resource_configuration_arn: pulumi.Input[_builtins.str],
341
+ port_number: Optional[pulumi.Input[_builtins.int]] = None):
342
+ """
343
+ :param pulumi.Input[_builtins.str] resource_configuration_arn: ARN of the VPC Lattice resource configuration
344
+ :param pulumi.Input[_builtins.int] port_number: Port to connect to on the target VPC Lattice resource
345
+ """
346
+ pulumi.set(__self__, "resource_configuration_arn", resource_configuration_arn)
347
+ if port_number is not None:
348
+ pulumi.set(__self__, "port_number", port_number)
349
+
350
+ @_builtins.property
351
+ @pulumi.getter(name="resourceConfigurationArn")
352
+ def resource_configuration_arn(self) -> pulumi.Input[_builtins.str]:
353
+ """
354
+ ARN of the VPC Lattice resource configuration
355
+ """
356
+ return pulumi.get(self, "resource_configuration_arn")
357
+
358
+ @resource_configuration_arn.setter
359
+ def resource_configuration_arn(self, value: pulumi.Input[_builtins.str]):
360
+ pulumi.set(self, "resource_configuration_arn", value)
361
+
362
+ @_builtins.property
363
+ @pulumi.getter(name="portNumber")
364
+ def port_number(self) -> Optional[pulumi.Input[_builtins.int]]:
365
+ """
366
+ Port to connect to on the target VPC Lattice resource
367
+ """
368
+ return pulumi.get(self, "port_number")
369
+
370
+ @port_number.setter
371
+ def port_number(self, value: Optional[pulumi.Input[_builtins.int]]):
372
+ pulumi.set(self, "port_number", value)
373
+
374
+
289
375
  if not MYPY:
290
376
  class CustomDirectoriesPropertiesArgsDict(TypedDict):
291
377
  """
@@ -728,7 +814,9 @@ if not MYPY:
728
814
 
729
815
  Replace `0.0.0.0` in the example above with the actual IP address you want to use.
730
816
 
731
- > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) .
817
+ > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) .
818
+ >
819
+ > Additionally, avoid placing Network Load Balancers (NLBs) or NAT gateways in front of AWS Transfer Family servers. This configuration increases costs and can cause performance issues. When NLBs or NATs are in the communication path, Transfer Family cannot accurately recognize client IP addresses, which impacts connection sharding and limits FTPS servers to only 300 simultaneous connections instead of 10,000. If you must use an NLB, use port 21 for health checks and enable TLS session resumption by setting `TlsSessionResumptionMode = ENFORCED` . For optimal performance, migrate to VPC endpoints with Elastic IP addresses instead of using NLBs. For more details, see [Avoid placing NLBs and NATs in front of AWS Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/infrastructure-security.html#nlb-considerations) .
732
820
 
733
821
  *Special values*
734
822
 
@@ -772,7 +860,9 @@ class ServerProtocolDetailsArgs:
772
860
 
773
861
  Replace `0.0.0.0` in the example above with the actual IP address you want to use.
774
862
 
775
- > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) .
863
+ > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) .
864
+ >
865
+ > Additionally, avoid placing Network Load Balancers (NLBs) or NAT gateways in front of AWS Transfer Family servers. This configuration increases costs and can cause performance issues. When NLBs or NATs are in the communication path, Transfer Family cannot accurately recognize client IP addresses, which impacts connection sharding and limits FTPS servers to only 300 simultaneous connections instead of 10,000. If you must use an NLB, use port 21 for health checks and enable TLS session resumption by setting `TlsSessionResumptionMode = ENFORCED` . For optimal performance, migrate to VPC endpoints with Elastic IP addresses instead of using NLBs. For more details, see [Avoid placing NLBs and NATs in front of AWS Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/infrastructure-security.html#nlb-considerations) .
776
866
 
777
867
  *Special values*
778
868
 
@@ -823,7 +913,9 @@ class ServerProtocolDetailsArgs:
823
913
 
824
914
  Replace `0.0.0.0` in the example above with the actual IP address you want to use.
825
915
 
826
- > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) .
916
+ > If you change the `PassiveIp` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see [Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family](https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/) .
917
+ >
918
+ > Additionally, avoid placing Network Load Balancers (NLBs) or NAT gateways in front of AWS Transfer Family servers. This configuration increases costs and can cause performance issues. When NLBs or NATs are in the communication path, Transfer Family cannot accurately recognize client IP addresses, which impacts connection sharding and limits FTPS servers to only 300 simultaneous connections instead of 10,000. If you must use an NLB, use port 21 for health checks and enable TLS session resumption by setting `TlsSessionResumptionMode = ENFORCED` . For optimal performance, migrate to VPC endpoints with Elastic IP addresses instead of using NLBs. For more details, see [Avoid placing NLBs and NATs in front of AWS Transfer Family](https://docs.aws.amazon.com/transfer/latest/userguide/infrastructure-security.html#nlb-considerations) .
827
919
 
828
920
  *Special values*
829
921