1/*
2Package customizations provides customizations for the Amazon S3-Control API client.
3
4This package provides support for following S3-Control customizations
5
6    BackfillInput Middleware: validates and backfills data from an ARN resource into a copy of operation input.
7
8    ProcessOutpostID Middleware: applied on CreateBucket, ListRegionalBuckets operation, triggers a custom endpoint generation flow.
9
10    ProcessARN Middleware: processes an ARN if provided as input and updates the endpoint as per the arn type.
11
12    UpdateEndpoint Middleware: resolves a custom endpoint as per s3-control config options.
13
14
15Dualstack support
16
17By default dualstack support for s3-control client is disabled. By enabling `UseDualstack`
18option on s3-control client, you can enable dualstack endpoint support.
19
20
21Endpoint customizations
22
23Customizations to lookup ARN, backfill input, process outpost id, process ARN
24needs to happen before request serialization. UpdateEndpoint middleware which mutates
25resources based on Options such as UseDualstack for modifying resolved endpoint
26are executed after request serialization.
27
28 Middleware layering:
29
30 Initialize : HTTP Request -> ARN Lookup -> BackfillInput -> Input-Validation -> Serialize step
31
32 Serialize : HTTP Request -> Process-OutpostID -> Process ARN -> operation serializer -> Update-Endpoint customization -> next middleware
33
34Customization option:
35 UseARNRegion (Disabled by Default)
36
37 UseDualstack (Disabled by Default)
38
39*/
40package customizations
41