1{
2    "version": "1.0",
3    "parameters": {
4        "Bucket": {
5            "required": false,
6            "documentation": "The S3 bucket used to send the request. This is an optional parameter that will be set automatically for operations that are scoped to an S3 bucket.",
7            "type": "String"
8        },
9        "Region": {
10            "builtIn": "AWS::Region",
11            "required": false,
12            "documentation": "The AWS region used to dispatch the request.",
13            "type": "String"
14        },
15        "UseFIPS": {
16            "builtIn": "AWS::UseFIPS",
17            "required": true,
18            "default": false,
19            "documentation": "When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.",
20            "type": "Boolean"
21        },
22        "UseDualStack": {
23            "builtIn": "AWS::UseDualStack",
24            "required": true,
25            "default": false,
26            "documentation": "When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.",
27            "type": "Boolean"
28        },
29        "Endpoint": {
30            "builtIn": "SDK::Endpoint",
31            "required": false,
32            "documentation": "Override the endpoint used to send this request",
33            "type": "String"
34        },
35        "ForcePathStyle": {
36            "builtIn": "AWS::S3::ForcePathStyle",
37            "required": true,
38            "default": false,
39            "documentation": "When true, force a path-style endpoint to be used where the bucket name is part of the path.",
40            "type": "Boolean"
41        },
42        "Accelerate": {
43            "builtIn": "AWS::S3::Accelerate",
44            "required": true,
45            "default": false,
46            "documentation": "When true, use S3 Accelerate. NOTE: Not all regions support S3 accelerate.",
47            "type": "Boolean"
48        },
49        "UseGlobalEndpoint": {
50            "builtIn": "AWS::S3::UseGlobalEndpoint",
51            "required": true,
52            "default": false,
53            "documentation": "Whether the global endpoint should be used, rather then the regional endpoint for us-east-1.",
54            "type": "Boolean"
55        },
56        "UseObjectLambdaEndpoint": {
57            "required": false,
58            "documentation": "Internal parameter to use object lambda endpoint for an operation (eg: WriteGetObjectResponse)",
59            "type": "Boolean"
60        },
61        "Key": {
62            "required": false,
63            "documentation": "The S3 Key used to send the request. This is an optional parameter that will be set automatically for operations that are scoped to an S3 Key.",
64            "type": "String"
65        },
66        "Prefix": {
67            "required": false,
68            "documentation": "The S3 Prefix used to send the request. This is an optional parameter that will be set automatically for operations that are scoped to an S3 Prefix.",
69            "type": "String"
70        },
71        "DisableAccessPoints": {
72            "required": false,
73            "documentation": "Internal parameter to disable Access Point Buckets",
74            "type": "Boolean"
75        },
76        "DisableMultiRegionAccessPoints": {
77            "builtIn": "AWS::S3::DisableMultiRegionAccessPoints",
78            "required": true,
79            "default": false,
80            "documentation": "Whether multi-region access points (MRAP) should be disabled.",
81            "type": "Boolean"
82        },
83        "UseArnRegion": {
84            "builtIn": "AWS::S3::UseArnRegion",
85            "required": false,
86            "documentation": "When an Access Point ARN is provided and this flag is enabled, the SDK MUST use the ARN's region when constructing the endpoint instead of the client's configured region.",
87            "type": "Boolean"
88        },
89        "UseS3ExpressControlEndpoint": {
90            "required": false,
91            "documentation": "Internal parameter to indicate whether S3Express operation should use control plane, (ex. CreateBucket)",
92            "type": "Boolean"
93        },
94        "DisableS3ExpressSessionAuth": {
95            "required": false,
96            "documentation": "Parameter to indicate whether S3Express session auth should be disabled",
97            "type": "Boolean"
98        }
99    },
100    "rules": [
101        {
102            "conditions": [
103                {
104                    "fn": "isSet",
105                    "argv": [
106                        {
107                            "ref": "Region"
108                        }
109                    ]
110                }
111            ],
112            "rules": [
113                {
114                    "conditions": [
115                        {
116                            "fn": "booleanEquals",
117                            "argv": [
118                                {
119                                    "ref": "Accelerate"
120                                },
121                                true
122                            ]
123                        },
124                        {
125                            "fn": "booleanEquals",
126                            "argv": [
127                                {
128                                    "ref": "UseFIPS"
129                                },
130                                true
131                            ]
132                        }
133                    ],
134                    "error": "Accelerate cannot be used with FIPS",
135                    "type": "error"
136                },
137                {
138                    "conditions": [
139                        {
140                            "fn": "booleanEquals",
141                            "argv": [
142                                {
143                                    "ref": "UseDualStack"
144                                },
145                                true
146                            ]
147                        },
148                        {
149                            "fn": "isSet",
150                            "argv": [
151                                {
152                                    "ref": "Endpoint"
153                                }
154                            ]
155                        }
156                    ],
157                    "error": "Cannot set dual-stack in combination with a custom endpoint.",
158                    "type": "error"
159                },
160                {
161                    "conditions": [
162                        {
163                            "fn": "isSet",
164                            "argv": [
165                                {
166                                    "ref": "Endpoint"
167                                }
168                            ]
169                        },
170                        {
171                            "fn": "booleanEquals",
172                            "argv": [
173                                {
174                                    "ref": "UseFIPS"
175                                },
176                                true
177                            ]
178                        }
179                    ],
180                    "error": "A custom endpoint cannot be combined with FIPS",
181                    "type": "error"
182                },
183                {
184                    "conditions": [
185                        {
186                            "fn": "isSet",
187                            "argv": [
188                                {
189                                    "ref": "Endpoint"
190                                }
191                            ]
192                        },
193                        {
194                            "fn": "booleanEquals",
195                            "argv": [
196                                {
197                                    "ref": "Accelerate"
198                                },
199                                true
200                            ]
201                        }
202                    ],
203                    "error": "A custom endpoint cannot be combined with S3 Accelerate",
204                    "type": "error"
205                },
206                {
207                    "conditions": [
208                        {
209                            "fn": "booleanEquals",
210                            "argv": [
211                                {
212                                    "ref": "UseFIPS"
213                                },
214                                true
215                            ]
216                        },
217                        {
218                            "fn": "aws.partition",
219                            "argv": [
220                                {
221                                    "ref": "Region"
222                                }
223                            ],
224                            "assign": "partitionResult"
225                        },
226                        {
227                            "fn": "stringEquals",
228                            "argv": [
229                                {
230                                    "fn": "getAttr",
231                                    "argv": [
232                                        {
233                                            "ref": "partitionResult"
234                                        },
235                                        "name"
236                                    ]
237                                },
238                                "aws-cn"
239                            ]
240                        }
241                    ],
242                    "error": "Partition does not support FIPS",
243                    "type": "error"
244                },
245                {
246                    "conditions": [
247                        {
248                            "fn": "isSet",
249                            "argv": [
250                                {
251                                    "ref": "Bucket"
252                                }
253                            ]
254                        },
255                        {
256                            "fn": "substring",
257                            "argv": [
258                                {
259                                    "ref": "Bucket"
260                                },
261                                0,
262                                6,
263                                true
264                            ],
265                            "assign": "bucketSuffix"
266                        },
267                        {
268                            "fn": "stringEquals",
269                            "argv": [
270                                {
271                                    "ref": "bucketSuffix"
272                                },
273                                "--x-s3"
274                            ]
275                        }
276                    ],
277                    "rules": [
278                        {
279                            "conditions": [
280                                {
281                                    "fn": "booleanEquals",
282                                    "argv": [
283                                        {
284                                            "ref": "UseDualStack"
285                                        },
286                                        true
287                                    ]
288                                }
289                            ],
290                            "error": "S3Express does not support Dual-stack.",
291                            "type": "error"
292                        },
293                        {
294                            "conditions": [
295                                {
296                                    "fn": "booleanEquals",
297                                    "argv": [
298                                        {
299                                            "ref": "Accelerate"
300                                        },
301                                        true
302                                    ]
303                                }
304                            ],
305                            "error": "S3Express does not support S3 Accelerate.",
306                            "type": "error"
307                        },
308                        {
309                            "conditions": [
310                                {
311                                    "fn": "isSet",
312                                    "argv": [
313                                        {
314                                            "ref": "Endpoint"
315                                        }
316                                    ]
317                                },
318                                {
319                                    "fn": "parseURL",
320                                    "argv": [
321                                        {
322                                            "ref": "Endpoint"
323                                        }
324                                    ],
325                                    "assign": "url"
326                                }
327                            ],
328                            "rules": [
329                                {
330                                    "conditions": [
331                                        {
332                                            "fn": "isSet",
333                                            "argv": [
334                                                {
335                                                    "ref": "DisableS3ExpressSessionAuth"
336                                                }
337                                            ]
338                                        },
339                                        {
340                                            "fn": "booleanEquals",
341                                            "argv": [
342                                                {
343                                                    "ref": "DisableS3ExpressSessionAuth"
344                                                },
345                                                true
346                                            ]
347                                        }
348                                    ],
349                                    "rules": [
350                                        {
351                                            "conditions": [
352                                                {
353                                                    "fn": "booleanEquals",
354                                                    "argv": [
355                                                        {
356                                                            "fn": "getAttr",
357                                                            "argv": [
358                                                                {
359                                                                    "ref": "url"
360                                                                },
361                                                                "isIp"
362                                                            ]
363                                                        },
364                                                        true
365                                                    ]
366                                                }
367                                            ],
368                                            "rules": [
369                                                {
370                                                    "conditions": [
371                                                        {
372                                                            "fn": "uriEncode",
373                                                            "argv": [
374                                                                {
375                                                                    "ref": "Bucket"
376                                                                }
377                                                            ],
378                                                            "assign": "uri_encoded_bucket"
379                                                        }
380                                                    ],
381                                                    "rules": [
382                                                        {
383                                                            "conditions": [],
384                                                            "endpoint": {
385                                                                "url": "{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",
386                                                                "properties": {
387                                                                    "backend": "S3Express",
388                                                                    "authSchemes": [
389                                                                        {
390                                                                            "disableDoubleEncoding": true,
391                                                                            "name": "sigv4",
392                                                                            "signingName": "s3express",
393                                                                            "signingRegion": "{Region}"
394                                                                        }
395                                                                    ]
396                                                                },
397                                                                "headers": {}
398                                                            },
399                                                            "type": "endpoint"
400                                                        }
401                                                    ],
402                                                    "type": "tree"
403                                                }
404                                            ],
405                                            "type": "tree"
406                                        },
407                                        {
408                                            "conditions": [
409                                                {
410                                                    "fn": "aws.isVirtualHostableS3Bucket",
411                                                    "argv": [
412                                                        {
413                                                            "ref": "Bucket"
414                                                        },
415                                                        false
416                                                    ]
417                                                }
418                                            ],
419                                            "rules": [
420                                                {
421                                                    "conditions": [],
422                                                    "endpoint": {
423                                                        "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}",
424                                                        "properties": {
425                                                            "backend": "S3Express",
426                                                            "authSchemes": [
427                                                                {
428                                                                    "disableDoubleEncoding": true,
429                                                                    "name": "sigv4",
430                                                                    "signingName": "s3express",
431                                                                    "signingRegion": "{Region}"
432                                                                }
433                                                            ]
434                                                        },
435                                                        "headers": {}
436                                                    },
437                                                    "type": "endpoint"
438                                                }
439                                            ],
440                                            "type": "tree"
441                                        },
442                                        {
443                                            "conditions": [],
444                                            "error": "S3Express bucket name is not a valid virtual hostable name.",
445                                            "type": "error"
446                                        }
447                                    ],
448                                    "type": "tree"
449                                },
450                                {
451                                    "conditions": [
452                                        {
453                                            "fn": "booleanEquals",
454                                            "argv": [
455                                                {
456                                                    "fn": "getAttr",
457                                                    "argv": [
458                                                        {
459                                                            "ref": "url"
460                                                        },
461                                                        "isIp"
462                                                    ]
463                                                },
464                                                true
465                                            ]
466                                        }
467                                    ],
468                                    "rules": [
469                                        {
470                                            "conditions": [
471                                                {
472                                                    "fn": "uriEncode",
473                                                    "argv": [
474                                                        {
475                                                            "ref": "Bucket"
476                                                        }
477                                                    ],
478                                                    "assign": "uri_encoded_bucket"
479                                                }
480                                            ],
481                                            "rules": [
482                                                {
483                                                    "conditions": [],
484                                                    "endpoint": {
485                                                        "url": "{url#scheme}://{url#authority}/{uri_encoded_bucket}{url#path}",
486                                                        "properties": {
487                                                            "backend": "S3Express",
488                                                            "authSchemes": [
489                                                                {
490                                                                    "disableDoubleEncoding": true,
491                                                                    "name": "sigv4-s3express",
492                                                                    "signingName": "s3express",
493                                                                    "signingRegion": "{Region}"
494                                                                }
495                                                            ]
496                                                        },
497                                                        "headers": {}
498                                                    },
499                                                    "type": "endpoint"
500                                                }
501                                            ],
502                                            "type": "tree"
503                                        }
504                                    ],
505                                    "type": "tree"
506                                },
507                                {
508                                    "conditions": [
509                                        {
510                                            "fn": "aws.isVirtualHostableS3Bucket",
511                                            "argv": [
512                                                {
513                                                    "ref": "Bucket"
514                                                },
515                                                false
516                                            ]
517                                        }
518                                    ],
519                                    "rules": [
520                                        {
521                                            "conditions": [],
522                                            "endpoint": {
523                                                "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}",
524                                                "properties": {
525                                                    "backend": "S3Express",
526                                                    "authSchemes": [
527                                                        {
528                                                            "disableDoubleEncoding": true,
529                                                            "name": "sigv4-s3express",
530                                                            "signingName": "s3express",
531                                                            "signingRegion": "{Region}"
532                                                        }
533                                                    ]
534                                                },
535                                                "headers": {}
536                                            },
537                                            "type": "endpoint"
538                                        }
539                                    ],
540                                    "type": "tree"
541                                },
542                                {
543                                    "conditions": [],
544                                    "error": "S3Express bucket name is not a valid virtual hostable name.",
545                                    "type": "error"
546                                }
547                            ],
548                            "type": "tree"
549                        },
550                        {
551                            "conditions": [
552                                {
553                                    "fn": "isSet",
554                                    "argv": [
555                                        {
556                                            "ref": "UseS3ExpressControlEndpoint"
557                                        }
558                                    ]
559                                },
560                                {
561                                    "fn": "booleanEquals",
562                                    "argv": [
563                                        {
564                                            "ref": "UseS3ExpressControlEndpoint"
565                                        },
566                                        true
567                                    ]
568                                }
569                            ],
570                            "rules": [
571                                {
572                                    "conditions": [
573                                        {
574                                            "fn": "uriEncode",
575                                            "argv": [
576                                                {
577                                                    "ref": "Bucket"
578                                                }
579                                            ],
580                                            "assign": "uri_encoded_bucket"
581                                        },
582                                        {
583                                            "fn": "not",
584                                            "argv": [
585                                                {
586                                                    "fn": "isSet",
587                                                    "argv": [
588                                                        {
589                                                            "ref": "Endpoint"
590                                                        }
591                                                    ]
592                                                }
593                                            ]
594                                        }
595                                    ],
596                                    "rules": [
597                                        {
598                                            "conditions": [
599                                                {
600                                                    "fn": "booleanEquals",
601                                                    "argv": [
602                                                        {
603                                                            "ref": "UseFIPS"
604                                                        },
605                                                        true
606                                                    ]
607                                                }
608                                            ],
609                                            "endpoint": {
610                                                "url": "https://s3express-control-fips.{Region}.amazonaws.com/{uri_encoded_bucket}",
611                                                "properties": {
612                                                    "backend": "S3Express",
613                                                    "authSchemes": [
614                                                        {
615                                                            "disableDoubleEncoding": true,
616                                                            "name": "sigv4",
617                                                            "signingName": "s3express",
618                                                            "signingRegion": "{Region}"
619                                                        }
620                                                    ]
621                                                },
622                                                "headers": {}
623                                            },
624                                            "type": "endpoint"
625                                        },
626                                        {
627                                            "conditions": [],
628                                            "endpoint": {
629                                                "url": "https://s3express-control.{Region}.amazonaws.com/{uri_encoded_bucket}",
630                                                "properties": {
631                                                    "backend": "S3Express",
632                                                    "authSchemes": [
633                                                        {
634                                                            "disableDoubleEncoding": true,
635                                                            "name": "sigv4",
636                                                            "signingName": "s3express",
637                                                            "signingRegion": "{Region}"
638                                                        }
639                                                    ]
640                                                },
641                                                "headers": {}
642                                            },
643                                            "type": "endpoint"
644                                        }
645                                    ],
646                                    "type": "tree"
647                                }
648                            ],
649                            "type": "tree"
650                        },
651                        {
652                            "conditions": [
653                                {
654                                    "fn": "aws.isVirtualHostableS3Bucket",
655                                    "argv": [
656                                        {
657                                            "ref": "Bucket"
658                                        },
659                                        false
660                                    ]
661                                }
662                            ],
663                            "rules": [
664                                {
665                                    "conditions": [
666                                        {
667                                            "fn": "isSet",
668                                            "argv": [
669                                                {
670                                                    "ref": "DisableS3ExpressSessionAuth"
671                                                }
672                                            ]
673                                        },
674                                        {
675                                            "fn": "booleanEquals",
676                                            "argv": [
677                                                {
678                                                    "ref": "DisableS3ExpressSessionAuth"
679                                                },
680                                                true
681                                            ]
682                                        }
683                                    ],
684                                    "rules": [
685                                        {
686                                            "conditions": [
687                                                {
688                                                    "fn": "substring",
689                                                    "argv": [
690                                                        {
691                                                            "ref": "Bucket"
692                                                        },
693                                                        6,
694                                                        14,
695                                                        true
696                                                    ],
697                                                    "assign": "s3expressAvailabilityZoneId"
698                                                },
699                                                {
700                                                    "fn": "substring",
701                                                    "argv": [
702                                                        {
703                                                            "ref": "Bucket"
704                                                        },
705                                                        14,
706                                                        16,
707                                                        true
708                                                    ],
709                                                    "assign": "s3expressAvailabilityZoneDelim"
710                                                },
711                                                {
712                                                    "fn": "stringEquals",
713                                                    "argv": [
714                                                        {
715                                                            "ref": "s3expressAvailabilityZoneDelim"
716                                                        },
717                                                        "--"
718                                                    ]
719                                                }
720                                            ],
721                                            "rules": [
722                                                {
723                                                    "conditions": [
724                                                        {
725                                                            "fn": "booleanEquals",
726                                                            "argv": [
727                                                                {
728                                                                    "ref": "UseFIPS"
729                                                                },
730                                                                true
731                                                            ]
732                                                        }
733                                                    ],
734                                                    "endpoint": {
735                                                        "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",
736                                                        "properties": {
737                                                            "backend": "S3Express",
738                                                            "authSchemes": [
739                                                                {
740                                                                    "disableDoubleEncoding": true,
741                                                                    "name": "sigv4",
742                                                                    "signingName": "s3express",
743                                                                    "signingRegion": "{Region}"
744                                                                }
745                                                            ]
746                                                        },
747                                                        "headers": {}
748                                                    },
749                                                    "type": "endpoint"
750                                                },
751                                                {
752                                                    "conditions": [],
753                                                    "endpoint": {
754                                                        "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",
755                                                        "properties": {
756                                                            "backend": "S3Express",
757                                                            "authSchemes": [
758                                                                {
759                                                                    "disableDoubleEncoding": true,
760                                                                    "name": "sigv4",
761                                                                    "signingName": "s3express",
762                                                                    "signingRegion": "{Region}"
763                                                                }
764                                                            ]
765                                                        },
766                                                        "headers": {}
767                                                    },
768                                                    "type": "endpoint"
769                                                }
770                                            ],
771                                            "type": "tree"
772                                        },
773                                        {
774                                            "conditions": [
775                                                {
776                                                    "fn": "substring",
777                                                    "argv": [
778                                                        {
779                                                            "ref": "Bucket"
780                                                        },
781                                                        6,
782                                                        15,
783                                                        true
784                                                    ],
785                                                    "assign": "s3expressAvailabilityZoneId"
786                                                },
787                                                {
788                                                    "fn": "substring",
789                                                    "argv": [
790                                                        {
791                                                            "ref": "Bucket"
792                                                        },
793                                                        15,
794                                                        17,
795                                                        true
796                                                    ],
797                                                    "assign": "s3expressAvailabilityZoneDelim"
798                                                },
799                                                {
800                                                    "fn": "stringEquals",
801                                                    "argv": [
802                                                        {
803                                                            "ref": "s3expressAvailabilityZoneDelim"
804                                                        },
805                                                        "--"
806                                                    ]
807                                                }
808                                            ],
809                                            "rules": [
810                                                {
811                                                    "conditions": [
812                                                        {
813                                                            "fn": "booleanEquals",
814                                                            "argv": [
815                                                                {
816                                                                    "ref": "UseFIPS"
817                                                                },
818                                                                true
819                                                            ]
820                                                        }
821                                                    ],
822                                                    "endpoint": {
823                                                        "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",
824                                                        "properties": {
825                                                            "backend": "S3Express",
826                                                            "authSchemes": [
827                                                                {
828                                                                    "disableDoubleEncoding": true,
829                                                                    "name": "sigv4",
830                                                                    "signingName": "s3express",
831                                                                    "signingRegion": "{Region}"
832                                                                }
833                                                            ]
834                                                        },
835                                                        "headers": {}
836                                                    },
837                                                    "type": "endpoint"
838                                                },
839                                                {
840                                                    "conditions": [],
841                                                    "endpoint": {
842                                                        "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",
843                                                        "properties": {
844                                                            "backend": "S3Express",
845                                                            "authSchemes": [
846                                                                {
847                                                                    "disableDoubleEncoding": true,
848                                                                    "name": "sigv4",
849                                                                    "signingName": "s3express",
850                                                                    "signingRegion": "{Region}"
851                                                                }
852                                                            ]
853                                                        },
854                                                        "headers": {}
855                                                    },
856                                                    "type": "endpoint"
857                                                }
858                                            ],
859                                            "type": "tree"
860                                        },
861                                        {
862                                            "conditions": [],
863                                            "error": "Unrecognized S3Express bucket name format.",
864                                            "type": "error"
865                                        }
866                                    ],
867                                    "type": "tree"
868                                },
869                                {
870                                    "conditions": [
871                                        {
872                                            "fn": "substring",
873                                            "argv": [
874                                                {
875                                                    "ref": "Bucket"
876                                                },
877                                                6,
878                                                14,
879                                                true
880                                            ],
881                                            "assign": "s3expressAvailabilityZoneId"
882                                        },
883                                        {
884                                            "fn": "substring",
885                                            "argv": [
886                                                {
887                                                    "ref": "Bucket"
888                                                },
889                                                14,
890                                                16,
891                                                true
892                                            ],
893                                            "assign": "s3expressAvailabilityZoneDelim"
894                                        },
895                                        {
896                                            "fn": "stringEquals",
897                                            "argv": [
898                                                {
899                                                    "ref": "s3expressAvailabilityZoneDelim"
900                                                },
901                                                "--"
902                                            ]
903                                        }
904                                    ],
905                                    "rules": [
906                                        {
907                                            "conditions": [
908                                                {
909                                                    "fn": "booleanEquals",
910                                                    "argv": [
911                                                        {
912                                                            "ref": "UseFIPS"
913                                                        },
914                                                        true
915                                                    ]
916                                                }
917                                            ],
918                                            "endpoint": {
919                                                "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",
920                                                "properties": {
921                                                    "backend": "S3Express",
922                                                    "authSchemes": [
923                                                        {
924                                                            "disableDoubleEncoding": true,
925                                                            "name": "sigv4-s3express",
926                                                            "signingName": "s3express",
927                                                            "signingRegion": "{Region}"
928                                                        }
929                                                    ]
930                                                },
931                                                "headers": {}
932                                            },
933                                            "type": "endpoint"
934                                        },
935                                        {
936                                            "conditions": [],
937                                            "endpoint": {
938                                                "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",
939                                                "properties": {
940                                                    "backend": "S3Express",
941                                                    "authSchemes": [
942                                                        {
943                                                            "disableDoubleEncoding": true,
944                                                            "name": "sigv4-s3express",
945                                                            "signingName": "s3express",
946                                                            "signingRegion": "{Region}"
947                                                        }
948                                                    ]
949                                                },
950                                                "headers": {}
951                                            },
952                                            "type": "endpoint"
953                                        }
954                                    ],
955                                    "type": "tree"
956                                },
957                                {
958                                    "conditions": [
959                                        {
960                                            "fn": "substring",
961                                            "argv": [
962                                                {
963                                                    "ref": "Bucket"
964                                                },
965                                                6,
966                                                15,
967                                                true
968                                            ],
969                                            "assign": "s3expressAvailabilityZoneId"
970                                        },
971                                        {
972                                            "fn": "substring",
973                                            "argv": [
974                                                {
975                                                    "ref": "Bucket"
976                                                },
977                                                15,
978                                                17,
979                                                true
980                                            ],
981                                            "assign": "s3expressAvailabilityZoneDelim"
982                                        },
983                                        {
984                                            "fn": "stringEquals",
985                                            "argv": [
986                                                {
987                                                    "ref": "s3expressAvailabilityZoneDelim"
988                                                },
989                                                "--"
990                                            ]
991                                        }
992                                    ],
993                                    "rules": [
994                                        {
995                                            "conditions": [
996                                                {
997                                                    "fn": "booleanEquals",
998                                                    "argv": [
999                                                        {
1000                                                            "ref": "UseFIPS"
1001                                                        },
1002                                                        true
1003                                                    ]
1004                                                }
1005                                            ],
1006                                            "endpoint": {
1007                                                "url": "https://{Bucket}.s3express-fips-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",
1008                                                "properties": {
1009                                                    "backend": "S3Express",
1010                                                    "authSchemes": [
1011                                                        {
1012                                                            "disableDoubleEncoding": true,
1013                                                            "name": "sigv4-s3express",
1014                                                            "signingName": "s3express",
1015                                                            "signingRegion": "{Region}"
1016                                                        }
1017                                                    ]
1018                                                },
1019                                                "headers": {}
1020                                            },
1021                                            "type": "endpoint"
1022                                        },
1023                                        {
1024                                            "conditions": [],
1025                                            "endpoint": {
1026                                                "url": "https://{Bucket}.s3express-{s3expressAvailabilityZoneId}.{Region}.amazonaws.com",
1027                                                "properties": {
1028                                                    "backend": "S3Express",
1029                                                    "authSchemes": [
1030                                                        {
1031                                                            "disableDoubleEncoding": true,
1032                                                            "name": "sigv4-s3express",
1033                                                            "signingName": "s3express",
1034                                                            "signingRegion": "{Region}"
1035                                                        }
1036                                                    ]
1037                                                },
1038                                                "headers": {}
1039                                            },
1040                                            "type": "endpoint"
1041                                        }
1042                                    ],
1043                                    "type": "tree"
1044                                },
1045                                {
1046                                    "conditions": [],
1047                                    "error": "Unrecognized S3Express bucket name format.",
1048                                    "type": "error"
1049                                }
1050                            ],
1051                            "type": "tree"
1052                        },
1053                        {
1054                            "conditions": [],
1055                            "error": "S3Express bucket name is not a valid virtual hostable name.",
1056                            "type": "error"
1057                        }
1058                    ],
1059                    "type": "tree"
1060                },
1061                {
1062                    "conditions": [
1063                        {
1064                            "fn": "not",
1065                            "argv": [
1066                                {
1067                                    "fn": "isSet",
1068                                    "argv": [
1069                                        {
1070                                            "ref": "Bucket"
1071                                        }
1072                                    ]
1073                                }
1074                            ]
1075                        },
1076                        {
1077                            "fn": "isSet",
1078                            "argv": [
1079                                {
1080                                    "ref": "UseS3ExpressControlEndpoint"
1081                                }
1082                            ]
1083                        },
1084                        {
1085                            "fn": "booleanEquals",
1086                            "argv": [
1087                                {
1088                                    "ref": "UseS3ExpressControlEndpoint"
1089                                },
1090                                true
1091                            ]
1092                        }
1093                    ],
1094                    "rules": [
1095                        {
1096                            "conditions": [
1097                                {
1098                                    "fn": "isSet",
1099                                    "argv": [
1100                                        {
1101                                            "ref": "Endpoint"
1102                                        }
1103                                    ]
1104                                },
1105                                {
1106                                    "fn": "parseURL",
1107                                    "argv": [
1108                                        {
1109                                            "ref": "Endpoint"
1110                                        }
1111                                    ],
1112                                    "assign": "url"
1113                                }
1114                            ],
1115                            "endpoint": {
1116                                "url": "{url#scheme}://{url#authority}{url#path}",
1117                                "properties": {
1118                                    "backend": "S3Express",
1119                                    "authSchemes": [
1120                                        {
1121                                            "disableDoubleEncoding": true,
1122                                            "name": "sigv4",
1123                                            "signingName": "s3express",
1124                                            "signingRegion": "{Region}"
1125                                        }
1126                                    ]
1127                                },
1128                                "headers": {}
1129                            },
1130                            "type": "endpoint"
1131                        },
1132                        {
1133                            "conditions": [
1134                                {
1135                                    "fn": "booleanEquals",
1136                                    "argv": [
1137                                        {
1138                                            "ref": "UseFIPS"
1139                                        },
1140                                        true
1141                                    ]
1142                                }
1143                            ],
1144                            "endpoint": {
1145                                "url": "https://s3express-control-fips.{Region}.amazonaws.com",
1146                                "properties": {
1147                                    "backend": "S3Express",
1148                                    "authSchemes": [
1149                                        {
1150                                            "disableDoubleEncoding": true,
1151                                            "name": "sigv4",
1152                                            "signingName": "s3express",
1153                                            "signingRegion": "{Region}"
1154                                        }
1155                                    ]
1156                                },
1157                                "headers": {}
1158                            },
1159                            "type": "endpoint"
1160                        },
1161                        {
1162                            "conditions": [],
1163                            "endpoint": {
1164                                "url": "https://s3express-control.{Region}.amazonaws.com",
1165                                "properties": {
1166                                    "backend": "S3Express",
1167                                    "authSchemes": [
1168                                        {
1169                                            "disableDoubleEncoding": true,
1170                                            "name": "sigv4",
1171                                            "signingName": "s3express",
1172                                            "signingRegion": "{Region}"
1173                                        }
1174                                    ]
1175                                },
1176                                "headers": {}
1177                            },
1178                            "type": "endpoint"
1179                        }
1180                    ],
1181                    "type": "tree"
1182                },
1183                {
1184                    "conditions": [
1185                        {
1186                            "fn": "isSet",
1187                            "argv": [
1188                                {
1189                                    "ref": "Bucket"
1190                                }
1191                            ]
1192                        },
1193                        {
1194                            "fn": "substring",
1195                            "argv": [
1196                                {
1197                                    "ref": "Bucket"
1198                                },
1199                                49,
1200                                50,
1201                                true
1202                            ],
1203                            "assign": "hardwareType"
1204                        },
1205                        {
1206                            "fn": "substring",
1207                            "argv": [
1208                                {
1209                                    "ref": "Bucket"
1210                                },
1211                                8,
1212                                12,
1213                                true
1214                            ],
1215                            "assign": "regionPrefix"
1216                        },
1217                        {
1218                            "fn": "substring",
1219                            "argv": [
1220                                {
1221                                    "ref": "Bucket"
1222                                },
1223                                0,
1224                                7,
1225                                true
1226                            ],
1227                            "assign": "bucketAliasSuffix"
1228                        },
1229                        {
1230                            "fn": "substring",
1231                            "argv": [
1232                                {
1233                                    "ref": "Bucket"
1234                                },
1235                                32,
1236                                49,
1237                                true
1238                            ],
1239                            "assign": "outpostId"
1240                        },
1241                        {
1242                            "fn": "aws.partition",
1243                            "argv": [
1244                                {
1245                                    "ref": "Region"
1246                                }
1247                            ],
1248                            "assign": "regionPartition"
1249                        },
1250                        {
1251                            "fn": "stringEquals",
1252                            "argv": [
1253                                {
1254                                    "ref": "bucketAliasSuffix"
1255                                },
1256                                "--op-s3"
1257                            ]
1258                        }
1259                    ],
1260                    "rules": [
1261                        {
1262                            "conditions": [
1263                                {
1264                                    "fn": "isValidHostLabel",
1265                                    "argv": [
1266                                        {
1267                                            "ref": "outpostId"
1268                                        },
1269                                        false
1270                                    ]
1271                                }
1272                            ],
1273                            "rules": [
1274                                {
1275                                    "conditions": [
1276                                        {
1277                                            "fn": "stringEquals",
1278                                            "argv": [
1279                                                {
1280                                                    "ref": "hardwareType"
1281                                                },
1282                                                "e"
1283                                            ]
1284                                        }
1285                                    ],
1286                                    "rules": [
1287                                        {
1288                                            "conditions": [
1289                                                {
1290                                                    "fn": "stringEquals",
1291                                                    "argv": [
1292                                                        {
1293                                                            "ref": "regionPrefix"
1294                                                        },
1295                                                        "beta"
1296                                                    ]
1297                                                }
1298                                            ],
1299                                            "rules": [
1300                                                {
1301                                                    "conditions": [
1302                                                        {
1303                                                            "fn": "not",
1304                                                            "argv": [
1305                                                                {
1306                                                                    "fn": "isSet",
1307                                                                    "argv": [
1308                                                                        {
1309                                                                            "ref": "Endpoint"
1310                                                                        }
1311                                                                    ]
1312                                                                }
1313                                                            ]
1314                                                        }
1315                                                    ],
1316                                                    "error": "Expected a endpoint to be specified but no endpoint was found",
1317                                                    "type": "error"
1318                                                },
1319                                                {
1320                                                    "conditions": [
1321                                                        {
1322                                                            "fn": "isSet",
1323                                                            "argv": [
1324                                                                {
1325                                                                    "ref": "Endpoint"
1326                                                                }
1327                                                            ]
1328                                                        },
1329                                                        {
1330                                                            "fn": "parseURL",
1331                                                            "argv": [
1332                                                                {
1333                                                                    "ref": "Endpoint"
1334                                                                }
1335                                                            ],
1336                                                            "assign": "url"
1337                                                        }
1338                                                    ],
1339                                                    "endpoint": {
1340                                                        "url": "https://{Bucket}.ec2.{url#authority}",
1341                                                        "properties": {
1342                                                            "authSchemes": [
1343                                                                {
1344                                                                    "disableDoubleEncoding": true,
1345                                                                    "name": "sigv4",
1346                                                                    "signingName": "s3-outposts",
1347                                                                    "signingRegion": "{Region}"
1348                                                                }
1349                                                            ]
1350                                                        },
1351                                                        "headers": {}
1352                                                    },
1353                                                    "type": "endpoint"
1354                                                }
1355                                            ],
1356                                            "type": "tree"
1357                                        },
1358                                        {
1359                                            "conditions": [],
1360                                            "endpoint": {
1361                                                "url": "https://{Bucket}.ec2.s3-outposts.{Region}.{regionPartition#dnsSuffix}",
1362                                                "properties": {
1363                                                    "authSchemes": [
1364                                                        {
1365                                                            "disableDoubleEncoding": true,
1366                                                            "name": "sigv4",
1367                                                            "signingName": "s3-outposts",
1368                                                            "signingRegion": "{Region}"
1369                                                        }
1370                                                    ]
1371                                                },
1372                                                "headers": {}
1373                                            },
1374                                            "type": "endpoint"
1375                                        }
1376                                    ],
1377                                    "type": "tree"
1378                                },
1379                                {
1380                                    "conditions": [
1381                                        {
1382                                            "fn": "stringEquals",
1383                                            "argv": [
1384                                                {
1385                                                    "ref": "hardwareType"
1386                                                },
1387                                                "o"
1388                                            ]
1389                                        }
1390                                    ],
1391                                    "rules": [
1392                                        {
1393                                            "conditions": [
1394                                                {
1395                                                    "fn": "stringEquals",
1396                                                    "argv": [
1397                                                        {
1398                                                            "ref": "regionPrefix"
1399                                                        },
1400                                                        "beta"
1401                                                    ]
1402                                                }
1403                                            ],
1404                                            "rules": [
1405                                                {
1406                                                    "conditions": [
1407                                                        {
1408                                                            "fn": "not",
1409                                                            "argv": [
1410                                                                {
1411                                                                    "fn": "isSet",
1412                                                                    "argv": [
1413                                                                        {
1414                                                                            "ref": "Endpoint"
1415                                                                        }
1416                                                                    ]
1417                                                                }
1418                                                            ]
1419                                                        }
1420                                                    ],
1421                                                    "error": "Expected a endpoint to be specified but no endpoint was found",
1422                                                    "type": "error"
1423                                                },
1424                                                {
1425                                                    "conditions": [
1426                                                        {
1427                                                            "fn": "isSet",
1428                                                            "argv": [
1429                                                                {
1430                                                                    "ref": "Endpoint"
1431                                                                }
1432                                                            ]
1433                                                        },
1434                                                        {
1435                                                            "fn": "parseURL",
1436                                                            "argv": [
1437                                                                {
1438                                                                    "ref": "Endpoint"
1439                                                                }
1440                                                            ],
1441                                                            "assign": "url"
1442                                                        }
1443                                                    ],
1444                                                    "endpoint": {
1445                                                        "url": "https://{Bucket}.op-{outpostId}.{url#authority}",
1446                                                        "properties": {
1447                                                            "authSchemes": [
1448                                                                {
1449                                                                    "disableDoubleEncoding": true,
1450                                                                    "name": "sigv4",
1451                                                                    "signingName": "s3-outposts",
1452                                                                    "signingRegion": "{Region}"
1453                                                                }
1454                                                            ]
1455                                                        },
1456                                                        "headers": {}
1457                                                    },
1458                                                    "type": "endpoint"
1459                                                }
1460                                            ],
1461                                            "type": "tree"
1462                                        },
1463                                        {
1464                                            "conditions": [],
1465                                            "endpoint": {
1466                                                "url": "https://{Bucket}.op-{outpostId}.s3-outposts.{Region}.{regionPartition#dnsSuffix}",
1467                                                "properties": {
1468                                                    "authSchemes": [
1469                                                        {
1470                                                            "disableDoubleEncoding": true,
1471                                                            "name": "sigv4",
1472                                                            "signingName": "s3-outposts",
1473                                                            "signingRegion": "{Region}"
1474                                                        }
1475                                                    ]
1476                                                },
1477                                                "headers": {}
1478                                            },
1479                                            "type": "endpoint"
1480                                        }
1481                                    ],
1482                                    "type": "tree"
1483                                },
1484                                {
1485                                    "conditions": [],
1486                                    "error": "Unrecognized hardware type: \"Expected hardware type o or e but got {hardwareType}\"",
1487                                    "type": "error"
1488                                }
1489                            ],
1490                            "type": "tree"
1491                        },
1492                        {
1493                            "conditions": [],
1494                            "error": "Invalid ARN: The outpost Id must only contain a-z, A-Z, 0-9 and `-`.",
1495                            "type": "error"
1496                        }
1497                    ],
1498                    "type": "tree"
1499                },
1500                {
1501                    "conditions": [
1502                        {
1503                            "fn": "isSet",
1504                            "argv": [
1505                                {
1506                                    "ref": "Bucket"
1507                                }
1508                            ]
1509                        }
1510                    ],
1511                    "rules": [
1512                        {
1513                            "conditions": [
1514                                {
1515                                    "fn": "isSet",
1516                                    "argv": [
1517                                        {
1518                                            "ref": "Endpoint"
1519                                        }
1520                                    ]
1521                                },
1522                                {
1523                                    "fn": "not",
1524                                    "argv": [
1525                                        {
1526                                            "fn": "isSet",
1527                                            "argv": [
1528                                                {
1529                                                    "fn": "parseURL",
1530                                                    "argv": [
1531                                                        {
1532                                                            "ref": "Endpoint"
1533                                                        }
1534                                                    ]
1535                                                }
1536                                            ]
1537                                        }
1538                                    ]
1539                                }
1540                            ],
1541                            "error": "Custom endpoint `{Endpoint}` was not a valid URI",
1542                            "type": "error"
1543                        },
1544                        {
1545                            "conditions": [
1546                                {
1547                                    "fn": "booleanEquals",
1548                                    "argv": [
1549                                        {
1550                                            "ref": "ForcePathStyle"
1551                                        },
1552                                        false
1553                                    ]
1554                                },
1555                                {
1556                                    "fn": "aws.isVirtualHostableS3Bucket",
1557                                    "argv": [
1558                                        {
1559                                            "ref": "Bucket"
1560                                        },
1561                                        false
1562                                    ]
1563                                }
1564                            ],
1565                            "rules": [
1566                                {
1567                                    "conditions": [
1568                                        {
1569                                            "fn": "aws.partition",
1570                                            "argv": [
1571                                                {
1572                                                    "ref": "Region"
1573                                                }
1574                                            ],
1575                                            "assign": "partitionResult"
1576                                        }
1577                                    ],
1578                                    "rules": [
1579                                        {
1580                                            "conditions": [
1581                                                {
1582                                                    "fn": "isValidHostLabel",
1583                                                    "argv": [
1584                                                        {
1585                                                            "ref": "Region"
1586                                                        },
1587                                                        false
1588                                                    ]
1589                                                }
1590                                            ],
1591                                            "rules": [
1592                                                {
1593                                                    "conditions": [
1594                                                        {
1595                                                            "fn": "booleanEquals",
1596                                                            "argv": [
1597                                                                {
1598                                                                    "ref": "Accelerate"
1599                                                                },
1600                                                                true
1601                                                            ]
1602                                                        },
1603                                                        {
1604                                                            "fn": "stringEquals",
1605                                                            "argv": [
1606                                                                {
1607                                                                    "fn": "getAttr",
1608                                                                    "argv": [
1609                                                                        {
1610                                                                            "ref": "partitionResult"
1611                                                                        },
1612                                                                        "name"
1613                                                                    ]
1614                                                                },
1615                                                                "aws-cn"
1616                                                            ]
1617                                                        }
1618                                                    ],
1619                                                    "error": "S3 Accelerate cannot be used in this region",
1620                                                    "type": "error"
1621                                                },
1622                                                {
1623                                                    "conditions": [
1624                                                        {
1625                                                            "fn": "booleanEquals",
1626                                                            "argv": [
1627                                                                {
1628                                                                    "ref": "UseDualStack"
1629                                                                },
1630                                                                true
1631                                                            ]
1632                                                        },
1633                                                        {
1634                                                            "fn": "booleanEquals",
1635                                                            "argv": [
1636                                                                {
1637                                                                    "ref": "UseFIPS"
1638                                                                },
1639                                                                true
1640                                                            ]
1641                                                        },
1642                                                        {
1643                                                            "fn": "booleanEquals",
1644                                                            "argv": [
1645                                                                {
1646                                                                    "ref": "Accelerate"
1647                                                                },
1648                                                                false
1649                                                            ]
1650                                                        },
1651                                                        {
1652                                                            "fn": "not",
1653                                                            "argv": [
1654                                                                {
1655                                                                    "fn": "isSet",
1656                                                                    "argv": [
1657                                                                        {
1658                                                                            "ref": "Endpoint"
1659                                                                        }
1660                                                                    ]
1661                                                                }
1662                                                            ]
1663                                                        },
1664                                                        {
1665                                                            "fn": "stringEquals",
1666                                                            "argv": [
1667                                                                {
1668                                                                    "ref": "Region"
1669                                                                },
1670                                                                "aws-global"
1671                                                            ]
1672                                                        }
1673                                                    ],
1674                                                    "endpoint": {
1675                                                        "url": "https://{Bucket}.s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",
1676                                                        "properties": {
1677                                                            "authSchemes": [
1678                                                                {
1679                                                                    "disableDoubleEncoding": true,
1680                                                                    "name": "sigv4",
1681                                                                    "signingName": "s3",
1682                                                                    "signingRegion": "us-east-1"
1683                                                                }
1684                                                            ]
1685                                                        },
1686                                                        "headers": {}
1687                                                    },
1688                                                    "type": "endpoint"
1689                                                },
1690                                                {
1691                                                    "conditions": [
1692                                                        {
1693                                                            "fn": "booleanEquals",
1694                                                            "argv": [
1695                                                                {
1696                                                                    "ref": "UseDualStack"
1697                                                                },
1698                                                                true
1699                                                            ]
1700                                                        },
1701                                                        {
1702                                                            "fn": "booleanEquals",
1703                                                            "argv": [
1704                                                                {
1705                                                                    "ref": "UseFIPS"
1706                                                                },
1707                                                                true
1708                                                            ]
1709                                                        },
1710                                                        {
1711                                                            "fn": "booleanEquals",
1712                                                            "argv": [
1713                                                                {
1714                                                                    "ref": "Accelerate"
1715                                                                },
1716                                                                false
1717                                                            ]
1718                                                        },
1719                                                        {
1720                                                            "fn": "not",
1721                                                            "argv": [
1722                                                                {
1723                                                                    "fn": "isSet",
1724                                                                    "argv": [
1725                                                                        {
1726                                                                            "ref": "Endpoint"
1727                                                                        }
1728                                                                    ]
1729                                                                }
1730                                                            ]
1731                                                        },
1732                                                        {
1733                                                            "fn": "not",
1734                                                            "argv": [
1735                                                                {
1736                                                                    "fn": "stringEquals",
1737                                                                    "argv": [
1738                                                                        {
1739                                                                            "ref": "Region"
1740                                                                        },
1741                                                                        "aws-global"
1742                                                                    ]
1743                                                                }
1744                                                            ]
1745                                                        },
1746                                                        {
1747                                                            "fn": "booleanEquals",
1748                                                            "argv": [
1749                                                                {
1750                                                                    "ref": "UseGlobalEndpoint"
1751                                                                },
1752                                                                true
1753                                                            ]
1754                                                        }
1755                                                    ],
1756                                                    "rules": [
1757                                                        {
1758                                                            "conditions": [],
1759                                                            "endpoint": {
1760                                                                "url": "https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",
1761                                                                "properties": {
1762                                                                    "authSchemes": [
1763                                                                        {
1764                                                                            "disableDoubleEncoding": true,
1765                                                                            "name": "sigv4",
1766                                                                            "signingName": "s3",
1767                                                                            "signingRegion": "{Region}"
1768                                                                        }
1769                                                                    ]
1770                                                                },
1771                                                                "headers": {}
1772                                                            },
1773                                                            "type": "endpoint"
1774                                                        }
1775                                                    ],
1776                                                    "type": "tree"
1777                                                },
1778                                                {
1779                                                    "conditions": [
1780                                                        {
1781                                                            "fn": "booleanEquals",
1782                                                            "argv": [
1783                                                                {
1784                                                                    "ref": "UseDualStack"
1785                                                                },
1786                                                                true
1787                                                            ]
1788                                                        },
1789                                                        {
1790                                                            "fn": "booleanEquals",
1791                                                            "argv": [
1792                                                                {
1793                                                                    "ref": "UseFIPS"
1794                                                                },
1795                                                                true
1796                                                            ]
1797                                                        },
1798                                                        {
1799                                                            "fn": "booleanEquals",
1800                                                            "argv": [
1801                                                                {
1802                                                                    "ref": "Accelerate"
1803                                                                },
1804                                                                false
1805                                                            ]
1806                                                        },
1807                                                        {
1808                                                            "fn": "not",
1809                                                            "argv": [
1810                                                                {
1811                                                                    "fn": "isSet",
1812                                                                    "argv": [
1813                                                                        {
1814                                                                            "ref": "Endpoint"
1815                                                                        }
1816                                                                    ]
1817                                                                }
1818                                                            ]
1819                                                        },
1820                                                        {
1821                                                            "fn": "not",
1822                                                            "argv": [
1823                                                                {
1824                                                                    "fn": "stringEquals",
1825                                                                    "argv": [
1826                                                                        {
1827                                                                            "ref": "Region"
1828                                                                        },
1829                                                                        "aws-global"
1830                                                                    ]
1831                                                                }
1832                                                            ]
1833                                                        },
1834                                                        {
1835                                                            "fn": "booleanEquals",
1836                                                            "argv": [
1837                                                                {
1838                                                                    "ref": "UseGlobalEndpoint"
1839                                                                },
1840                                                                false
1841                                                            ]
1842                                                        }
1843                                                    ],
1844                                                    "endpoint": {
1845                                                        "url": "https://{Bucket}.s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",
1846                                                        "properties": {
1847                                                            "authSchemes": [
1848                                                                {
1849                                                                    "disableDoubleEncoding": true,
1850                                                                    "name": "sigv4",
1851                                                                    "signingName": "s3",
1852                                                                    "signingRegion": "{Region}"
1853                                                                }
1854                                                            ]
1855                                                        },
1856                                                        "headers": {}
1857                                                    },
1858                                                    "type": "endpoint"
1859                                                },
1860                                                {
1861                                                    "conditions": [
1862                                                        {
1863                                                            "fn": "booleanEquals",
1864                                                            "argv": [
1865                                                                {
1866                                                                    "ref": "UseDualStack"
1867                                                                },
1868                                                                false
1869                                                            ]
1870                                                        },
1871                                                        {
1872                                                            "fn": "booleanEquals",
1873                                                            "argv": [
1874                                                                {
1875                                                                    "ref": "UseFIPS"
1876                                                                },
1877                                                                true
1878                                                            ]
1879                                                        },
1880                                                        {
1881                                                            "fn": "booleanEquals",
1882                                                            "argv": [
1883                                                                {
1884                                                                    "ref": "Accelerate"
1885                                                                },
1886                                                                false
1887                                                            ]
1888                                                        },
1889                                                        {
1890                                                            "fn": "not",
1891                                                            "argv": [
1892                                                                {
1893                                                                    "fn": "isSet",
1894                                                                    "argv": [
1895                                                                        {
1896                                                                            "ref": "Endpoint"
1897                                                                        }
1898                                                                    ]
1899                                                                }
1900                                                            ]
1901                                                        },
1902                                                        {
1903                                                            "fn": "stringEquals",
1904                                                            "argv": [
1905                                                                {
1906                                                                    "ref": "Region"
1907                                                                },
1908                                                                "aws-global"
1909                                                            ]
1910                                                        }
1911                                                    ],
1912                                                    "endpoint": {
1913                                                        "url": "https://{Bucket}.s3-fips.us-east-1.{partitionResult#dnsSuffix}",
1914                                                        "properties": {
1915                                                            "authSchemes": [
1916                                                                {
1917                                                                    "disableDoubleEncoding": true,
1918                                                                    "name": "sigv4",
1919                                                                    "signingName": "s3",
1920                                                                    "signingRegion": "us-east-1"
1921                                                                }
1922                                                            ]
1923                                                        },
1924                                                        "headers": {}
1925                                                    },
1926                                                    "type": "endpoint"
1927                                                },
1928                                                {
1929                                                    "conditions": [
1930                                                        {
1931                                                            "fn": "booleanEquals",
1932                                                            "argv": [
1933                                                                {
1934                                                                    "ref": "UseDualStack"
1935                                                                },
1936                                                                false
1937                                                            ]
1938                                                        },
1939                                                        {
1940                                                            "fn": "booleanEquals",
1941                                                            "argv": [
1942                                                                {
1943                                                                    "ref": "UseFIPS"
1944                                                                },
1945                                                                true
1946                                                            ]
1947                                                        },
1948                                                        {
1949                                                            "fn": "booleanEquals",
1950                                                            "argv": [
1951                                                                {
1952                                                                    "ref": "Accelerate"
1953                                                                },
1954                                                                false
1955                                                            ]
1956                                                        },
1957                                                        {
1958                                                            "fn": "not",
1959                                                            "argv": [
1960                                                                {
1961                                                                    "fn": "isSet",
1962                                                                    "argv": [
1963                                                                        {
1964                                                                            "ref": "Endpoint"
1965                                                                        }
1966                                                                    ]
1967                                                                }
1968                                                            ]
1969                                                        },
1970                                                        {
1971                                                            "fn": "not",
1972                                                            "argv": [
1973                                                                {
1974                                                                    "fn": "stringEquals",
1975                                                                    "argv": [
1976                                                                        {
1977                                                                            "ref": "Region"
1978                                                                        },
1979                                                                        "aws-global"
1980                                                                    ]
1981                                                                }
1982                                                            ]
1983                                                        },
1984                                                        {
1985                                                            "fn": "booleanEquals",
1986                                                            "argv": [
1987                                                                {
1988                                                                    "ref": "UseGlobalEndpoint"
1989                                                                },
1990                                                                true
1991                                                            ]
1992                                                        }
1993                                                    ],
1994                                                    "rules": [
1995                                                        {
1996                                                            "conditions": [],
1997                                                            "endpoint": {
1998                                                                "url": "https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",
1999                                                                "properties": {
2000                                                                    "authSchemes": [
2001                                                                        {
2002                                                                            "disableDoubleEncoding": true,
2003                                                                            "name": "sigv4",
2004                                                                            "signingName": "s3",
2005                                                                            "signingRegion": "{Region}"
2006                                                                        }
2007                                                                    ]
2008                                                                },
2009                                                                "headers": {}
2010                                                            },
2011                                                            "type": "endpoint"
2012                                                        }
2013                                                    ],
2014                                                    "type": "tree"
2015                                                },
2016                                                {
2017                                                    "conditions": [
2018                                                        {
2019                                                            "fn": "booleanEquals",
2020                                                            "argv": [
2021                                                                {
2022                                                                    "ref": "UseDualStack"
2023                                                                },
2024                                                                false
2025                                                            ]
2026                                                        },
2027                                                        {
2028                                                            "fn": "booleanEquals",
2029                                                            "argv": [
2030                                                                {
2031                                                                    "ref": "UseFIPS"
2032                                                                },
2033                                                                true
2034                                                            ]
2035                                                        },
2036                                                        {
2037                                                            "fn": "booleanEquals",
2038                                                            "argv": [
2039                                                                {
2040                                                                    "ref": "Accelerate"
2041                                                                },
2042                                                                false
2043                                                            ]
2044                                                        },
2045                                                        {
2046                                                            "fn": "not",
2047                                                            "argv": [
2048                                                                {
2049                                                                    "fn": "isSet",
2050                                                                    "argv": [
2051                                                                        {
2052                                                                            "ref": "Endpoint"
2053                                                                        }
2054                                                                    ]
2055                                                                }
2056                                                            ]
2057                                                        },
2058                                                        {
2059                                                            "fn": "not",
2060                                                            "argv": [
2061                                                                {
2062                                                                    "fn": "stringEquals",
2063                                                                    "argv": [
2064                                                                        {
2065                                                                            "ref": "Region"
2066                                                                        },
2067                                                                        "aws-global"
2068                                                                    ]
2069                                                                }
2070                                                            ]
2071                                                        },
2072                                                        {
2073                                                            "fn": "booleanEquals",
2074                                                            "argv": [
2075                                                                {
2076                                                                    "ref": "UseGlobalEndpoint"
2077                                                                },
2078                                                                false
2079                                                            ]
2080                                                        }
2081                                                    ],
2082                                                    "endpoint": {
2083                                                        "url": "https://{Bucket}.s3-fips.{Region}.{partitionResult#dnsSuffix}",
2084                                                        "properties": {
2085                                                            "authSchemes": [
2086                                                                {
2087                                                                    "disableDoubleEncoding": true,
2088                                                                    "name": "sigv4",
2089                                                                    "signingName": "s3",
2090                                                                    "signingRegion": "{Region}"
2091                                                                }
2092                                                            ]
2093                                                        },
2094                                                        "headers": {}
2095                                                    },
2096                                                    "type": "endpoint"
2097                                                },
2098                                                {
2099                                                    "conditions": [
2100                                                        {
2101                                                            "fn": "booleanEquals",
2102                                                            "argv": [
2103                                                                {
2104                                                                    "ref": "UseDualStack"
2105                                                                },
2106                                                                true
2107                                                            ]
2108                                                        },
2109                                                        {
2110                                                            "fn": "booleanEquals",
2111                                                            "argv": [
2112                                                                {
2113                                                                    "ref": "UseFIPS"
2114                                                                },
2115                                                                false
2116                                                            ]
2117                                                        },
2118                                                        {
2119                                                            "fn": "booleanEquals",
2120                                                            "argv": [
2121                                                                {
2122                                                                    "ref": "Accelerate"
2123                                                                },
2124                                                                true
2125                                                            ]
2126                                                        },
2127                                                        {
2128                                                            "fn": "not",
2129                                                            "argv": [
2130                                                                {
2131                                                                    "fn": "isSet",
2132                                                                    "argv": [
2133                                                                        {
2134                                                                            "ref": "Endpoint"
2135                                                                        }
2136                                                                    ]
2137                                                                }
2138                                                            ]
2139                                                        },
2140                                                        {
2141                                                            "fn": "stringEquals",
2142                                                            "argv": [
2143                                                                {
2144                                                                    "ref": "Region"
2145                                                                },
2146                                                                "aws-global"
2147                                                            ]
2148                                                        }
2149                                                    ],
2150                                                    "endpoint": {
2151                                                        "url": "https://{Bucket}.s3-accelerate.dualstack.us-east-1.{partitionResult#dnsSuffix}",
2152                                                        "properties": {
2153                                                            "authSchemes": [
2154                                                                {
2155                                                                    "disableDoubleEncoding": true,
2156                                                                    "name": "sigv4",
2157                                                                    "signingName": "s3",
2158                                                                    "signingRegion": "us-east-1"
2159                                                                }
2160                                                            ]
2161                                                        },
2162                                                        "headers": {}
2163                                                    },
2164                                                    "type": "endpoint"
2165                                                },
2166                                                {
2167                                                    "conditions": [
2168                                                        {
2169                                                            "fn": "booleanEquals",
2170                                                            "argv": [
2171                                                                {
2172                                                                    "ref": "UseDualStack"
2173                                                                },
2174                                                                true
2175                                                            ]
2176                                                        },
2177                                                        {
2178                                                            "fn": "booleanEquals",
2179                                                            "argv": [
2180                                                                {
2181                                                                    "ref": "UseFIPS"
2182                                                                },
2183                                                                false
2184                                                            ]
2185                                                        },
2186                                                        {
2187                                                            "fn": "booleanEquals",
2188                                                            "argv": [
2189                                                                {
2190                                                                    "ref": "Accelerate"
2191                                                                },
2192                                                                true
2193                                                            ]
2194                                                        },
2195                                                        {
2196                                                            "fn": "not",
2197                                                            "argv": [
2198                                                                {
2199                                                                    "fn": "isSet",
2200                                                                    "argv": [
2201                                                                        {
2202                                                                            "ref": "Endpoint"
2203                                                                        }
2204                                                                    ]
2205                                                                }
2206                                                            ]
2207                                                        },
2208                                                        {
2209                                                            "fn": "not",
2210                                                            "argv": [
2211                                                                {
2212                                                                    "fn": "stringEquals",
2213                                                                    "argv": [
2214                                                                        {
2215                                                                            "ref": "Region"
2216                                                                        },
2217                                                                        "aws-global"
2218                                                                    ]
2219                                                                }
2220                                                            ]
2221                                                        },
2222                                                        {
2223                                                            "fn": "booleanEquals",
2224                                                            "argv": [
2225                                                                {
2226                                                                    "ref": "UseGlobalEndpoint"
2227                                                                },
2228                                                                true
2229                                                            ]
2230                                                        }
2231                                                    ],
2232                                                    "rules": [
2233                                                        {
2234                                                            "conditions": [],
2235                                                            "endpoint": {
2236                                                                "url": "https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",
2237                                                                "properties": {
2238                                                                    "authSchemes": [
2239                                                                        {
2240                                                                            "disableDoubleEncoding": true,
2241                                                                            "name": "sigv4",
2242                                                                            "signingName": "s3",
2243                                                                            "signingRegion": "{Region}"
2244                                                                        }
2245                                                                    ]
2246                                                                },
2247                                                                "headers": {}
2248                                                            },
2249                                                            "type": "endpoint"
2250                                                        }
2251                                                    ],
2252                                                    "type": "tree"
2253                                                },
2254                                                {
2255                                                    "conditions": [
2256                                                        {
2257                                                            "fn": "booleanEquals",
2258                                                            "argv": [
2259                                                                {
2260                                                                    "ref": "UseDualStack"
2261                                                                },
2262                                                                true
2263                                                            ]
2264                                                        },
2265                                                        {
2266                                                            "fn": "booleanEquals",
2267                                                            "argv": [
2268                                                                {
2269                                                                    "ref": "UseFIPS"
2270                                                                },
2271                                                                false
2272                                                            ]
2273                                                        },
2274                                                        {
2275                                                            "fn": "booleanEquals",
2276                                                            "argv": [
2277                                                                {
2278                                                                    "ref": "Accelerate"
2279                                                                },
2280                                                                true
2281                                                            ]
2282                                                        },
2283                                                        {
2284                                                            "fn": "not",
2285                                                            "argv": [
2286                                                                {
2287                                                                    "fn": "isSet",
2288                                                                    "argv": [
2289                                                                        {
2290                                                                            "ref": "Endpoint"
2291                                                                        }
2292                                                                    ]
2293                                                                }
2294                                                            ]
2295                                                        },
2296                                                        {
2297                                                            "fn": "not",
2298                                                            "argv": [
2299                                                                {
2300                                                                    "fn": "stringEquals",
2301                                                                    "argv": [
2302                                                                        {
2303                                                                            "ref": "Region"
2304                                                                        },
2305                                                                        "aws-global"
2306                                                                    ]
2307                                                                }
2308                                                            ]
2309                                                        },
2310                                                        {
2311                                                            "fn": "booleanEquals",
2312                                                            "argv": [
2313                                                                {
2314                                                                    "ref": "UseGlobalEndpoint"
2315                                                                },
2316                                                                false
2317                                                            ]
2318                                                        }
2319                                                    ],
2320                                                    "endpoint": {
2321                                                        "url": "https://{Bucket}.s3-accelerate.dualstack.{partitionResult#dnsSuffix}",
2322                                                        "properties": {
2323                                                            "authSchemes": [
2324                                                                {
2325                                                                    "disableDoubleEncoding": true,
2326                                                                    "name": "sigv4",
2327                                                                    "signingName": "s3",
2328                                                                    "signingRegion": "{Region}"
2329                                                                }
2330                                                            ]
2331                                                        },
2332                                                        "headers": {}
2333                                                    },
2334                                                    "type": "endpoint"
2335                                                },
2336                                                {
2337                                                    "conditions": [
2338                                                        {
2339                                                            "fn": "booleanEquals",
2340                                                            "argv": [
2341                                                                {
2342                                                                    "ref": "UseDualStack"
2343                                                                },
2344                                                                true
2345                                                            ]
2346                                                        },
2347                                                        {
2348                                                            "fn": "booleanEquals",
2349                                                            "argv": [
2350                                                                {
2351                                                                    "ref": "UseFIPS"
2352                                                                },
2353                                                                false
2354                                                            ]
2355                                                        },
2356                                                        {
2357                                                            "fn": "booleanEquals",
2358                                                            "argv": [
2359                                                                {
2360                                                                    "ref": "Accelerate"
2361                                                                },
2362                                                                false
2363                                                            ]
2364                                                        },
2365                                                        {
2366                                                            "fn": "not",
2367                                                            "argv": [
2368                                                                {
2369                                                                    "fn": "isSet",
2370                                                                    "argv": [
2371                                                                        {
2372                                                                            "ref": "Endpoint"
2373                                                                        }
2374                                                                    ]
2375                                                                }
2376                                                            ]
2377                                                        },
2378                                                        {
2379                                                            "fn": "stringEquals",
2380                                                            "argv": [
2381                                                                {
2382                                                                    "ref": "Region"
2383                                                                },
2384                                                                "aws-global"
2385                                                            ]
2386                                                        }
2387                                                    ],
2388                                                    "endpoint": {
2389                                                        "url": "https://{Bucket}.s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",
2390                                                        "properties": {
2391                                                            "authSchemes": [
2392                                                                {
2393                                                                    "disableDoubleEncoding": true,
2394                                                                    "name": "sigv4",
2395                                                                    "signingName": "s3",
2396                                                                    "signingRegion": "us-east-1"
2397                                                                }
2398                                                            ]
2399                                                        },
2400                                                        "headers": {}
2401                                                    },
2402                                                    "type": "endpoint"
2403                                                },
2404                                                {
2405                                                    "conditions": [
2406                                                        {
2407                                                            "fn": "booleanEquals",
2408                                                            "argv": [
2409                                                                {
2410                                                                    "ref": "UseDualStack"
2411                                                                },
2412                                                                true
2413                                                            ]
2414                                                        },
2415                                                        {
2416                                                            "fn": "booleanEquals",
2417                                                            "argv": [
2418                                                                {
2419                                                                    "ref": "UseFIPS"
2420                                                                },
2421                                                                false
2422                                                            ]
2423                                                        },
2424                                                        {
2425                                                            "fn": "booleanEquals",
2426                                                            "argv": [
2427                                                                {
2428                                                                    "ref": "Accelerate"
2429                                                                },
2430                                                                false
2431                                                            ]
2432                                                        },
2433                                                        {
2434                                                            "fn": "not",
2435                                                            "argv": [
2436                                                                {
2437                                                                    "fn": "isSet",
2438                                                                    "argv": [
2439                                                                        {
2440                                                                            "ref": "Endpoint"
2441                                                                        }
2442                                                                    ]
2443                                                                }
2444                                                            ]
2445                                                        },
2446                                                        {
2447                                                            "fn": "not",
2448                                                            "argv": [
2449                                                                {
2450                                                                    "fn": "stringEquals",
2451                                                                    "argv": [
2452                                                                        {
2453                                                                            "ref": "Region"
2454                                                                        },
2455                                                                        "aws-global"
2456                                                                    ]
2457                                                                }
2458                                                            ]
2459                                                        },
2460                                                        {
2461                                                            "fn": "booleanEquals",
2462                                                            "argv": [
2463                                                                {
2464                                                                    "ref": "UseGlobalEndpoint"
2465                                                                },
2466                                                                true
2467                                                            ]
2468                                                        }
2469                                                    ],
2470                                                    "rules": [
2471                                                        {
2472                                                            "conditions": [],
2473                                                            "endpoint": {
2474                                                                "url": "https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",
2475                                                                "properties": {
2476                                                                    "authSchemes": [
2477                                                                        {
2478                                                                            "disableDoubleEncoding": true,
2479                                                                            "name": "sigv4",
2480                                                                            "signingName": "s3",
2481                                                                            "signingRegion": "{Region}"
2482                                                                        }
2483                                                                    ]
2484                                                                },
2485                                                                "headers": {}
2486                                                            },
2487                                                            "type": "endpoint"
2488                                                        }
2489                                                    ],
2490                                                    "type": "tree"
2491                                                },
2492                                                {
2493                                                    "conditions": [
2494                                                        {
2495                                                            "fn": "booleanEquals",
2496                                                            "argv": [
2497                                                                {
2498                                                                    "ref": "UseDualStack"
2499                                                                },
2500                                                                true
2501                                                            ]
2502                                                        },
2503                                                        {
2504                                                            "fn": "booleanEquals",
2505                                                            "argv": [
2506                                                                {
2507                                                                    "ref": "UseFIPS"
2508                                                                },
2509                                                                false
2510                                                            ]
2511                                                        },
2512                                                        {
2513                                                            "fn": "booleanEquals",
2514                                                            "argv": [
2515                                                                {
2516                                                                    "ref": "Accelerate"
2517                                                                },
2518                                                                false
2519                                                            ]
2520                                                        },
2521                                                        {
2522                                                            "fn": "not",
2523                                                            "argv": [
2524                                                                {
2525                                                                    "fn": "isSet",
2526                                                                    "argv": [
2527                                                                        {
2528                                                                            "ref": "Endpoint"
2529                                                                        }
2530                                                                    ]
2531                                                                }
2532                                                            ]
2533                                                        },
2534                                                        {
2535                                                            "fn": "not",
2536                                                            "argv": [
2537                                                                {
2538                                                                    "fn": "stringEquals",
2539                                                                    "argv": [
2540                                                                        {
2541                                                                            "ref": "Region"
2542                                                                        },
2543                                                                        "aws-global"
2544                                                                    ]
2545                                                                }
2546                                                            ]
2547                                                        },
2548                                                        {
2549                                                            "fn": "booleanEquals",
2550                                                            "argv": [
2551                                                                {
2552                                                                    "ref": "UseGlobalEndpoint"
2553                                                                },
2554                                                                false
2555                                                            ]
2556                                                        }
2557                                                    ],
2558                                                    "endpoint": {
2559                                                        "url": "https://{Bucket}.s3.dualstack.{Region}.{partitionResult#dnsSuffix}",
2560                                                        "properties": {
2561                                                            "authSchemes": [
2562                                                                {
2563                                                                    "disableDoubleEncoding": true,
2564                                                                    "name": "sigv4",
2565                                                                    "signingName": "s3",
2566                                                                    "signingRegion": "{Region}"
2567                                                                }
2568                                                            ]
2569                                                        },
2570                                                        "headers": {}
2571                                                    },
2572                                                    "type": "endpoint"
2573                                                },
2574                                                {
2575                                                    "conditions": [
2576                                                        {
2577                                                            "fn": "booleanEquals",
2578                                                            "argv": [
2579                                                                {
2580                                                                    "ref": "UseDualStack"
2581                                                                },
2582                                                                false
2583                                                            ]
2584                                                        },
2585                                                        {
2586                                                            "fn": "booleanEquals",
2587                                                            "argv": [
2588                                                                {
2589                                                                    "ref": "UseFIPS"
2590                                                                },
2591                                                                false
2592                                                            ]
2593                                                        },
2594                                                        {
2595                                                            "fn": "booleanEquals",
2596                                                            "argv": [
2597                                                                {
2598                                                                    "ref": "Accelerate"
2599                                                                },
2600                                                                false
2601                                                            ]
2602                                                        },
2603                                                        {
2604                                                            "fn": "isSet",
2605                                                            "argv": [
2606                                                                {
2607                                                                    "ref": "Endpoint"
2608                                                                }
2609                                                            ]
2610                                                        },
2611                                                        {
2612                                                            "fn": "parseURL",
2613                                                            "argv": [
2614                                                                {
2615                                                                    "ref": "Endpoint"
2616                                                                }
2617                                                            ],
2618                                                            "assign": "url"
2619                                                        },
2620                                                        {
2621                                                            "fn": "booleanEquals",
2622                                                            "argv": [
2623                                                                {
2624                                                                    "fn": "getAttr",
2625                                                                    "argv": [
2626                                                                        {
2627                                                                            "ref": "url"
2628                                                                        },
2629                                                                        "isIp"
2630                                                                    ]
2631                                                                },
2632                                                                true
2633                                                            ]
2634                                                        },
2635                                                        {
2636                                                            "fn": "stringEquals",
2637                                                            "argv": [
2638                                                                {
2639                                                                    "ref": "Region"
2640                                                                },
2641                                                                "aws-global"
2642                                                            ]
2643                                                        }
2644                                                    ],
2645                                                    "endpoint": {
2646                                                        "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",
2647                                                        "properties": {
2648                                                            "authSchemes": [
2649                                                                {
2650                                                                    "disableDoubleEncoding": true,
2651                                                                    "name": "sigv4",
2652                                                                    "signingName": "s3",
2653                                                                    "signingRegion": "us-east-1"
2654                                                                }
2655                                                            ]
2656                                                        },
2657                                                        "headers": {}
2658                                                    },
2659                                                    "type": "endpoint"
2660                                                },
2661                                                {
2662                                                    "conditions": [
2663                                                        {
2664                                                            "fn": "booleanEquals",
2665                                                            "argv": [
2666                                                                {
2667                                                                    "ref": "UseDualStack"
2668                                                                },
2669                                                                false
2670                                                            ]
2671                                                        },
2672                                                        {
2673                                                            "fn": "booleanEquals",
2674                                                            "argv": [
2675                                                                {
2676                                                                    "ref": "UseFIPS"
2677                                                                },
2678                                                                false
2679                                                            ]
2680                                                        },
2681                                                        {
2682                                                            "fn": "booleanEquals",
2683                                                            "argv": [
2684                                                                {
2685                                                                    "ref": "Accelerate"
2686                                                                },
2687                                                                false
2688                                                            ]
2689                                                        },
2690                                                        {
2691                                                            "fn": "isSet",
2692                                                            "argv": [
2693                                                                {
2694                                                                    "ref": "Endpoint"
2695                                                                }
2696                                                            ]
2697                                                        },
2698                                                        {
2699                                                            "fn": "parseURL",
2700                                                            "argv": [
2701                                                                {
2702                                                                    "ref": "Endpoint"
2703                                                                }
2704                                                            ],
2705                                                            "assign": "url"
2706                                                        },
2707                                                        {
2708                                                            "fn": "booleanEquals",
2709                                                            "argv": [
2710                                                                {
2711                                                                    "fn": "getAttr",
2712                                                                    "argv": [
2713                                                                        {
2714                                                                            "ref": "url"
2715                                                                        },
2716                                                                        "isIp"
2717                                                                    ]
2718                                                                },
2719                                                                false
2720                                                            ]
2721                                                        },
2722                                                        {
2723                                                            "fn": "stringEquals",
2724                                                            "argv": [
2725                                                                {
2726                                                                    "ref": "Region"
2727                                                                },
2728                                                                "aws-global"
2729                                                            ]
2730                                                        }
2731                                                    ],
2732                                                    "endpoint": {
2733                                                        "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}",
2734                                                        "properties": {
2735                                                            "authSchemes": [
2736                                                                {
2737                                                                    "disableDoubleEncoding": true,
2738                                                                    "name": "sigv4",
2739                                                                    "signingName": "s3",
2740                                                                    "signingRegion": "us-east-1"
2741                                                                }
2742                                                            ]
2743                                                        },
2744                                                        "headers": {}
2745                                                    },
2746                                                    "type": "endpoint"
2747                                                },
2748                                                {
2749                                                    "conditions": [
2750                                                        {
2751                                                            "fn": "booleanEquals",
2752                                                            "argv": [
2753                                                                {
2754                                                                    "ref": "UseDualStack"
2755                                                                },
2756                                                                false
2757                                                            ]
2758                                                        },
2759                                                        {
2760                                                            "fn": "booleanEquals",
2761                                                            "argv": [
2762                                                                {
2763                                                                    "ref": "UseFIPS"
2764                                                                },
2765                                                                false
2766                                                            ]
2767                                                        },
2768                                                        {
2769                                                            "fn": "booleanEquals",
2770                                                            "argv": [
2771                                                                {
2772                                                                    "ref": "Accelerate"
2773                                                                },
2774                                                                false
2775                                                            ]
2776                                                        },
2777                                                        {
2778                                                            "fn": "isSet",
2779                                                            "argv": [
2780                                                                {
2781                                                                    "ref": "Endpoint"
2782                                                                }
2783                                                            ]
2784                                                        },
2785                                                        {
2786                                                            "fn": "parseURL",
2787                                                            "argv": [
2788                                                                {
2789                                                                    "ref": "Endpoint"
2790                                                                }
2791                                                            ],
2792                                                            "assign": "url"
2793                                                        },
2794                                                        {
2795                                                            "fn": "booleanEquals",
2796                                                            "argv": [
2797                                                                {
2798                                                                    "fn": "getAttr",
2799                                                                    "argv": [
2800                                                                        {
2801                                                                            "ref": "url"
2802                                                                        },
2803                                                                        "isIp"
2804                                                                    ]
2805                                                                },
2806                                                                true
2807                                                            ]
2808                                                        },
2809                                                        {
2810                                                            "fn": "not",
2811                                                            "argv": [
2812                                                                {
2813                                                                    "fn": "stringEquals",
2814                                                                    "argv": [
2815                                                                        {
2816                                                                            "ref": "Region"
2817                                                                        },
2818                                                                        "aws-global"
2819                                                                    ]
2820                                                                }
2821                                                            ]
2822                                                        },
2823                                                        {
2824                                                            "fn": "booleanEquals",
2825                                                            "argv": [
2826                                                                {
2827                                                                    "ref": "UseGlobalEndpoint"
2828                                                                },
2829                                                                true
2830                                                            ]
2831                                                        }
2832                                                    ],
2833                                                    "rules": [
2834                                                        {
2835                                                            "conditions": [
2836                                                                {
2837                                                                    "fn": "stringEquals",
2838                                                                    "argv": [
2839                                                                        {
2840                                                                            "ref": "Region"
2841                                                                        },
2842                                                                        "us-east-1"
2843                                                                    ]
2844                                                                }
2845                                                            ],
2846                                                            "endpoint": {
2847                                                                "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",
2848                                                                "properties": {
2849                                                                    "authSchemes": [
2850                                                                        {
2851                                                                            "disableDoubleEncoding": true,
2852                                                                            "name": "sigv4",
2853                                                                            "signingName": "s3",
2854                                                                            "signingRegion": "{Region}"
2855                                                                        }
2856                                                                    ]
2857                                                                },
2858                                                                "headers": {}
2859                                                            },
2860                                                            "type": "endpoint"
2861                                                        },
2862                                                        {
2863                                                            "conditions": [],
2864                                                            "endpoint": {
2865                                                                "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",
2866                                                                "properties": {
2867                                                                    "authSchemes": [
2868                                                                        {
2869                                                                            "disableDoubleEncoding": true,
2870                                                                            "name": "sigv4",
2871                                                                            "signingName": "s3",
2872                                                                            "signingRegion": "{Region}"
2873                                                                        }
2874                                                                    ]
2875                                                                },
2876                                                                "headers": {}
2877                                                            },
2878                                                            "type": "endpoint"
2879                                                        }
2880                                                    ],
2881                                                    "type": "tree"
2882                                                },
2883                                                {
2884                                                    "conditions": [
2885                                                        {
2886                                                            "fn": "booleanEquals",
2887                                                            "argv": [
2888                                                                {
2889                                                                    "ref": "UseDualStack"
2890                                                                },
2891                                                                false
2892                                                            ]
2893                                                        },
2894                                                        {
2895                                                            "fn": "booleanEquals",
2896                                                            "argv": [
2897                                                                {
2898                                                                    "ref": "UseFIPS"
2899                                                                },
2900                                                                false
2901                                                            ]
2902                                                        },
2903                                                        {
2904                                                            "fn": "booleanEquals",
2905                                                            "argv": [
2906                                                                {
2907                                                                    "ref": "Accelerate"
2908                                                                },
2909                                                                false
2910                                                            ]
2911                                                        },
2912                                                        {
2913                                                            "fn": "isSet",
2914                                                            "argv": [
2915                                                                {
2916                                                                    "ref": "Endpoint"
2917                                                                }
2918                                                            ]
2919                                                        },
2920                                                        {
2921                                                            "fn": "parseURL",
2922                                                            "argv": [
2923                                                                {
2924                                                                    "ref": "Endpoint"
2925                                                                }
2926                                                            ],
2927                                                            "assign": "url"
2928                                                        },
2929                                                        {
2930                                                            "fn": "booleanEquals",
2931                                                            "argv": [
2932                                                                {
2933                                                                    "fn": "getAttr",
2934                                                                    "argv": [
2935                                                                        {
2936                                                                            "ref": "url"
2937                                                                        },
2938                                                                        "isIp"
2939                                                                    ]
2940                                                                },
2941                                                                false
2942                                                            ]
2943                                                        },
2944                                                        {
2945                                                            "fn": "not",
2946                                                            "argv": [
2947                                                                {
2948                                                                    "fn": "stringEquals",
2949                                                                    "argv": [
2950                                                                        {
2951                                                                            "ref": "Region"
2952                                                                        },
2953                                                                        "aws-global"
2954                                                                    ]
2955                                                                }
2956                                                            ]
2957                                                        },
2958                                                        {
2959                                                            "fn": "booleanEquals",
2960                                                            "argv": [
2961                                                                {
2962                                                                    "ref": "UseGlobalEndpoint"
2963                                                                },
2964                                                                true
2965                                                            ]
2966                                                        }
2967                                                    ],
2968                                                    "rules": [
2969                                                        {
2970                                                            "conditions": [
2971                                                                {
2972                                                                    "fn": "stringEquals",
2973                                                                    "argv": [
2974                                                                        {
2975                                                                            "ref": "Region"
2976                                                                        },
2977                                                                        "us-east-1"
2978                                                                    ]
2979                                                                }
2980                                                            ],
2981                                                            "endpoint": {
2982                                                                "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}",
2983                                                                "properties": {
2984                                                                    "authSchemes": [
2985                                                                        {
2986                                                                            "disableDoubleEncoding": true,
2987                                                                            "name": "sigv4",
2988                                                                            "signingName": "s3",
2989                                                                            "signingRegion": "{Region}"
2990                                                                        }
2991                                                                    ]
2992                                                                },
2993                                                                "headers": {}
2994                                                            },
2995                                                            "type": "endpoint"
2996                                                        },
2997                                                        {
2998                                                            "conditions": [],
2999                                                            "endpoint": {
3000                                                                "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}",
3001                                                                "properties": {
3002                                                                    "authSchemes": [
3003                                                                        {
3004                                                                            "disableDoubleEncoding": true,
3005                                                                            "name": "sigv4",
3006                                                                            "signingName": "s3",
3007                                                                            "signingRegion": "{Region}"
3008                                                                        }
3009                                                                    ]
3010                                                                },
3011                                                                "headers": {}
3012                                                            },
3013                                                            "type": "endpoint"
3014                                                        }
3015                                                    ],
3016                                                    "type": "tree"
3017                                                },
3018                                                {
3019                                                    "conditions": [
3020                                                        {
3021                                                            "fn": "booleanEquals",
3022                                                            "argv": [
3023                                                                {
3024                                                                    "ref": "UseDualStack"
3025                                                                },
3026                                                                false
3027                                                            ]
3028                                                        },
3029                                                        {
3030                                                            "fn": "booleanEquals",
3031                                                            "argv": [
3032                                                                {
3033                                                                    "ref": "UseFIPS"
3034                                                                },
3035                                                                false
3036                                                            ]
3037                                                        },
3038                                                        {
3039                                                            "fn": "booleanEquals",
3040                                                            "argv": [
3041                                                                {
3042                                                                    "ref": "Accelerate"
3043                                                                },
3044                                                                false
3045                                                            ]
3046                                                        },
3047                                                        {
3048                                                            "fn": "isSet",
3049                                                            "argv": [
3050                                                                {
3051                                                                    "ref": "Endpoint"
3052                                                                }
3053                                                            ]
3054                                                        },
3055                                                        {
3056                                                            "fn": "parseURL",
3057                                                            "argv": [
3058                                                                {
3059                                                                    "ref": "Endpoint"
3060                                                                }
3061                                                            ],
3062                                                            "assign": "url"
3063                                                        },
3064                                                        {
3065                                                            "fn": "booleanEquals",
3066                                                            "argv": [
3067                                                                {
3068                                                                    "fn": "getAttr",
3069                                                                    "argv": [
3070                                                                        {
3071                                                                            "ref": "url"
3072                                                                        },
3073                                                                        "isIp"
3074                                                                    ]
3075                                                                },
3076                                                                true
3077                                                            ]
3078                                                        },
3079                                                        {
3080                                                            "fn": "not",
3081                                                            "argv": [
3082                                                                {
3083                                                                    "fn": "stringEquals",
3084                                                                    "argv": [
3085                                                                        {
3086                                                                            "ref": "Region"
3087                                                                        },
3088                                                                        "aws-global"
3089                                                                    ]
3090                                                                }
3091                                                            ]
3092                                                        },
3093                                                        {
3094                                                            "fn": "booleanEquals",
3095                                                            "argv": [
3096                                                                {
3097                                                                    "ref": "UseGlobalEndpoint"
3098                                                                },
3099                                                                false
3100                                                            ]
3101                                                        }
3102                                                    ],
3103                                                    "endpoint": {
3104                                                        "url": "{url#scheme}://{url#authority}{url#normalizedPath}{Bucket}",
3105                                                        "properties": {
3106                                                            "authSchemes": [
3107                                                                {
3108                                                                    "disableDoubleEncoding": true,
3109                                                                    "name": "sigv4",
3110                                                                    "signingName": "s3",
3111                                                                    "signingRegion": "{Region}"
3112                                                                }
3113                                                            ]
3114                                                        },
3115                                                        "headers": {}
3116                                                    },
3117                                                    "type": "endpoint"
3118                                                },
3119                                                {
3120                                                    "conditions": [
3121                                                        {
3122                                                            "fn": "booleanEquals",
3123                                                            "argv": [
3124                                                                {
3125                                                                    "ref": "UseDualStack"
3126                                                                },
3127                                                                false
3128                                                            ]
3129                                                        },
3130                                                        {
3131                                                            "fn": "booleanEquals",
3132                                                            "argv": [
3133                                                                {
3134                                                                    "ref": "UseFIPS"
3135                                                                },
3136                                                                false
3137                                                            ]
3138                                                        },
3139                                                        {
3140                                                            "fn": "booleanEquals",
3141                                                            "argv": [
3142                                                                {
3143                                                                    "ref": "Accelerate"
3144                                                                },
3145                                                                false
3146                                                            ]
3147                                                        },
3148                                                        {
3149                                                            "fn": "isSet",
3150                                                            "argv": [
3151                                                                {
3152                                                                    "ref": "Endpoint"
3153                                                                }
3154                                                            ]
3155                                                        },
3156                                                        {
3157                                                            "fn": "parseURL",
3158                                                            "argv": [
3159                                                                {
3160                                                                    "ref": "Endpoint"
3161                                                                }
3162                                                            ],
3163                                                            "assign": "url"
3164                                                        },
3165                                                        {
3166                                                            "fn": "booleanEquals",
3167                                                            "argv": [
3168                                                                {
3169                                                                    "fn": "getAttr",
3170                                                                    "argv": [
3171                                                                        {
3172                                                                            "ref": "url"
3173                                                                        },
3174                                                                        "isIp"
3175                                                                    ]
3176                                                                },
3177                                                                false
3178                                                            ]
3179                                                        },
3180                                                        {
3181                                                            "fn": "not",
3182                                                            "argv": [
3183                                                                {
3184                                                                    "fn": "stringEquals",
3185                                                                    "argv": [
3186                                                                        {
3187                                                                            "ref": "Region"
3188                                                                        },
3189                                                                        "aws-global"
3190                                                                    ]
3191                                                                }
3192                                                            ]
3193                                                        },
3194                                                        {
3195                                                            "fn": "booleanEquals",
3196                                                            "argv": [
3197                                                                {
3198                                                                    "ref": "UseGlobalEndpoint"
3199                                                                },
3200                                                                false
3201                                                            ]
3202                                                        }
3203                                                    ],
3204                                                    "endpoint": {
3205                                                        "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}",
3206                                                        "properties": {
3207                                                            "authSchemes": [
3208                                                                {
3209                                                                    "disableDoubleEncoding": true,
3210                                                                    "name": "sigv4",
3211                                                                    "signingName": "s3",
3212                                                                    "signingRegion": "{Region}"
3213                                                                }
3214                                                            ]
3215                                                        },
3216                                                        "headers": {}
3217                                                    },
3218                                                    "type": "endpoint"
3219                                                },
3220                                                {
3221                                                    "conditions": [
3222                                                        {
3223                                                            "fn": "booleanEquals",
3224                                                            "argv": [
3225                                                                {
3226                                                                    "ref": "UseDualStack"
3227                                                                },
3228                                                                false
3229                                                            ]
3230                                                        },
3231                                                        {
3232                                                            "fn": "booleanEquals",
3233                                                            "argv": [
3234                                                                {
3235                                                                    "ref": "UseFIPS"
3236                                                                },
3237                                                                false
3238                                                            ]
3239                                                        },
3240                                                        {
3241                                                            "fn": "booleanEquals",
3242                                                            "argv": [
3243                                                                {
3244                                                                    "ref": "Accelerate"
3245                                                                },
3246                                                                true
3247                                                            ]
3248                                                        },
3249                                                        {
3250                                                            "fn": "not",
3251                                                            "argv": [
3252                                                                {
3253                                                                    "fn": "isSet",
3254                                                                    "argv": [
3255                                                                        {
3256                                                                            "ref": "Endpoint"
3257                                                                        }
3258                                                                    ]
3259                                                                }
3260                                                            ]
3261                                                        },
3262                                                        {
3263                                                            "fn": "stringEquals",
3264                                                            "argv": [
3265                                                                {
3266                                                                    "ref": "Region"
3267                                                                },
3268                                                                "aws-global"
3269                                                            ]
3270                                                        }
3271                                                    ],
3272                                                    "endpoint": {
3273                                                        "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",
3274                                                        "properties": {
3275                                                            "authSchemes": [
3276                                                                {
3277                                                                    "disableDoubleEncoding": true,
3278                                                                    "name": "sigv4",
3279                                                                    "signingName": "s3",
3280                                                                    "signingRegion": "us-east-1"
3281                                                                }
3282                                                            ]
3283                                                        },
3284                                                        "headers": {}
3285                                                    },
3286                                                    "type": "endpoint"
3287                                                },
3288                                                {
3289                                                    "conditions": [
3290                                                        {
3291                                                            "fn": "booleanEquals",
3292                                                            "argv": [
3293                                                                {
3294                                                                    "ref": "UseDualStack"
3295                                                                },
3296                                                                false
3297                                                            ]
3298                                                        },
3299                                                        {
3300                                                            "fn": "booleanEquals",
3301                                                            "argv": [
3302                                                                {
3303                                                                    "ref": "UseFIPS"
3304                                                                },
3305                                                                false
3306                                                            ]
3307                                                        },
3308                                                        {
3309                                                            "fn": "booleanEquals",
3310                                                            "argv": [
3311                                                                {
3312                                                                    "ref": "Accelerate"
3313                                                                },
3314                                                                true
3315                                                            ]
3316                                                        },
3317                                                        {
3318                                                            "fn": "not",
3319                                                            "argv": [
3320                                                                {
3321                                                                    "fn": "isSet",
3322                                                                    "argv": [
3323                                                                        {
3324                                                                            "ref": "Endpoint"
3325                                                                        }
3326                                                                    ]
3327                                                                }
3328                                                            ]
3329                                                        },
3330                                                        {
3331                                                            "fn": "not",
3332                                                            "argv": [
3333                                                                {
3334                                                                    "fn": "stringEquals",
3335                                                                    "argv": [
3336                                                                        {
3337                                                                            "ref": "Region"
3338                                                                        },
3339                                                                        "aws-global"
3340                                                                    ]
3341                                                                }
3342                                                            ]
3343                                                        },
3344                                                        {
3345                                                            "fn": "booleanEquals",
3346                                                            "argv": [
3347                                                                {
3348                                                                    "ref": "UseGlobalEndpoint"
3349                                                                },
3350                                                                true
3351                                                            ]
3352                                                        }
3353                                                    ],
3354                                                    "rules": [
3355                                                        {
3356                                                            "conditions": [
3357                                                                {
3358                                                                    "fn": "stringEquals",
3359                                                                    "argv": [
3360                                                                        {
3361                                                                            "ref": "Region"
3362                                                                        },
3363                                                                        "us-east-1"
3364                                                                    ]
3365                                                                }
3366                                                            ],
3367                                                            "endpoint": {
3368                                                                "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",
3369                                                                "properties": {
3370                                                                    "authSchemes": [
3371                                                                        {
3372                                                                            "disableDoubleEncoding": true,
3373                                                                            "name": "sigv4",
3374                                                                            "signingName": "s3",
3375                                                                            "signingRegion": "{Region}"
3376                                                                        }
3377                                                                    ]
3378                                                                },
3379                                                                "headers": {}
3380                                                            },
3381                                                            "type": "endpoint"
3382                                                        },
3383                                                        {
3384                                                            "conditions": [],
3385                                                            "endpoint": {
3386                                                                "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",
3387                                                                "properties": {
3388                                                                    "authSchemes": [
3389                                                                        {
3390                                                                            "disableDoubleEncoding": true,
3391                                                                            "name": "sigv4",
3392                                                                            "signingName": "s3",
3393                                                                            "signingRegion": "{Region}"
3394                                                                        }
3395                                                                    ]
3396                                                                },
3397                                                                "headers": {}
3398                                                            },
3399                                                            "type": "endpoint"
3400                                                        }
3401                                                    ],
3402                                                    "type": "tree"
3403                                                },
3404                                                {
3405                                                    "conditions": [
3406                                                        {
3407                                                            "fn": "booleanEquals",
3408                                                            "argv": [
3409                                                                {
3410                                                                    "ref": "UseDualStack"
3411                                                                },
3412                                                                false
3413                                                            ]
3414                                                        },
3415                                                        {
3416                                                            "fn": "booleanEquals",
3417                                                            "argv": [
3418                                                                {
3419                                                                    "ref": "UseFIPS"
3420                                                                },
3421                                                                false
3422                                                            ]
3423                                                        },
3424                                                        {
3425                                                            "fn": "booleanEquals",
3426                                                            "argv": [
3427                                                                {
3428                                                                    "ref": "Accelerate"
3429                                                                },
3430                                                                true
3431                                                            ]
3432                                                        },
3433                                                        {
3434                                                            "fn": "not",
3435                                                            "argv": [
3436                                                                {
3437                                                                    "fn": "isSet",
3438                                                                    "argv": [
3439                                                                        {
3440                                                                            "ref": "Endpoint"
3441                                                                        }
3442                                                                    ]
3443                                                                }
3444                                                            ]
3445                                                        },
3446                                                        {
3447                                                            "fn": "not",
3448                                                            "argv": [
3449                                                                {
3450                                                                    "fn": "stringEquals",
3451                                                                    "argv": [
3452                                                                        {
3453                                                                            "ref": "Region"
3454                                                                        },
3455                                                                        "aws-global"
3456                                                                    ]
3457                                                                }
3458                                                            ]
3459                                                        },
3460                                                        {
3461                                                            "fn": "booleanEquals",
3462                                                            "argv": [
3463                                                                {
3464                                                                    "ref": "UseGlobalEndpoint"
3465                                                                },
3466                                                                false
3467                                                            ]
3468                                                        }
3469                                                    ],
3470                                                    "endpoint": {
3471                                                        "url": "https://{Bucket}.s3-accelerate.{partitionResult#dnsSuffix}",
3472                                                        "properties": {
3473                                                            "authSchemes": [
3474                                                                {
3475                                                                    "disableDoubleEncoding": true,
3476                                                                    "name": "sigv4",
3477                                                                    "signingName": "s3",
3478                                                                    "signingRegion": "{Region}"
3479                                                                }
3480                                                            ]
3481                                                        },
3482                                                        "headers": {}
3483                                                    },
3484                                                    "type": "endpoint"
3485                                                },
3486                                                {
3487                                                    "conditions": [
3488                                                        {
3489                                                            "fn": "booleanEquals",
3490                                                            "argv": [
3491                                                                {
3492                                                                    "ref": "UseDualStack"
3493                                                                },
3494                                                                false
3495                                                            ]
3496                                                        },
3497                                                        {
3498                                                            "fn": "booleanEquals",
3499                                                            "argv": [
3500                                                                {
3501                                                                    "ref": "UseFIPS"
3502                                                                },
3503                                                                false
3504                                                            ]
3505                                                        },
3506                                                        {
3507                                                            "fn": "booleanEquals",
3508                                                            "argv": [
3509                                                                {
3510                                                                    "ref": "Accelerate"
3511                                                                },
3512                                                                false
3513                                                            ]
3514                                                        },
3515                                                        {
3516                                                            "fn": "not",
3517                                                            "argv": [
3518                                                                {
3519                                                                    "fn": "isSet",
3520                                                                    "argv": [
3521                                                                        {
3522                                                                            "ref": "Endpoint"
3523                                                                        }
3524                                                                    ]
3525                                                                }
3526                                                            ]
3527                                                        },
3528                                                        {
3529                                                            "fn": "stringEquals",
3530                                                            "argv": [
3531                                                                {
3532                                                                    "ref": "Region"
3533                                                                },
3534                                                                "aws-global"
3535                                                            ]
3536                                                        }
3537                                                    ],
3538                                                    "endpoint": {
3539                                                        "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}",
3540                                                        "properties": {
3541                                                            "authSchemes": [
3542                                                                {
3543                                                                    "disableDoubleEncoding": true,
3544                                                                    "name": "sigv4",
3545                                                                    "signingName": "s3",
3546                                                                    "signingRegion": "us-east-1"
3547                                                                }
3548                                                            ]
3549                                                        },
3550                                                        "headers": {}
3551                                                    },
3552                                                    "type": "endpoint"
3553                                                },
3554                                                {
3555                                                    "conditions": [
3556                                                        {
3557                                                            "fn": "booleanEquals",
3558                                                            "argv": [
3559                                                                {
3560                                                                    "ref": "UseDualStack"
3561                                                                },
3562                                                                false
3563                                                            ]
3564                                                        },
3565                                                        {
3566                                                            "fn": "booleanEquals",
3567                                                            "argv": [
3568                                                                {
3569                                                                    "ref": "UseFIPS"
3570                                                                },
3571                                                                false
3572                                                            ]
3573                                                        },
3574                                                        {
3575                                                            "fn": "booleanEquals",
3576                                                            "argv": [
3577                                                                {
3578                                                                    "ref": "Accelerate"
3579                                                                },
3580                                                                false
3581                                                            ]
3582                                                        },
3583                                                        {
3584                                                            "fn": "not",
3585                                                            "argv": [
3586                                                                {
3587                                                                    "fn": "isSet",
3588                                                                    "argv": [
3589                                                                        {
3590                                                                            "ref": "Endpoint"
3591                                                                        }
3592                                                                    ]
3593                                                                }
3594                                                            ]
3595                                                        },
3596                                                        {
3597                                                            "fn": "not",
3598                                                            "argv": [
3599                                                                {
3600                                                                    "fn": "stringEquals",
3601                                                                    "argv": [
3602                                                                        {
3603                                                                            "ref": "Region"
3604                                                                        },
3605                                                                        "aws-global"
3606                                                                    ]
3607                                                                }
3608                                                            ]
3609                                                        },
3610                                                        {
3611                                                            "fn": "booleanEquals",
3612                                                            "argv": [
3613                                                                {
3614                                                                    "ref": "UseGlobalEndpoint"
3615                                                                },
3616                                                                true
3617                                                            ]
3618                                                        }
3619                                                    ],
3620                                                    "rules": [
3621                                                        {
3622                                                            "conditions": [
3623                                                                {
3624                                                                    "fn": "stringEquals",
3625                                                                    "argv": [
3626                                                                        {
3627                                                                            "ref": "Region"
3628                                                                        },
3629                                                                        "us-east-1"
3630                                                                    ]
3631                                                                }
3632                                                            ],
3633                                                            "endpoint": {
3634                                                                "url": "https://{Bucket}.s3.{partitionResult#dnsSuffix}",
3635                                                                "properties": {
3636                                                                    "authSchemes": [
3637                                                                        {
3638                                                                            "disableDoubleEncoding": true,
3639                                                                            "name": "sigv4",
3640                                                                            "signingName": "s3",
3641                                                                            "signingRegion": "{Region}"
3642                                                                        }
3643                                                                    ]
3644                                                                },
3645                                                                "headers": {}
3646                                                            },
3647                                                            "type": "endpoint"
3648                                                        },
3649                                                        {
3650                                                            "conditions": [],
3651                                                            "endpoint": {
3652                                                                "url": "https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",
3653                                                                "properties": {
3654                                                                    "authSchemes": [
3655                                                                        {
3656                                                                            "disableDoubleEncoding": true,
3657                                                                            "name": "sigv4",
3658                                                                            "signingName": "s3",
3659                                                                            "signingRegion": "{Region}"
3660                                                                        }
3661                                                                    ]
3662                                                                },
3663                                                                "headers": {}
3664                                                            },
3665                                                            "type": "endpoint"
3666                                                        }
3667                                                    ],
3668                                                    "type": "tree"
3669                                                },
3670                                                {
3671                                                    "conditions": [
3672                                                        {
3673                                                            "fn": "booleanEquals",
3674                                                            "argv": [
3675                                                                {
3676                                                                    "ref": "UseDualStack"
3677                                                                },
3678                                                                false
3679                                                            ]
3680                                                        },
3681                                                        {
3682                                                            "fn": "booleanEquals",
3683                                                            "argv": [
3684                                                                {
3685                                                                    "ref": "UseFIPS"
3686                                                                },
3687                                                                false
3688                                                            ]
3689                                                        },
3690                                                        {
3691                                                            "fn": "booleanEquals",
3692                                                            "argv": [
3693                                                                {
3694                                                                    "ref": "Accelerate"
3695                                                                },
3696                                                                false
3697                                                            ]
3698                                                        },
3699                                                        {
3700                                                            "fn": "not",
3701                                                            "argv": [
3702                                                                {
3703                                                                    "fn": "isSet",
3704                                                                    "argv": [
3705                                                                        {
3706                                                                            "ref": "Endpoint"
3707                                                                        }
3708                                                                    ]
3709                                                                }
3710                                                            ]
3711                                                        },
3712                                                        {
3713                                                            "fn": "not",
3714                                                            "argv": [
3715                                                                {
3716                                                                    "fn": "stringEquals",
3717                                                                    "argv": [
3718                                                                        {
3719                                                                            "ref": "Region"
3720                                                                        },
3721                                                                        "aws-global"
3722                                                                    ]
3723                                                                }
3724                                                            ]
3725                                                        },
3726                                                        {
3727                                                            "fn": "booleanEquals",
3728                                                            "argv": [
3729                                                                {
3730                                                                    "ref": "UseGlobalEndpoint"
3731                                                                },
3732                                                                false
3733                                                            ]
3734                                                        }
3735                                                    ],
3736                                                    "endpoint": {
3737                                                        "url": "https://{Bucket}.s3.{Region}.{partitionResult#dnsSuffix}",
3738                                                        "properties": {
3739                                                            "authSchemes": [
3740                                                                {
3741                                                                    "disableDoubleEncoding": true,
3742                                                                    "name": "sigv4",
3743                                                                    "signingName": "s3",
3744                                                                    "signingRegion": "{Region}"
3745                                                                }
3746                                                            ]
3747                                                        },
3748                                                        "headers": {}
3749                                                    },
3750                                                    "type": "endpoint"
3751                                                }
3752                                            ],
3753                                            "type": "tree"
3754                                        },
3755                                        {
3756                                            "conditions": [],
3757                                            "error": "Invalid region: region was not a valid DNS name.",
3758                                            "type": "error"
3759                                        }
3760                                    ],
3761                                    "type": "tree"
3762                                }
3763                            ],
3764                            "type": "tree"
3765                        },
3766                        {
3767                            "conditions": [
3768                                {
3769                                    "fn": "isSet",
3770                                    "argv": [
3771                                        {
3772                                            "ref": "Endpoint"
3773                                        }
3774                                    ]
3775                                },
3776                                {
3777                                    "fn": "parseURL",
3778                                    "argv": [
3779                                        {
3780                                            "ref": "Endpoint"
3781                                        }
3782                                    ],
3783                                    "assign": "url"
3784                                },
3785                                {
3786                                    "fn": "stringEquals",
3787                                    "argv": [
3788                                        {
3789                                            "fn": "getAttr",
3790                                            "argv": [
3791                                                {
3792                                                    "ref": "url"
3793                                                },
3794                                                "scheme"
3795                                            ]
3796                                        },
3797                                        "http"
3798                                    ]
3799                                },
3800                                {
3801                                    "fn": "aws.isVirtualHostableS3Bucket",
3802                                    "argv": [
3803                                        {
3804                                            "ref": "Bucket"
3805                                        },
3806                                        true
3807                                    ]
3808                                },
3809                                {
3810                                    "fn": "booleanEquals",
3811                                    "argv": [
3812                                        {
3813                                            "ref": "ForcePathStyle"
3814                                        },
3815                                        false
3816                                    ]
3817                                },
3818                                {
3819                                    "fn": "booleanEquals",
3820                                    "argv": [
3821                                        {
3822                                            "ref": "UseFIPS"
3823                                        },
3824                                        false
3825                                    ]
3826                                },
3827                                {
3828                                    "fn": "booleanEquals",
3829                                    "argv": [
3830                                        {
3831                                            "ref": "UseDualStack"
3832                                        },
3833                                        false
3834                                    ]
3835                                },
3836                                {
3837                                    "fn": "booleanEquals",
3838                                    "argv": [
3839                                        {
3840                                            "ref": "Accelerate"
3841                                        },
3842                                        false
3843                                    ]
3844                                }
3845                            ],
3846                            "rules": [
3847                                {
3848                                    "conditions": [
3849                                        {
3850                                            "fn": "aws.partition",
3851                                            "argv": [
3852                                                {
3853                                                    "ref": "Region"
3854                                                }
3855                                            ],
3856                                            "assign": "partitionResult"
3857                                        }
3858                                    ],
3859                                    "rules": [
3860                                        {
3861                                            "conditions": [
3862                                                {
3863                                                    "fn": "isValidHostLabel",
3864                                                    "argv": [
3865                                                        {
3866                                                            "ref": "Region"
3867                                                        },
3868                                                        false
3869                                                    ]
3870                                                }
3871                                            ],
3872                                            "rules": [
3873                                                {
3874                                                    "conditions": [],
3875                                                    "endpoint": {
3876                                                        "url": "{url#scheme}://{Bucket}.{url#authority}{url#path}",
3877                                                        "properties": {
3878                                                            "authSchemes": [
3879                                                                {
3880                                                                    "disableDoubleEncoding": true,
3881                                                                    "name": "sigv4",
3882                                                                    "signingName": "s3",
3883                                                                    "signingRegion": "{Region}"
3884                                                                }
3885                                                            ]
3886                                                        },
3887                                                        "headers": {}
3888                                                    },
3889                                                    "type": "endpoint"
3890                                                }
3891                                            ],
3892                                            "type": "tree"
3893                                        },
3894                                        {
3895                                            "conditions": [],
3896                                            "error": "Invalid region: region was not a valid DNS name.",
3897                                            "type": "error"
3898                                        }
3899                                    ],
3900                                    "type": "tree"
3901                                }
3902                            ],
3903                            "type": "tree"
3904                        },
3905                        {
3906                            "conditions": [
3907                                {
3908                                    "fn": "booleanEquals",
3909                                    "argv": [
3910                                        {
3911                                            "ref": "ForcePathStyle"
3912                                        },
3913                                        false
3914                                    ]
3915                                },
3916                                {
3917                                    "fn": "aws.parseArn",
3918                                    "argv": [
3919                                        {
3920                                            "ref": "Bucket"
3921                                        }
3922                                    ],
3923                                    "assign": "bucketArn"
3924                                }
3925                            ],
3926                            "rules": [
3927                                {
3928                                    "conditions": [
3929                                        {
3930                                            "fn": "getAttr",
3931                                            "argv": [
3932                                                {
3933                                                    "ref": "bucketArn"
3934                                                },
3935                                                "resourceId[0]"
3936                                            ],
3937                                            "assign": "arnType"
3938                                        },
3939                                        {
3940                                            "fn": "not",
3941                                            "argv": [
3942                                                {
3943                                                    "fn": "stringEquals",
3944                                                    "argv": [
3945                                                        {
3946                                                            "ref": "arnType"
3947                                                        },
3948                                                        ""
3949                                                    ]
3950                                                }
3951                                            ]
3952                                        }
3953                                    ],
3954                                    "rules": [
3955                                        {
3956                                            "conditions": [
3957                                                {
3958                                                    "fn": "stringEquals",
3959                                                    "argv": [
3960                                                        {
3961                                                            "fn": "getAttr",
3962                                                            "argv": [
3963                                                                {
3964                                                                    "ref": "bucketArn"
3965                                                                },
3966                                                                "service"
3967                                                            ]
3968                                                        },
3969                                                        "s3-object-lambda"
3970                                                    ]
3971                                                }
3972                                            ],
3973                                            "rules": [
3974                                                {
3975                                                    "conditions": [
3976                                                        {
3977                                                            "fn": "stringEquals",
3978                                                            "argv": [
3979                                                                {
3980                                                                    "ref": "arnType"
3981                                                                },
3982                                                                "accesspoint"
3983                                                            ]
3984                                                        }
3985                                                    ],
3986                                                    "rules": [
3987                                                        {
3988                                                            "conditions": [
3989                                                                {
3990                                                                    "fn": "getAttr",
3991                                                                    "argv": [
3992                                                                        {
3993                                                                            "ref": "bucketArn"
3994                                                                        },
3995                                                                        "resourceId[1]"
3996                                                                    ],
3997                                                                    "assign": "accessPointName"
3998                                                                },
3999                                                                {
4000                                                                    "fn": "not",
4001                                                                    "argv": [
4002                                                                        {
4003                                                                            "fn": "stringEquals",
4004                                                                            "argv": [
4005                                                                                {
4006                                                                                    "ref": "accessPointName"
4007                                                                                },
4008                                                                                ""
4009                                                                            ]
4010                                                                        }
4011                                                                    ]
4012                                                                }
4013                                                            ],
4014                                                            "rules": [
4015                                                                {
4016                                                                    "conditions": [
4017                                                                        {
4018                                                                            "fn": "booleanEquals",
4019                                                                            "argv": [
4020                                                                                {
4021                                                                                    "ref": "UseDualStack"
4022                                                                                },
4023                                                                                true
4024                                                                            ]
4025                                                                        }
4026                                                                    ],
4027                                                                    "error": "S3 Object Lambda does not support Dual-stack",
4028                                                                    "type": "error"
4029                                                                },
4030                                                                {
4031                                                                    "conditions": [
4032                                                                        {
4033                                                                            "fn": "booleanEquals",
4034                                                                            "argv": [
4035                                                                                {
4036                                                                                    "ref": "Accelerate"
4037                                                                                },
4038                                                                                true
4039                                                                            ]
4040                                                                        }
4041                                                                    ],
4042                                                                    "error": "S3 Object Lambda does not support S3 Accelerate",
4043                                                                    "type": "error"
4044                                                                },
4045                                                                {
4046                                                                    "conditions": [
4047                                                                        {
4048                                                                            "fn": "not",
4049                                                                            "argv": [
4050                                                                                {
4051                                                                                    "fn": "stringEquals",
4052                                                                                    "argv": [
4053                                                                                        {
4054                                                                                            "fn": "getAttr",
4055                                                                                            "argv": [
4056                                                                                                {
4057                                                                                                    "ref": "bucketArn"
4058                                                                                                },
4059                                                                                                "region"
4060                                                                                            ]
4061                                                                                        },
4062                                                                                        ""
4063                                                                                    ]
4064                                                                                }
4065                                                                            ]
4066                                                                        }
4067                                                                    ],
4068                                                                    "rules": [
4069                                                                        {
4070                                                                            "conditions": [
4071                                                                                {
4072                                                                                    "fn": "isSet",
4073                                                                                    "argv": [
4074                                                                                        {
4075                                                                                            "ref": "DisableAccessPoints"
4076                                                                                        }
4077                                                                                    ]
4078                                                                                },
4079                                                                                {
4080                                                                                    "fn": "booleanEquals",
4081                                                                                    "argv": [
4082                                                                                        {
4083                                                                                            "ref": "DisableAccessPoints"
4084                                                                                        },
4085                                                                                        true
4086                                                                                    ]
4087                                                                                }
4088                                                                            ],
4089                                                                            "error": "Access points are not supported for this operation",
4090                                                                            "type": "error"
4091                                                                        },
4092                                                                        {
4093                                                                            "conditions": [
4094                                                                                {
4095                                                                                    "fn": "not",
4096                                                                                    "argv": [
4097                                                                                        {
4098                                                                                            "fn": "isSet",
4099                                                                                            "argv": [
4100                                                                                                {
4101                                                                                                    "fn": "getAttr",
4102                                                                                                    "argv": [
4103                                                                                                        {
4104                                                                                                            "ref": "bucketArn"
4105                                                                                                        },
4106                                                                                                        "resourceId[2]"
4107                                                                                                    ]
4108                                                                                                }
4109                                                                                            ]
4110                                                                                        }
4111                                                                                    ]
4112                                                                                }
4113                                                                            ],
4114                                                                            "rules": [
4115                                                                                {
4116                                                                                    "conditions": [
4117                                                                                        {
4118                                                                                            "fn": "isSet",
4119                                                                                            "argv": [
4120                                                                                                {
4121                                                                                                    "ref": "UseArnRegion"
4122                                                                                                }
4123                                                                                            ]
4124                                                                                        },
4125                                                                                        {
4126                                                                                            "fn": "booleanEquals",
4127                                                                                            "argv": [
4128                                                                                                {
4129                                                                                                    "ref": "UseArnRegion"
4130                                                                                                },
4131                                                                                                false
4132                                                                                            ]
4133                                                                                        },
4134                                                                                        {
4135                                                                                            "fn": "not",
4136                                                                                            "argv": [
4137                                                                                                {
4138                                                                                                    "fn": "stringEquals",
4139                                                                                                    "argv": [
4140                                                                                                        {
4141                                                                                                            "fn": "getAttr",
4142                                                                                                            "argv": [
4143                                                                                                                {
4144                                                                                                                    "ref": "bucketArn"
4145                                                                                                                },
4146                                                                                                                "region"
4147                                                                                                            ]
4148                                                                                                        },
4149                                                                                                        "{Region}"
4150                                                                                                    ]
4151                                                                                                }
4152                                                                                            ]
4153                                                                                        }
4154                                                                                    ],
4155                                                                                    "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",
4156                                                                                    "type": "error"
4157                                                                                },
4158                                                                                {
4159                                                                                    "conditions": [
4160                                                                                        {
4161                                                                                            "fn": "aws.partition",
4162                                                                                            "argv": [
4163                                                                                                {
4164                                                                                                    "fn": "getAttr",
4165                                                                                                    "argv": [
4166                                                                                                        {
4167                                                                                                            "ref": "bucketArn"
4168                                                                                                        },
4169                                                                                                        "region"
4170                                                                                                    ]
4171                                                                                                }
4172                                                                                            ],
4173                                                                                            "assign": "bucketPartition"
4174                                                                                        }
4175                                                                                    ],
4176                                                                                    "rules": [
4177                                                                                        {
4178                                                                                            "conditions": [
4179                                                                                                {
4180                                                                                                    "fn": "aws.partition",
4181                                                                                                    "argv": [
4182                                                                                                        {
4183                                                                                                            "ref": "Region"
4184                                                                                                        }
4185                                                                                                    ],
4186                                                                                                    "assign": "partitionResult"
4187                                                                                                }
4188                                                                                            ],
4189                                                                                            "rules": [
4190                                                                                                {
4191                                                                                                    "conditions": [
4192                                                                                                        {
4193                                                                                                            "fn": "stringEquals",
4194                                                                                                            "argv": [
4195                                                                                                                {
4196                                                                                                                    "fn": "getAttr",
4197                                                                                                                    "argv": [
4198                                                                                                                        {
4199                                                                                                                            "ref": "bucketPartition"
4200                                                                                                                        },
4201                                                                                                                        "name"
4202                                                                                                                    ]
4203                                                                                                                },
4204                                                                                                                {
4205                                                                                                                    "fn": "getAttr",
4206                                                                                                                    "argv": [
4207                                                                                                                        {
4208                                                                                                                            "ref": "partitionResult"
4209                                                                                                                        },
4210                                                                                                                        "name"
4211                                                                                                                    ]
4212                                                                                                                }
4213                                                                                                            ]
4214                                                                                                        }
4215                                                                                                    ],
4216                                                                                                    "rules": [
4217                                                                                                        {
4218                                                                                                            "conditions": [
4219                                                                                                                {
4220                                                                                                                    "fn": "isValidHostLabel",
4221                                                                                                                    "argv": [
4222                                                                                                                        {
4223                                                                                                                            "fn": "getAttr",
4224                                                                                                                            "argv": [
4225                                                                                                                                {
4226                                                                                                                                    "ref": "bucketArn"
4227                                                                                                                                },
4228                                                                                                                                "region"
4229                                                                                                                            ]
4230                                                                                                                        },
4231                                                                                                                        true
4232                                                                                                                    ]
4233                                                                                                                }
4234                                                                                                            ],
4235                                                                                                            "rules": [
4236                                                                                                                {
4237                                                                                                                    "conditions": [
4238                                                                                                                        {
4239                                                                                                                            "fn": "stringEquals",
4240                                                                                                                            "argv": [
4241                                                                                                                                {
4242                                                                                                                                    "fn": "getAttr",
4243                                                                                                                                    "argv": [
4244                                                                                                                                        {
4245                                                                                                                                            "ref": "bucketArn"
4246                                                                                                                                        },
4247                                                                                                                                        "accountId"
4248                                                                                                                                    ]
4249                                                                                                                                },
4250                                                                                                                                ""
4251                                                                                                                            ]
4252                                                                                                                        }
4253                                                                                                                    ],
4254                                                                                                                    "error": "Invalid ARN: Missing account id",
4255                                                                                                                    "type": "error"
4256                                                                                                                },
4257                                                                                                                {
4258                                                                                                                    "conditions": [
4259                                                                                                                        {
4260                                                                                                                            "fn": "isValidHostLabel",
4261                                                                                                                            "argv": [
4262                                                                                                                                {
4263                                                                                                                                    "fn": "getAttr",
4264                                                                                                                                    "argv": [
4265                                                                                                                                        {
4266                                                                                                                                            "ref": "bucketArn"
4267                                                                                                                                        },
4268                                                                                                                                        "accountId"
4269                                                                                                                                    ]
4270                                                                                                                                },
4271                                                                                                                                false
4272                                                                                                                            ]
4273                                                                                                                        }
4274                                                                                                                    ],
4275                                                                                                                    "rules": [
4276                                                                                                                        {
4277                                                                                                                            "conditions": [
4278                                                                                                                                {
4279                                                                                                                                    "fn": "isValidHostLabel",
4280                                                                                                                                    "argv": [
4281                                                                                                                                        {
4282                                                                                                                                            "ref": "accessPointName"
4283                                                                                                                                        },
4284                                                                                                                                        false
4285                                                                                                                                    ]
4286                                                                                                                                }
4287                                                                                                                            ],
4288                                                                                                                            "rules": [
4289                                                                                                                                {
4290                                                                                                                                    "conditions": [
4291                                                                                                                                        {
4292                                                                                                                                            "fn": "isSet",
4293                                                                                                                                            "argv": [
4294                                                                                                                                                {
4295                                                                                                                                                    "ref": "Endpoint"
4296                                                                                                                                                }
4297                                                                                                                                            ]
4298                                                                                                                                        },
4299                                                                                                                                        {
4300                                                                                                                                            "fn": "parseURL",
4301                                                                                                                                            "argv": [
4302                                                                                                                                                {
4303                                                                                                                                                    "ref": "Endpoint"
4304                                                                                                                                                }
4305                                                                                                                                            ],
4306                                                                                                                                            "assign": "url"
4307                                                                                                                                        }
4308                                                                                                                                    ],
4309                                                                                                                                    "endpoint": {
4310                                                                                                                                        "url": "{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",
4311                                                                                                                                        "properties": {
4312                                                                                                                                            "authSchemes": [
4313                                                                                                                                                {
4314                                                                                                                                                    "disableDoubleEncoding": true,
4315                                                                                                                                                    "name": "sigv4",
4316                                                                                                                                                    "signingName": "s3-object-lambda",
4317                                                                                                                                                    "signingRegion": "{bucketArn#region}"
4318                                                                                                                                                }
4319                                                                                                                                            ]
4320                                                                                                                                        },
4321                                                                                                                                        "headers": {}
4322                                                                                                                                    },
4323                                                                                                                                    "type": "endpoint"
4324                                                                                                                                },
4325                                                                                                                                {
4326                                                                                                                                    "conditions": [
4327                                                                                                                                        {
4328                                                                                                                                            "fn": "booleanEquals",
4329                                                                                                                                            "argv": [
4330                                                                                                                                                {
4331                                                                                                                                                    "ref": "UseFIPS"
4332                                                                                                                                                },
4333                                                                                                                                                true
4334                                                                                                                                            ]
4335                                                                                                                                        }
4336                                                                                                                                    ],
4337                                                                                                                                    "endpoint": {
4338                                                                                                                                        "url": "https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",
4339                                                                                                                                        "properties": {
4340                                                                                                                                            "authSchemes": [
4341                                                                                                                                                {
4342                                                                                                                                                    "disableDoubleEncoding": true,
4343                                                                                                                                                    "name": "sigv4",
4344                                                                                                                                                    "signingName": "s3-object-lambda",
4345                                                                                                                                                    "signingRegion": "{bucketArn#region}"
4346                                                                                                                                                }
4347                                                                                                                                            ]
4348                                                                                                                                        },
4349                                                                                                                                        "headers": {}
4350                                                                                                                                    },
4351                                                                                                                                    "type": "endpoint"
4352                                                                                                                                },
4353                                                                                                                                {
4354                                                                                                                                    "conditions": [],
4355                                                                                                                                    "endpoint": {
4356                                                                                                                                        "url": "https://{accessPointName}-{bucketArn#accountId}.s3-object-lambda.{bucketArn#region}.{bucketPartition#dnsSuffix}",
4357                                                                                                                                        "properties": {
4358                                                                                                                                            "authSchemes": [
4359                                                                                                                                                {
4360                                                                                                                                                    "disableDoubleEncoding": true,
4361                                                                                                                                                    "name": "sigv4",
4362                                                                                                                                                    "signingName": "s3-object-lambda",
4363                                                                                                                                                    "signingRegion": "{bucketArn#region}"
4364                                                                                                                                                }
4365                                                                                                                                            ]
4366                                                                                                                                        },
4367                                                                                                                                        "headers": {}
4368                                                                                                                                    },
4369                                                                                                                                    "type": "endpoint"
4370                                                                                                                                }
4371                                                                                                                            ],
4372                                                                                                                            "type": "tree"
4373                                                                                                                        },
4374                                                                                                                        {
4375                                                                                                                            "conditions": [],
4376                                                                                                                            "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",
4377                                                                                                                            "type": "error"
4378                                                                                                                        }
4379                                                                                                                    ],
4380                                                                                                                    "type": "tree"
4381                                                                                                                },
4382                                                                                                                {
4383                                                                                                                    "conditions": [],
4384                                                                                                                    "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",
4385                                                                                                                    "type": "error"
4386                                                                                                                }
4387                                                                                                            ],
4388                                                                                                            "type": "tree"
4389                                                                                                        },
4390                                                                                                        {
4391                                                                                                            "conditions": [],
4392                                                                                                            "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",
4393                                                                                                            "type": "error"
4394                                                                                                        }
4395                                                                                                    ],
4396                                                                                                    "type": "tree"
4397                                                                                                },
4398                                                                                                {
4399                                                                                                    "conditions": [],
4400                                                                                                    "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",
4401                                                                                                    "type": "error"
4402                                                                                                }
4403                                                                                            ],
4404                                                                                            "type": "tree"
4405                                                                                        }
4406                                                                                    ],
4407                                                                                    "type": "tree"
4408                                                                                }
4409                                                                            ],
4410                                                                            "type": "tree"
4411                                                                        },
4412                                                                        {
4413                                                                            "conditions": [],
4414                                                                            "error": "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",
4415                                                                            "type": "error"
4416                                                                        }
4417                                                                    ],
4418                                                                    "type": "tree"
4419                                                                },
4420                                                                {
4421                                                                    "conditions": [],
4422                                                                    "error": "Invalid ARN: bucket ARN is missing a region",
4423                                                                    "type": "error"
4424                                                                }
4425                                                            ],
4426                                                            "type": "tree"
4427                                                        },
4428                                                        {
4429                                                            "conditions": [],
4430                                                            "error": "Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",
4431                                                            "type": "error"
4432                                                        }
4433                                                    ],
4434                                                    "type": "tree"
4435                                                },
4436                                                {
4437                                                    "conditions": [],
4438                                                    "error": "Invalid ARN: Object Lambda ARNs only support `accesspoint` arn types, but found: `{arnType}`",
4439                                                    "type": "error"
4440                                                }
4441                                            ],
4442                                            "type": "tree"
4443                                        },
4444                                        {
4445                                            "conditions": [
4446                                                {
4447                                                    "fn": "stringEquals",
4448                                                    "argv": [
4449                                                        {
4450                                                            "ref": "arnType"
4451                                                        },
4452                                                        "accesspoint"
4453                                                    ]
4454                                                }
4455                                            ],
4456                                            "rules": [
4457                                                {
4458                                                    "conditions": [
4459                                                        {
4460                                                            "fn": "getAttr",
4461                                                            "argv": [
4462                                                                {
4463                                                                    "ref": "bucketArn"
4464                                                                },
4465                                                                "resourceId[1]"
4466                                                            ],
4467                                                            "assign": "accessPointName"
4468                                                        },
4469                                                        {
4470                                                            "fn": "not",
4471                                                            "argv": [
4472                                                                {
4473                                                                    "fn": "stringEquals",
4474                                                                    "argv": [
4475                                                                        {
4476                                                                            "ref": "accessPointName"
4477                                                                        },
4478                                                                        ""
4479                                                                    ]
4480                                                                }
4481                                                            ]
4482                                                        }
4483                                                    ],
4484                                                    "rules": [
4485                                                        {
4486                                                            "conditions": [
4487                                                                {
4488                                                                    "fn": "not",
4489                                                                    "argv": [
4490                                                                        {
4491                                                                            "fn": "stringEquals",
4492                                                                            "argv": [
4493                                                                                {
4494                                                                                    "fn": "getAttr",
4495                                                                                    "argv": [
4496                                                                                        {
4497                                                                                            "ref": "bucketArn"
4498                                                                                        },
4499                                                                                        "region"
4500                                                                                    ]
4501                                                                                },
4502                                                                                ""
4503                                                                            ]
4504                                                                        }
4505                                                                    ]
4506                                                                }
4507                                                            ],
4508                                                            "rules": [
4509                                                                {
4510                                                                    "conditions": [
4511                                                                        {
4512                                                                            "fn": "stringEquals",
4513                                                                            "argv": [
4514                                                                                {
4515                                                                                    "ref": "arnType"
4516                                                                                },
4517                                                                                "accesspoint"
4518                                                                            ]
4519                                                                        }
4520                                                                    ],
4521                                                                    "rules": [
4522                                                                        {
4523                                                                            "conditions": [
4524                                                                                {
4525                                                                                    "fn": "not",
4526                                                                                    "argv": [
4527                                                                                        {
4528                                                                                            "fn": "stringEquals",
4529                                                                                            "argv": [
4530                                                                                                {
4531                                                                                                    "fn": "getAttr",
4532                                                                                                    "argv": [
4533                                                                                                        {
4534                                                                                                            "ref": "bucketArn"
4535                                                                                                        },
4536                                                                                                        "region"
4537                                                                                                    ]
4538                                                                                                },
4539                                                                                                ""
4540                                                                                            ]
4541                                                                                        }
4542                                                                                    ]
4543                                                                                }
4544                                                                            ],
4545                                                                            "rules": [
4546                                                                                {
4547                                                                                    "conditions": [
4548                                                                                        {
4549                                                                                            "fn": "isSet",
4550                                                                                            "argv": [
4551                                                                                                {
4552                                                                                                    "ref": "DisableAccessPoints"
4553                                                                                                }
4554                                                                                            ]
4555                                                                                        },
4556                                                                                        {
4557                                                                                            "fn": "booleanEquals",
4558                                                                                            "argv": [
4559                                                                                                {
4560                                                                                                    "ref": "DisableAccessPoints"
4561                                                                                                },
4562                                                                                                true
4563                                                                                            ]
4564                                                                                        }
4565                                                                                    ],
4566                                                                                    "error": "Access points are not supported for this operation",
4567                                                                                    "type": "error"
4568                                                                                },
4569                                                                                {
4570                                                                                    "conditions": [
4571                                                                                        {
4572                                                                                            "fn": "not",
4573                                                                                            "argv": [
4574                                                                                                {
4575                                                                                                    "fn": "isSet",
4576                                                                                                    "argv": [
4577                                                                                                        {
4578                                                                                                            "fn": "getAttr",
4579                                                                                                            "argv": [
4580                                                                                                                {
4581                                                                                                                    "ref": "bucketArn"
4582                                                                                                                },
4583                                                                                                                "resourceId[2]"
4584                                                                                                            ]
4585                                                                                                        }
4586                                                                                                    ]
4587                                                                                                }
4588                                                                                            ]
4589                                                                                        }
4590                                                                                    ],
4591                                                                                    "rules": [
4592                                                                                        {
4593                                                                                            "conditions": [
4594                                                                                                {
4595                                                                                                    "fn": "isSet",
4596                                                                                                    "argv": [
4597                                                                                                        {
4598                                                                                                            "ref": "UseArnRegion"
4599                                                                                                        }
4600                                                                                                    ]
4601                                                                                                },
4602                                                                                                {
4603                                                                                                    "fn": "booleanEquals",
4604                                                                                                    "argv": [
4605                                                                                                        {
4606                                                                                                            "ref": "UseArnRegion"
4607                                                                                                        },
4608                                                                                                        false
4609                                                                                                    ]
4610                                                                                                },
4611                                                                                                {
4612                                                                                                    "fn": "not",
4613                                                                                                    "argv": [
4614                                                                                                        {
4615                                                                                                            "fn": "stringEquals",
4616                                                                                                            "argv": [
4617                                                                                                                {
4618                                                                                                                    "fn": "getAttr",
4619                                                                                                                    "argv": [
4620                                                                                                                        {
4621                                                                                                                            "ref": "bucketArn"
4622                                                                                                                        },
4623                                                                                                                        "region"
4624                                                                                                                    ]
4625                                                                                                                },
4626                                                                                                                "{Region}"
4627                                                                                                            ]
4628                                                                                                        }
4629                                                                                                    ]
4630                                                                                                }
4631                                                                                            ],
4632                                                                                            "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",
4633                                                                                            "type": "error"
4634                                                                                        },
4635                                                                                        {
4636                                                                                            "conditions": [
4637                                                                                                {
4638                                                                                                    "fn": "aws.partition",
4639                                                                                                    "argv": [
4640                                                                                                        {
4641                                                                                                            "fn": "getAttr",
4642                                                                                                            "argv": [
4643                                                                                                                {
4644                                                                                                                    "ref": "bucketArn"
4645                                                                                                                },
4646                                                                                                                "region"
4647                                                                                                            ]
4648                                                                                                        }
4649                                                                                                    ],
4650                                                                                                    "assign": "bucketPartition"
4651                                                                                                }
4652                                                                                            ],
4653                                                                                            "rules": [
4654                                                                                                {
4655                                                                                                    "conditions": [
4656                                                                                                        {
4657                                                                                                            "fn": "aws.partition",
4658                                                                                                            "argv": [
4659                                                                                                                {
4660                                                                                                                    "ref": "Region"
4661                                                                                                                }
4662                                                                                                            ],
4663                                                                                                            "assign": "partitionResult"
4664                                                                                                        }
4665                                                                                                    ],
4666                                                                                                    "rules": [
4667                                                                                                        {
4668                                                                                                            "conditions": [
4669                                                                                                                {
4670                                                                                                                    "fn": "stringEquals",
4671                                                                                                                    "argv": [
4672                                                                                                                        {
4673                                                                                                                            "fn": "getAttr",
4674                                                                                                                            "argv": [
4675                                                                                                                                {
4676                                                                                                                                    "ref": "bucketPartition"
4677                                                                                                                                },
4678                                                                                                                                "name"
4679                                                                                                                            ]
4680                                                                                                                        },
4681                                                                                                                        "{partitionResult#name}"
4682                                                                                                                    ]
4683                                                                                                                }
4684                                                                                                            ],
4685                                                                                                            "rules": [
4686                                                                                                                {
4687                                                                                                                    "conditions": [
4688                                                                                                                        {
4689                                                                                                                            "fn": "isValidHostLabel",
4690                                                                                                                            "argv": [
4691                                                                                                                                {
4692                                                                                                                                    "fn": "getAttr",
4693                                                                                                                                    "argv": [
4694                                                                                                                                        {
4695                                                                                                                                            "ref": "bucketArn"
4696                                                                                                                                        },
4697                                                                                                                                        "region"
4698                                                                                                                                    ]
4699                                                                                                                                },
4700                                                                                                                                true
4701                                                                                                                            ]
4702                                                                                                                        }
4703                                                                                                                    ],
4704                                                                                                                    "rules": [
4705                                                                                                                        {
4706                                                                                                                            "conditions": [
4707                                                                                                                                {
4708                                                                                                                                    "fn": "stringEquals",
4709                                                                                                                                    "argv": [
4710                                                                                                                                        {
4711                                                                                                                                            "fn": "getAttr",
4712                                                                                                                                            "argv": [
4713                                                                                                                                                {
4714                                                                                                                                                    "ref": "bucketArn"
4715                                                                                                                                                },
4716                                                                                                                                                "service"
4717                                                                                                                                            ]
4718                                                                                                                                        },
4719                                                                                                                                        "s3"
4720                                                                                                                                    ]
4721                                                                                                                                }
4722                                                                                                                            ],
4723                                                                                                                            "rules": [
4724                                                                                                                                {
4725                                                                                                                                    "conditions": [
4726                                                                                                                                        {
4727                                                                                                                                            "fn": "isValidHostLabel",
4728                                                                                                                                            "argv": [
4729                                                                                                                                                {
4730                                                                                                                                                    "fn": "getAttr",
4731                                                                                                                                                    "argv": [
4732                                                                                                                                                        {
4733                                                                                                                                                            "ref": "bucketArn"
4734                                                                                                                                                        },
4735                                                                                                                                                        "accountId"
4736                                                                                                                                                    ]
4737                                                                                                                                                },
4738                                                                                                                                                false
4739                                                                                                                                            ]
4740                                                                                                                                        }
4741                                                                                                                                    ],
4742                                                                                                                                    "rules": [
4743                                                                                                                                        {
4744                                                                                                                                            "conditions": [
4745                                                                                                                                                {
4746                                                                                                                                                    "fn": "isValidHostLabel",
4747                                                                                                                                                    "argv": [
4748                                                                                                                                                        {
4749                                                                                                                                                            "ref": "accessPointName"
4750                                                                                                                                                        },
4751                                                                                                                                                        false
4752                                                                                                                                                    ]
4753                                                                                                                                                }
4754                                                                                                                                            ],
4755                                                                                                                                            "rules": [
4756                                                                                                                                                {
4757                                                                                                                                                    "conditions": [
4758                                                                                                                                                        {
4759                                                                                                                                                            "fn": "booleanEquals",
4760                                                                                                                                                            "argv": [
4761                                                                                                                                                                {
4762                                                                                                                                                                    "ref": "Accelerate"
4763                                                                                                                                                                },
4764                                                                                                                                                                true
4765                                                                                                                                                            ]
4766                                                                                                                                                        }
4767                                                                                                                                                    ],
4768                                                                                                                                                    "error": "Access Points do not support S3 Accelerate",
4769                                                                                                                                                    "type": "error"
4770                                                                                                                                                },
4771                                                                                                                                                {
4772                                                                                                                                                    "conditions": [
4773                                                                                                                                                        {
4774                                                                                                                                                            "fn": "booleanEquals",
4775                                                                                                                                                            "argv": [
4776                                                                                                                                                                {
4777                                                                                                                                                                    "ref": "UseFIPS"
4778                                                                                                                                                                },
4779                                                                                                                                                                true
4780                                                                                                                                                            ]
4781                                                                                                                                                        },
4782                                                                                                                                                        {
4783                                                                                                                                                            "fn": "booleanEquals",
4784                                                                                                                                                            "argv": [
4785                                                                                                                                                                {
4786                                                                                                                                                                    "ref": "UseDualStack"
4787                                                                                                                                                                },
4788                                                                                                                                                                true
4789                                                                                                                                                            ]
4790                                                                                                                                                        }
4791                                                                                                                                                    ],
4792                                                                                                                                                    "endpoint": {
4793                                                                                                                                                        "url": "https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",
4794                                                                                                                                                        "properties": {
4795                                                                                                                                                            "authSchemes": [
4796                                                                                                                                                                {
4797                                                                                                                                                                    "disableDoubleEncoding": true,
4798                                                                                                                                                                    "name": "sigv4",
4799                                                                                                                                                                    "signingName": "s3",
4800                                                                                                                                                                    "signingRegion": "{bucketArn#region}"
4801                                                                                                                                                                }
4802                                                                                                                                                            ]
4803                                                                                                                                                        },
4804                                                                                                                                                        "headers": {}
4805                                                                                                                                                    },
4806                                                                                                                                                    "type": "endpoint"
4807                                                                                                                                                },
4808                                                                                                                                                {
4809                                                                                                                                                    "conditions": [
4810                                                                                                                                                        {
4811                                                                                                                                                            "fn": "booleanEquals",
4812                                                                                                                                                            "argv": [
4813                                                                                                                                                                {
4814                                                                                                                                                                    "ref": "UseFIPS"
4815                                                                                                                                                                },
4816                                                                                                                                                                true
4817                                                                                                                                                            ]
4818                                                                                                                                                        },
4819                                                                                                                                                        {
4820                                                                                                                                                            "fn": "booleanEquals",
4821                                                                                                                                                            "argv": [
4822                                                                                                                                                                {
4823                                                                                                                                                                    "ref": "UseDualStack"
4824                                                                                                                                                                },
4825                                                                                                                                                                false
4826                                                                                                                                                            ]
4827                                                                                                                                                        }
4828                                                                                                                                                    ],
4829                                                                                                                                                    "endpoint": {
4830                                                                                                                                                        "url": "https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint-fips.{bucketArn#region}.{bucketPartition#dnsSuffix}",
4831                                                                                                                                                        "properties": {
4832                                                                                                                                                            "authSchemes": [
4833                                                                                                                                                                {
4834                                                                                                                                                                    "disableDoubleEncoding": true,
4835                                                                                                                                                                    "name": "sigv4",
4836                                                                                                                                                                    "signingName": "s3",
4837                                                                                                                                                                    "signingRegion": "{bucketArn#region}"
4838                                                                                                                                                                }
4839                                                                                                                                                            ]
4840                                                                                                                                                        },
4841                                                                                                                                                        "headers": {}
4842                                                                                                                                                    },
4843                                                                                                                                                    "type": "endpoint"
4844                                                                                                                                                },
4845                                                                                                                                                {
4846                                                                                                                                                    "conditions": [
4847                                                                                                                                                        {
4848                                                                                                                                                            "fn": "booleanEquals",
4849                                                                                                                                                            "argv": [
4850                                                                                                                                                                {
4851                                                                                                                                                                    "ref": "UseFIPS"
4852                                                                                                                                                                },
4853                                                                                                                                                                false
4854                                                                                                                                                            ]
4855                                                                                                                                                        },
4856                                                                                                                                                        {
4857                                                                                                                                                            "fn": "booleanEquals",
4858                                                                                                                                                            "argv": [
4859                                                                                                                                                                {
4860                                                                                                                                                                    "ref": "UseDualStack"
4861                                                                                                                                                                },
4862                                                                                                                                                                true
4863                                                                                                                                                            ]
4864                                                                                                                                                        }
4865                                                                                                                                                    ],
4866                                                                                                                                                    "endpoint": {
4867                                                                                                                                                        "url": "https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.dualstack.{bucketArn#region}.{bucketPartition#dnsSuffix}",
4868                                                                                                                                                        "properties": {
4869                                                                                                                                                            "authSchemes": [
4870                                                                                                                                                                {
4871                                                                                                                                                                    "disableDoubleEncoding": true,
4872                                                                                                                                                                    "name": "sigv4",
4873                                                                                                                                                                    "signingName": "s3",
4874                                                                                                                                                                    "signingRegion": "{bucketArn#region}"
4875                                                                                                                                                                }
4876                                                                                                                                                            ]
4877                                                                                                                                                        },
4878                                                                                                                                                        "headers": {}
4879                                                                                                                                                    },
4880                                                                                                                                                    "type": "endpoint"
4881                                                                                                                                                },
4882                                                                                                                                                {
4883                                                                                                                                                    "conditions": [
4884                                                                                                                                                        {
4885                                                                                                                                                            "fn": "booleanEquals",
4886                                                                                                                                                            "argv": [
4887                                                                                                                                                                {
4888                                                                                                                                                                    "ref": "UseFIPS"
4889                                                                                                                                                                },
4890                                                                                                                                                                false
4891                                                                                                                                                            ]
4892                                                                                                                                                        },
4893                                                                                                                                                        {
4894                                                                                                                                                            "fn": "booleanEquals",
4895                                                                                                                                                            "argv": [
4896                                                                                                                                                                {
4897                                                                                                                                                                    "ref": "UseDualStack"
4898                                                                                                                                                                },
4899                                                                                                                                                                false
4900                                                                                                                                                            ]
4901                                                                                                                                                        },
4902                                                                                                                                                        {
4903                                                                                                                                                            "fn": "isSet",
4904                                                                                                                                                            "argv": [
4905                                                                                                                                                                {
4906                                                                                                                                                                    "ref": "Endpoint"
4907                                                                                                                                                                }
4908                                                                                                                                                            ]
4909                                                                                                                                                        },
4910                                                                                                                                                        {
4911                                                                                                                                                            "fn": "parseURL",
4912                                                                                                                                                            "argv": [
4913                                                                                                                                                                {
4914                                                                                                                                                                    "ref": "Endpoint"
4915                                                                                                                                                                }
4916                                                                                                                                                            ],
4917                                                                                                                                                            "assign": "url"
4918                                                                                                                                                        }
4919                                                                                                                                                    ],
4920                                                                                                                                                    "endpoint": {
4921                                                                                                                                                        "url": "{url#scheme}://{accessPointName}-{bucketArn#accountId}.{url#authority}{url#path}",
4922                                                                                                                                                        "properties": {
4923                                                                                                                                                            "authSchemes": [
4924                                                                                                                                                                {
4925                                                                                                                                                                    "disableDoubleEncoding": true,
4926                                                                                                                                                                    "name": "sigv4",
4927                                                                                                                                                                    "signingName": "s3",
4928                                                                                                                                                                    "signingRegion": "{bucketArn#region}"
4929                                                                                                                                                                }
4930                                                                                                                                                            ]
4931                                                                                                                                                        },
4932                                                                                                                                                        "headers": {}
4933                                                                                                                                                    },
4934                                                                                                                                                    "type": "endpoint"
4935                                                                                                                                                },
4936                                                                                                                                                {
4937                                                                                                                                                    "conditions": [
4938                                                                                                                                                        {
4939                                                                                                                                                            "fn": "booleanEquals",
4940                                                                                                                                                            "argv": [
4941                                                                                                                                                                {
4942                                                                                                                                                                    "ref": "UseFIPS"
4943                                                                                                                                                                },
4944                                                                                                                                                                false
4945                                                                                                                                                            ]
4946                                                                                                                                                        },
4947                                                                                                                                                        {
4948                                                                                                                                                            "fn": "booleanEquals",
4949                                                                                                                                                            "argv": [
4950                                                                                                                                                                {
4951                                                                                                                                                                    "ref": "UseDualStack"
4952                                                                                                                                                                },
4953                                                                                                                                                                false
4954                                                                                                                                                            ]
4955                                                                                                                                                        }
4956                                                                                                                                                    ],
4957                                                                                                                                                    "endpoint": {
4958                                                                                                                                                        "url": "https://{accessPointName}-{bucketArn#accountId}.s3-accesspoint.{bucketArn#region}.{bucketPartition#dnsSuffix}",
4959                                                                                                                                                        "properties": {
4960                                                                                                                                                            "authSchemes": [
4961                                                                                                                                                                {
4962                                                                                                                                                                    "disableDoubleEncoding": true,
4963                                                                                                                                                                    "name": "sigv4",
4964                                                                                                                                                                    "signingName": "s3",
4965                                                                                                                                                                    "signingRegion": "{bucketArn#region}"
4966                                                                                                                                                                }
4967                                                                                                                                                            ]
4968                                                                                                                                                        },
4969                                                                                                                                                        "headers": {}
4970                                                                                                                                                    },
4971                                                                                                                                                    "type": "endpoint"
4972                                                                                                                                                }
4973                                                                                                                                            ],
4974                                                                                                                                            "type": "tree"
4975                                                                                                                                        },
4976                                                                                                                                        {
4977                                                                                                                                            "conditions": [],
4978                                                                                                                                            "error": "Invalid ARN: The access point name may only contain a-z, A-Z, 0-9 and `-`. Found: `{accessPointName}`",
4979                                                                                                                                            "type": "error"
4980                                                                                                                                        }
4981                                                                                                                                    ],
4982                                                                                                                                    "type": "tree"
4983                                                                                                                                },
4984                                                                                                                                {
4985                                                                                                                                    "conditions": [],
4986                                                                                                                                    "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",
4987                                                                                                                                    "type": "error"
4988                                                                                                                                }
4989                                                                                                                            ],
4990                                                                                                                            "type": "tree"
4991                                                                                                                        },
4992                                                                                                                        {
4993                                                                                                                            "conditions": [],
4994                                                                                                                            "error": "Invalid ARN: The ARN was not for the S3 service, found: {bucketArn#service}",
4995                                                                                                                            "type": "error"
4996                                                                                                                        }
4997                                                                                                                    ],
4998                                                                                                                    "type": "tree"
4999                                                                                                                },
5000                                                                                                                {
5001                                                                                                                    "conditions": [],
5002                                                                                                                    "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",
5003                                                                                                                    "type": "error"
5004                                                                                                                }
5005                                                                                                            ],
5006                                                                                                            "type": "tree"
5007                                                                                                        },
5008                                                                                                        {
5009                                                                                                            "conditions": [],
5010                                                                                                            "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",
5011                                                                                                            "type": "error"
5012                                                                                                        }
5013                                                                                                    ],
5014                                                                                                    "type": "tree"
5015                                                                                                }
5016                                                                                            ],
5017                                                                                            "type": "tree"
5018                                                                                        }
5019                                                                                    ],
5020                                                                                    "type": "tree"
5021                                                                                },
5022                                                                                {
5023                                                                                    "conditions": [],
5024                                                                                    "error": "Invalid ARN: The ARN may only contain a single resource component after `accesspoint`.",
5025                                                                                    "type": "error"
5026                                                                                }
5027                                                                            ],
5028                                                                            "type": "tree"
5029                                                                        }
5030                                                                    ],
5031                                                                    "type": "tree"
5032                                                                }
5033                                                            ],
5034                                                            "type": "tree"
5035                                                        },
5036                                                        {
5037                                                            "conditions": [
5038                                                                {
5039                                                                    "fn": "isValidHostLabel",
5040                                                                    "argv": [
5041                                                                        {
5042                                                                            "ref": "accessPointName"
5043                                                                        },
5044                                                                        true
5045                                                                    ]
5046                                                                }
5047                                                            ],
5048                                                            "rules": [
5049                                                                {
5050                                                                    "conditions": [
5051                                                                        {
5052                                                                            "fn": "booleanEquals",
5053                                                                            "argv": [
5054                                                                                {
5055                                                                                    "ref": "UseDualStack"
5056                                                                                },
5057                                                                                true
5058                                                                            ]
5059                                                                        }
5060                                                                    ],
5061                                                                    "error": "S3 MRAP does not support dual-stack",
5062                                                                    "type": "error"
5063                                                                },
5064                                                                {
5065                                                                    "conditions": [
5066                                                                        {
5067                                                                            "fn": "booleanEquals",
5068                                                                            "argv": [
5069                                                                                {
5070                                                                                    "ref": "UseFIPS"
5071                                                                                },
5072                                                                                true
5073                                                                            ]
5074                                                                        }
5075                                                                    ],
5076                                                                    "error": "S3 MRAP does not support FIPS",
5077                                                                    "type": "error"
5078                                                                },
5079                                                                {
5080                                                                    "conditions": [
5081                                                                        {
5082                                                                            "fn": "booleanEquals",
5083                                                                            "argv": [
5084                                                                                {
5085                                                                                    "ref": "Accelerate"
5086                                                                                },
5087                                                                                true
5088                                                                            ]
5089                                                                        }
5090                                                                    ],
5091                                                                    "error": "S3 MRAP does not support S3 Accelerate",
5092                                                                    "type": "error"
5093                                                                },
5094                                                                {
5095                                                                    "conditions": [
5096                                                                        {
5097                                                                            "fn": "booleanEquals",
5098                                                                            "argv": [
5099                                                                                {
5100                                                                                    "ref": "DisableMultiRegionAccessPoints"
5101                                                                                },
5102                                                                                true
5103                                                                            ]
5104                                                                        }
5105                                                                    ],
5106                                                                    "error": "Invalid configuration: Multi-Region Access Point ARNs are disabled.",
5107                                                                    "type": "error"
5108                                                                },
5109                                                                {
5110                                                                    "conditions": [
5111                                                                        {
5112                                                                            "fn": "aws.partition",
5113                                                                            "argv": [
5114                                                                                {
5115                                                                                    "ref": "Region"
5116                                                                                }
5117                                                                            ],
5118                                                                            "assign": "mrapPartition"
5119                                                                        }
5120                                                                    ],
5121                                                                    "rules": [
5122                                                                        {
5123                                                                            "conditions": [
5124                                                                                {
5125                                                                                    "fn": "stringEquals",
5126                                                                                    "argv": [
5127                                                                                        {
5128                                                                                            "fn": "getAttr",
5129                                                                                            "argv": [
5130                                                                                                {
5131                                                                                                    "ref": "mrapPartition"
5132                                                                                                },
5133                                                                                                "name"
5134                                                                                            ]
5135                                                                                        },
5136                                                                                        {
5137                                                                                            "fn": "getAttr",
5138                                                                                            "argv": [
5139                                                                                                {
5140                                                                                                    "ref": "bucketArn"
5141                                                                                                },
5142                                                                                                "partition"
5143                                                                                            ]
5144                                                                                        }
5145                                                                                    ]
5146                                                                                }
5147                                                                            ],
5148                                                                            "rules": [
5149                                                                                {
5150                                                                                    "conditions": [],
5151                                                                                    "endpoint": {
5152                                                                                        "url": "https://{accessPointName}.accesspoint.s3-global.{mrapPartition#dnsSuffix}",
5153                                                                                        "properties": {
5154                                                                                            "authSchemes": [
5155                                                                                                {
5156                                                                                                    "disableDoubleEncoding": true,
5157                                                                                                    "name": "sigv4a",
5158                                                                                                    "signingName": "s3",
5159                                                                                                    "signingRegionSet": [
5160                                                                                                        "*"
5161                                                                                                    ]
5162                                                                                                }
5163                                                                                            ]
5164                                                                                        },
5165                                                                                        "headers": {}
5166                                                                                    },
5167                                                                                    "type": "endpoint"
5168                                                                                }
5169                                                                            ],
5170                                                                            "type": "tree"
5171                                                                        },
5172                                                                        {
5173                                                                            "conditions": [],
5174                                                                            "error": "Client was configured for partition `{mrapPartition#name}` but bucket referred to partition `{bucketArn#partition}`",
5175                                                                            "type": "error"
5176                                                                        }
5177                                                                    ],
5178                                                                    "type": "tree"
5179                                                                }
5180                                                            ],
5181                                                            "type": "tree"
5182                                                        },
5183                                                        {
5184                                                            "conditions": [],
5185                                                            "error": "Invalid Access Point Name",
5186                                                            "type": "error"
5187                                                        }
5188                                                    ],
5189                                                    "type": "tree"
5190                                                },
5191                                                {
5192                                                    "conditions": [],
5193                                                    "error": "Invalid ARN: Expected a resource of the format `accesspoint:<accesspoint name>` but no name was provided",
5194                                                    "type": "error"
5195                                                }
5196                                            ],
5197                                            "type": "tree"
5198                                        },
5199                                        {
5200                                            "conditions": [
5201                                                {
5202                                                    "fn": "stringEquals",
5203                                                    "argv": [
5204                                                        {
5205                                                            "fn": "getAttr",
5206                                                            "argv": [
5207                                                                {
5208                                                                    "ref": "bucketArn"
5209                                                                },
5210                                                                "service"
5211                                                            ]
5212                                                        },
5213                                                        "s3-outposts"
5214                                                    ]
5215                                                }
5216                                            ],
5217                                            "rules": [
5218                                                {
5219                                                    "conditions": [
5220                                                        {
5221                                                            "fn": "booleanEquals",
5222                                                            "argv": [
5223                                                                {
5224                                                                    "ref": "UseDualStack"
5225                                                                },
5226                                                                true
5227                                                            ]
5228                                                        }
5229                                                    ],
5230                                                    "error": "S3 Outposts does not support Dual-stack",
5231                                                    "type": "error"
5232                                                },
5233                                                {
5234                                                    "conditions": [
5235                                                        {
5236                                                            "fn": "booleanEquals",
5237                                                            "argv": [
5238                                                                {
5239                                                                    "ref": "UseFIPS"
5240                                                                },
5241                                                                true
5242                                                            ]
5243                                                        }
5244                                                    ],
5245                                                    "error": "S3 Outposts does not support FIPS",
5246                                                    "type": "error"
5247                                                },
5248                                                {
5249                                                    "conditions": [
5250                                                        {
5251                                                            "fn": "booleanEquals",
5252                                                            "argv": [
5253                                                                {
5254                                                                    "ref": "Accelerate"
5255                                                                },
5256                                                                true
5257                                                            ]
5258                                                        }
5259                                                    ],
5260                                                    "error": "S3 Outposts does not support S3 Accelerate",
5261                                                    "type": "error"
5262                                                },
5263                                                {
5264                                                    "conditions": [
5265                                                        {
5266                                                            "fn": "isSet",
5267                                                            "argv": [
5268                                                                {
5269                                                                    "fn": "getAttr",
5270                                                                    "argv": [
5271                                                                        {
5272                                                                            "ref": "bucketArn"
5273                                                                        },
5274                                                                        "resourceId[4]"
5275                                                                    ]
5276                                                                }
5277                                                            ]
5278                                                        }
5279                                                    ],
5280                                                    "error": "Invalid Arn: Outpost Access Point ARN contains sub resources",
5281                                                    "type": "error"
5282                                                },
5283                                                {
5284                                                    "conditions": [
5285                                                        {
5286                                                            "fn": "getAttr",
5287                                                            "argv": [
5288                                                                {
5289                                                                    "ref": "bucketArn"
5290                                                                },
5291                                                                "resourceId[1]"
5292                                                            ],
5293                                                            "assign": "outpostId"
5294                                                        }
5295                                                    ],
5296                                                    "rules": [
5297                                                        {
5298                                                            "conditions": [
5299                                                                {
5300                                                                    "fn": "isValidHostLabel",
5301                                                                    "argv": [
5302                                                                        {
5303                                                                            "ref": "outpostId"
5304                                                                        },
5305                                                                        false
5306                                                                    ]
5307                                                                }
5308                                                            ],
5309                                                            "rules": [
5310                                                                {
5311                                                                    "conditions": [
5312                                                                        {
5313                                                                            "fn": "isSet",
5314                                                                            "argv": [
5315                                                                                {
5316                                                                                    "ref": "UseArnRegion"
5317                                                                                }
5318                                                                            ]
5319                                                                        },
5320                                                                        {
5321                                                                            "fn": "booleanEquals",
5322                                                                            "argv": [
5323                                                                                {
5324                                                                                    "ref": "UseArnRegion"
5325                                                                                },
5326                                                                                false
5327                                                                            ]
5328                                                                        },
5329                                                                        {
5330                                                                            "fn": "not",
5331                                                                            "argv": [
5332                                                                                {
5333                                                                                    "fn": "stringEquals",
5334                                                                                    "argv": [
5335                                                                                        {
5336                                                                                            "fn": "getAttr",
5337                                                                                            "argv": [
5338                                                                                                {
5339                                                                                                    "ref": "bucketArn"
5340                                                                                                },
5341                                                                                                "region"
5342                                                                                            ]
5343                                                                                        },
5344                                                                                        "{Region}"
5345                                                                                    ]
5346                                                                                }
5347                                                                            ]
5348                                                                        }
5349                                                                    ],
5350                                                                    "error": "Invalid configuration: region from ARN `{bucketArn#region}` does not match client region `{Region}` and UseArnRegion is `false`",
5351                                                                    "type": "error"
5352                                                                },
5353                                                                {
5354                                                                    "conditions": [
5355                                                                        {
5356                                                                            "fn": "aws.partition",
5357                                                                            "argv": [
5358                                                                                {
5359                                                                                    "fn": "getAttr",
5360                                                                                    "argv": [
5361                                                                                        {
5362                                                                                            "ref": "bucketArn"
5363                                                                                        },
5364                                                                                        "region"
5365                                                                                    ]
5366                                                                                }
5367                                                                            ],
5368                                                                            "assign": "bucketPartition"
5369                                                                        }
5370                                                                    ],
5371                                                                    "rules": [
5372                                                                        {
5373                                                                            "conditions": [
5374                                                                                {
5375                                                                                    "fn": "aws.partition",
5376                                                                                    "argv": [
5377                                                                                        {
5378                                                                                            "ref": "Region"
5379                                                                                        }
5380                                                                                    ],
5381                                                                                    "assign": "partitionResult"
5382                                                                                }
5383                                                                            ],
5384                                                                            "rules": [
5385                                                                                {
5386                                                                                    "conditions": [
5387                                                                                        {
5388                                                                                            "fn": "stringEquals",
5389                                                                                            "argv": [
5390                                                                                                {
5391                                                                                                    "fn": "getAttr",
5392                                                                                                    "argv": [
5393                                                                                                        {
5394                                                                                                            "ref": "bucketPartition"
5395                                                                                                        },
5396                                                                                                        "name"
5397                                                                                                    ]
5398                                                                                                },
5399                                                                                                {
5400                                                                                                    "fn": "getAttr",
5401                                                                                                    "argv": [
5402                                                                                                        {
5403                                                                                                            "ref": "partitionResult"
5404                                                                                                        },
5405                                                                                                        "name"
5406                                                                                                    ]
5407                                                                                                }
5408                                                                                            ]
5409                                                                                        }
5410                                                                                    ],
5411                                                                                    "rules": [
5412                                                                                        {
5413                                                                                            "conditions": [
5414                                                                                                {
5415                                                                                                    "fn": "isValidHostLabel",
5416                                                                                                    "argv": [
5417                                                                                                        {
5418                                                                                                            "fn": "getAttr",
5419                                                                                                            "argv": [
5420                                                                                                                {
5421                                                                                                                    "ref": "bucketArn"
5422                                                                                                                },
5423                                                                                                                "region"
5424                                                                                                            ]
5425                                                                                                        },
5426                                                                                                        true
5427                                                                                                    ]
5428                                                                                                }
5429                                                                                            ],
5430                                                                                            "rules": [
5431                                                                                                {
5432                                                                                                    "conditions": [
5433                                                                                                        {
5434                                                                                                            "fn": "isValidHostLabel",
5435                                                                                                            "argv": [
5436                                                                                                                {
5437                                                                                                                    "fn": "getAttr",
5438                                                                                                                    "argv": [
5439                                                                                                                        {
5440                                                                                                                            "ref": "bucketArn"
5441                                                                                                                        },
5442                                                                                                                        "accountId"
5443                                                                                                                    ]
5444                                                                                                                },
5445                                                                                                                false
5446                                                                                                            ]
5447                                                                                                        }
5448                                                                                                    ],
5449                                                                                                    "rules": [
5450                                                                                                        {
5451                                                                                                            "conditions": [
5452                                                                                                                {
5453                                                                                                                    "fn": "getAttr",
5454                                                                                                                    "argv": [
5455                                                                                                                        {
5456                                                                                                                            "ref": "bucketArn"
5457                                                                                                                        },
5458                                                                                                                        "resourceId[2]"
5459                                                                                                                    ],
5460                                                                                                                    "assign": "outpostType"
5461                                                                                                                }
5462                                                                                                            ],
5463                                                                                                            "rules": [
5464                                                                                                                {
5465                                                                                                                    "conditions": [
5466                                                                                                                        {
5467                                                                                                                            "fn": "getAttr",
5468                                                                                                                            "argv": [
5469                                                                                                                                {
5470                                                                                                                                    "ref": "bucketArn"
5471                                                                                                                                },
5472                                                                                                                                "resourceId[3]"
5473                                                                                                                            ],
5474                                                                                                                            "assign": "accessPointName"
5475                                                                                                                        }
5476                                                                                                                    ],
5477                                                                                                                    "rules": [
5478                                                                                                                        {
5479                                                                                                                            "conditions": [
5480                                                                                                                                {
5481                                                                                                                                    "fn": "stringEquals",
5482                                                                                                                                    "argv": [
5483                                                                                                                                        {
5484                                                                                                                                            "ref": "outpostType"
5485                                                                                                                                        },
5486                                                                                                                                        "accesspoint"
5487                                                                                                                                    ]
5488                                                                                                                                }
5489                                                                                                                            ],
5490                                                                                                                            "rules": [
5491                                                                                                                                {
5492                                                                                                                                    "conditions": [
5493                                                                                                                                        {
5494                                                                                                                                            "fn": "isSet",
5495                                                                                                                                            "argv": [
5496                                                                                                                                                {
5497                                                                                                                                                    "ref": "Endpoint"
5498                                                                                                                                                }
5499                                                                                                                                            ]
5500                                                                                                                                        },
5501                                                                                                                                        {
5502                                                                                                                                            "fn": "parseURL",
5503                                                                                                                                            "argv": [
5504                                                                                                                                                {
5505                                                                                                                                                    "ref": "Endpoint"
5506                                                                                                                                                }
5507                                                                                                                                            ],
5508                                                                                                                                            "assign": "url"
5509                                                                                                                                        }
5510                                                                                                                                    ],
5511                                                                                                                                    "endpoint": {
5512                                                                                                                                        "url": "https://{accessPointName}-{bucketArn#accountId}.{outpostId}.{url#authority}",
5513                                                                                                                                        "properties": {
5514                                                                                                                                            "authSchemes": [
5515                                                                                                                                                {
5516                                                                                                                                                    "disableDoubleEncoding": true,
5517                                                                                                                                                    "name": "sigv4",
5518                                                                                                                                                    "signingName": "s3-outposts",
5519                                                                                                                                                    "signingRegion": "{bucketArn#region}"
5520                                                                                                                                                }
5521                                                                                                                                            ]
5522                                                                                                                                        },
5523                                                                                                                                        "headers": {}
5524                                                                                                                                    },
5525                                                                                                                                    "type": "endpoint"
5526                                                                                                                                },
5527                                                                                                                                {
5528                                                                                                                                    "conditions": [],
5529                                                                                                                                    "endpoint": {
5530                                                                                                                                        "url": "https://{accessPointName}-{bucketArn#accountId}.{outpostId}.s3-outposts.{bucketArn#region}.{bucketPartition#dnsSuffix}",
5531                                                                                                                                        "properties": {
5532                                                                                                                                            "authSchemes": [
5533                                                                                                                                                {
5534                                                                                                                                                    "disableDoubleEncoding": true,
5535                                                                                                                                                    "name": "sigv4",
5536                                                                                                                                                    "signingName": "s3-outposts",
5537                                                                                                                                                    "signingRegion": "{bucketArn#region}"
5538                                                                                                                                                }
5539                                                                                                                                            ]
5540                                                                                                                                        },
5541                                                                                                                                        "headers": {}
5542                                                                                                                                    },
5543                                                                                                                                    "type": "endpoint"
5544                                                                                                                                }
5545                                                                                                                            ],
5546                                                                                                                            "type": "tree"
5547                                                                                                                        },
5548                                                                                                                        {
5549                                                                                                                            "conditions": [],
5550                                                                                                                            "error": "Expected an outpost type `accesspoint`, found {outpostType}",
5551                                                                                                                            "type": "error"
5552                                                                                                                        }
5553                                                                                                                    ],
5554                                                                                                                    "type": "tree"
5555                                                                                                                },
5556                                                                                                                {
5557                                                                                                                    "conditions": [],
5558                                                                                                                    "error": "Invalid ARN: expected an access point name",
5559                                                                                                                    "type": "error"
5560                                                                                                                }
5561                                                                                                            ],
5562                                                                                                            "type": "tree"
5563                                                                                                        },
5564                                                                                                        {
5565                                                                                                            "conditions": [],
5566                                                                                                            "error": "Invalid ARN: Expected a 4-component resource",
5567                                                                                                            "type": "error"
5568                                                                                                        }
5569                                                                                                    ],
5570                                                                                                    "type": "tree"
5571                                                                                                },
5572                                                                                                {
5573                                                                                                    "conditions": [],
5574                                                                                                    "error": "Invalid ARN: The account id may only contain a-z, A-Z, 0-9 and `-`. Found: `{bucketArn#accountId}`",
5575                                                                                                    "type": "error"
5576                                                                                                }
5577                                                                                            ],
5578                                                                                            "type": "tree"
5579                                                                                        },
5580                                                                                        {
5581                                                                                            "conditions": [],
5582                                                                                            "error": "Invalid region in ARN: `{bucketArn#region}` (invalid DNS name)",
5583                                                                                            "type": "error"
5584                                                                                        }
5585                                                                                    ],
5586                                                                                    "type": "tree"
5587                                                                                },
5588                                                                                {
5589                                                                                    "conditions": [],
5590                                                                                    "error": "Client was configured for partition `{partitionResult#name}` but ARN (`{Bucket}`) has `{bucketPartition#name}`",
5591                                                                                    "type": "error"
5592                                                                                }
5593                                                                            ],
5594                                                                            "type": "tree"
5595                                                                        }
5596                                                                    ],
5597                                                                    "type": "tree"
5598                                                                }
5599                                                            ],
5600                                                            "type": "tree"
5601                                                        },
5602                                                        {
5603                                                            "conditions": [],
5604                                                            "error": "Invalid ARN: The outpost Id may only contain a-z, A-Z, 0-9 and `-`. Found: `{outpostId}`",
5605                                                            "type": "error"
5606                                                        }
5607                                                    ],
5608                                                    "type": "tree"
5609                                                },
5610                                                {
5611                                                    "conditions": [],
5612                                                    "error": "Invalid ARN: The Outpost Id was not set",
5613                                                    "type": "error"
5614                                                }
5615                                            ],
5616                                            "type": "tree"
5617                                        },
5618                                        {
5619                                            "conditions": [],
5620                                            "error": "Invalid ARN: Unrecognized format: {Bucket} (type: {arnType})",
5621                                            "type": "error"
5622                                        }
5623                                    ],
5624                                    "type": "tree"
5625                                },
5626                                {
5627                                    "conditions": [],
5628                                    "error": "Invalid ARN: No ARN type specified",
5629                                    "type": "error"
5630                                }
5631                            ],
5632                            "type": "tree"
5633                        },
5634                        {
5635                            "conditions": [
5636                                {
5637                                    "fn": "substring",
5638                                    "argv": [
5639                                        {
5640                                            "ref": "Bucket"
5641                                        },
5642                                        0,
5643                                        4,
5644                                        false
5645                                    ],
5646                                    "assign": "arnPrefix"
5647                                },
5648                                {
5649                                    "fn": "stringEquals",
5650                                    "argv": [
5651                                        {
5652                                            "ref": "arnPrefix"
5653                                        },
5654                                        "arn:"
5655                                    ]
5656                                },
5657                                {
5658                                    "fn": "not",
5659                                    "argv": [
5660                                        {
5661                                            "fn": "isSet",
5662                                            "argv": [
5663                                                {
5664                                                    "fn": "aws.parseArn",
5665                                                    "argv": [
5666                                                        {
5667                                                            "ref": "Bucket"
5668                                                        }
5669                                                    ]
5670                                                }
5671                                            ]
5672                                        }
5673                                    ]
5674                                }
5675                            ],
5676                            "error": "Invalid ARN: `{Bucket}` was not a valid ARN",
5677                            "type": "error"
5678                        },
5679                        {
5680                            "conditions": [
5681                                {
5682                                    "fn": "booleanEquals",
5683                                    "argv": [
5684                                        {
5685                                            "ref": "ForcePathStyle"
5686                                        },
5687                                        true
5688                                    ]
5689                                },
5690                                {
5691                                    "fn": "aws.parseArn",
5692                                    "argv": [
5693                                        {
5694                                            "ref": "Bucket"
5695                                        }
5696                                    ]
5697                                }
5698                            ],
5699                            "error": "Path-style addressing cannot be used with ARN buckets",
5700                            "type": "error"
5701                        },
5702                        {
5703                            "conditions": [
5704                                {
5705                                    "fn": "uriEncode",
5706                                    "argv": [
5707                                        {
5708                                            "ref": "Bucket"
5709                                        }
5710                                    ],
5711                                    "assign": "uri_encoded_bucket"
5712                                }
5713                            ],
5714                            "rules": [
5715                                {
5716                                    "conditions": [
5717                                        {
5718                                            "fn": "aws.partition",
5719                                            "argv": [
5720                                                {
5721                                                    "ref": "Region"
5722                                                }
5723                                            ],
5724                                            "assign": "partitionResult"
5725                                        }
5726                                    ],
5727                                    "rules": [
5728                                        {
5729                                            "conditions": [
5730                                                {
5731                                                    "fn": "booleanEquals",
5732                                                    "argv": [
5733                                                        {
5734                                                            "ref": "Accelerate"
5735                                                        },
5736                                                        false
5737                                                    ]
5738                                                }
5739                                            ],
5740                                            "rules": [
5741                                                {
5742                                                    "conditions": [
5743                                                        {
5744                                                            "fn": "booleanEquals",
5745                                                            "argv": [
5746                                                                {
5747                                                                    "ref": "UseDualStack"
5748                                                                },
5749                                                                true
5750                                                            ]
5751                                                        },
5752                                                        {
5753                                                            "fn": "not",
5754                                                            "argv": [
5755                                                                {
5756                                                                    "fn": "isSet",
5757                                                                    "argv": [
5758                                                                        {
5759                                                                            "ref": "Endpoint"
5760                                                                        }
5761                                                                    ]
5762                                                                }
5763                                                            ]
5764                                                        },
5765                                                        {
5766                                                            "fn": "booleanEquals",
5767                                                            "argv": [
5768                                                                {
5769                                                                    "ref": "UseFIPS"
5770                                                                },
5771                                                                true
5772                                                            ]
5773                                                        },
5774                                                        {
5775                                                            "fn": "stringEquals",
5776                                                            "argv": [
5777                                                                {
5778                                                                    "ref": "Region"
5779                                                                },
5780                                                                "aws-global"
5781                                                            ]
5782                                                        }
5783                                                    ],
5784                                                    "endpoint": {
5785                                                        "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
5786                                                        "properties": {
5787                                                            "authSchemes": [
5788                                                                {
5789                                                                    "disableDoubleEncoding": true,
5790                                                                    "name": "sigv4",
5791                                                                    "signingName": "s3",
5792                                                                    "signingRegion": "us-east-1"
5793                                                                }
5794                                                            ]
5795                                                        },
5796                                                        "headers": {}
5797                                                    },
5798                                                    "type": "endpoint"
5799                                                },
5800                                                {
5801                                                    "conditions": [
5802                                                        {
5803                                                            "fn": "booleanEquals",
5804                                                            "argv": [
5805                                                                {
5806                                                                    "ref": "UseDualStack"
5807                                                                },
5808                                                                true
5809                                                            ]
5810                                                        },
5811                                                        {
5812                                                            "fn": "not",
5813                                                            "argv": [
5814                                                                {
5815                                                                    "fn": "isSet",
5816                                                                    "argv": [
5817                                                                        {
5818                                                                            "ref": "Endpoint"
5819                                                                        }
5820                                                                    ]
5821                                                                }
5822                                                            ]
5823                                                        },
5824                                                        {
5825                                                            "fn": "booleanEquals",
5826                                                            "argv": [
5827                                                                {
5828                                                                    "ref": "UseFIPS"
5829                                                                },
5830                                                                true
5831                                                            ]
5832                                                        },
5833                                                        {
5834                                                            "fn": "not",
5835                                                            "argv": [
5836                                                                {
5837                                                                    "fn": "stringEquals",
5838                                                                    "argv": [
5839                                                                        {
5840                                                                            "ref": "Region"
5841                                                                        },
5842                                                                        "aws-global"
5843                                                                    ]
5844                                                                }
5845                                                            ]
5846                                                        },
5847                                                        {
5848                                                            "fn": "booleanEquals",
5849                                                            "argv": [
5850                                                                {
5851                                                                    "ref": "UseGlobalEndpoint"
5852                                                                },
5853                                                                true
5854                                                            ]
5855                                                        }
5856                                                    ],
5857                                                    "rules": [
5858                                                        {
5859                                                            "conditions": [],
5860                                                            "endpoint": {
5861                                                                "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
5862                                                                "properties": {
5863                                                                    "authSchemes": [
5864                                                                        {
5865                                                                            "disableDoubleEncoding": true,
5866                                                                            "name": "sigv4",
5867                                                                            "signingName": "s3",
5868                                                                            "signingRegion": "{Region}"
5869                                                                        }
5870                                                                    ]
5871                                                                },
5872                                                                "headers": {}
5873                                                            },
5874                                                            "type": "endpoint"
5875                                                        }
5876                                                    ],
5877                                                    "type": "tree"
5878                                                },
5879                                                {
5880                                                    "conditions": [
5881                                                        {
5882                                                            "fn": "booleanEquals",
5883                                                            "argv": [
5884                                                                {
5885                                                                    "ref": "UseDualStack"
5886                                                                },
5887                                                                true
5888                                                            ]
5889                                                        },
5890                                                        {
5891                                                            "fn": "not",
5892                                                            "argv": [
5893                                                                {
5894                                                                    "fn": "isSet",
5895                                                                    "argv": [
5896                                                                        {
5897                                                                            "ref": "Endpoint"
5898                                                                        }
5899                                                                    ]
5900                                                                }
5901                                                            ]
5902                                                        },
5903                                                        {
5904                                                            "fn": "booleanEquals",
5905                                                            "argv": [
5906                                                                {
5907                                                                    "ref": "UseFIPS"
5908                                                                },
5909                                                                true
5910                                                            ]
5911                                                        },
5912                                                        {
5913                                                            "fn": "not",
5914                                                            "argv": [
5915                                                                {
5916                                                                    "fn": "stringEquals",
5917                                                                    "argv": [
5918                                                                        {
5919                                                                            "ref": "Region"
5920                                                                        },
5921                                                                        "aws-global"
5922                                                                    ]
5923                                                                }
5924                                                            ]
5925                                                        },
5926                                                        {
5927                                                            "fn": "booleanEquals",
5928                                                            "argv": [
5929                                                                {
5930                                                                    "ref": "UseGlobalEndpoint"
5931                                                                },
5932                                                                false
5933                                                            ]
5934                                                        }
5935                                                    ],
5936                                                    "endpoint": {
5937                                                        "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
5938                                                        "properties": {
5939                                                            "authSchemes": [
5940                                                                {
5941                                                                    "disableDoubleEncoding": true,
5942                                                                    "name": "sigv4",
5943                                                                    "signingName": "s3",
5944                                                                    "signingRegion": "{Region}"
5945                                                                }
5946                                                            ]
5947                                                        },
5948                                                        "headers": {}
5949                                                    },
5950                                                    "type": "endpoint"
5951                                                },
5952                                                {
5953                                                    "conditions": [
5954                                                        {
5955                                                            "fn": "booleanEquals",
5956                                                            "argv": [
5957                                                                {
5958                                                                    "ref": "UseDualStack"
5959                                                                },
5960                                                                false
5961                                                            ]
5962                                                        },
5963                                                        {
5964                                                            "fn": "not",
5965                                                            "argv": [
5966                                                                {
5967                                                                    "fn": "isSet",
5968                                                                    "argv": [
5969                                                                        {
5970                                                                            "ref": "Endpoint"
5971                                                                        }
5972                                                                    ]
5973                                                                }
5974                                                            ]
5975                                                        },
5976                                                        {
5977                                                            "fn": "booleanEquals",
5978                                                            "argv": [
5979                                                                {
5980                                                                    "ref": "UseFIPS"
5981                                                                },
5982                                                                true
5983                                                            ]
5984                                                        },
5985                                                        {
5986                                                            "fn": "stringEquals",
5987                                                            "argv": [
5988                                                                {
5989                                                                    "ref": "Region"
5990                                                                },
5991                                                                "aws-global"
5992                                                            ]
5993                                                        }
5994                                                    ],
5995                                                    "endpoint": {
5996                                                        "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
5997                                                        "properties": {
5998                                                            "authSchemes": [
5999                                                                {
6000                                                                    "disableDoubleEncoding": true,
6001                                                                    "name": "sigv4",
6002                                                                    "signingName": "s3",
6003                                                                    "signingRegion": "us-east-1"
6004                                                                }
6005                                                            ]
6006                                                        },
6007                                                        "headers": {}
6008                                                    },
6009                                                    "type": "endpoint"
6010                                                },
6011                                                {
6012                                                    "conditions": [
6013                                                        {
6014                                                            "fn": "booleanEquals",
6015                                                            "argv": [
6016                                                                {
6017                                                                    "ref": "UseDualStack"
6018                                                                },
6019                                                                false
6020                                                            ]
6021                                                        },
6022                                                        {
6023                                                            "fn": "not",
6024                                                            "argv": [
6025                                                                {
6026                                                                    "fn": "isSet",
6027                                                                    "argv": [
6028                                                                        {
6029                                                                            "ref": "Endpoint"
6030                                                                        }
6031                                                                    ]
6032                                                                }
6033                                                            ]
6034                                                        },
6035                                                        {
6036                                                            "fn": "booleanEquals",
6037                                                            "argv": [
6038                                                                {
6039                                                                    "ref": "UseFIPS"
6040                                                                },
6041                                                                true
6042                                                            ]
6043                                                        },
6044                                                        {
6045                                                            "fn": "not",
6046                                                            "argv": [
6047                                                                {
6048                                                                    "fn": "stringEquals",
6049                                                                    "argv": [
6050                                                                        {
6051                                                                            "ref": "Region"
6052                                                                        },
6053                                                                        "aws-global"
6054                                                                    ]
6055                                                                }
6056                                                            ]
6057                                                        },
6058                                                        {
6059                                                            "fn": "booleanEquals",
6060                                                            "argv": [
6061                                                                {
6062                                                                    "ref": "UseGlobalEndpoint"
6063                                                                },
6064                                                                true
6065                                                            ]
6066                                                        }
6067                                                    ],
6068                                                    "rules": [
6069                                                        {
6070                                                            "conditions": [],
6071                                                            "endpoint": {
6072                                                                "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
6073                                                                "properties": {
6074                                                                    "authSchemes": [
6075                                                                        {
6076                                                                            "disableDoubleEncoding": true,
6077                                                                            "name": "sigv4",
6078                                                                            "signingName": "s3",
6079                                                                            "signingRegion": "{Region}"
6080                                                                        }
6081                                                                    ]
6082                                                                },
6083                                                                "headers": {}
6084                                                            },
6085                                                            "type": "endpoint"
6086                                                        }
6087                                                    ],
6088                                                    "type": "tree"
6089                                                },
6090                                                {
6091                                                    "conditions": [
6092                                                        {
6093                                                            "fn": "booleanEquals",
6094                                                            "argv": [
6095                                                                {
6096                                                                    "ref": "UseDualStack"
6097                                                                },
6098                                                                false
6099                                                            ]
6100                                                        },
6101                                                        {
6102                                                            "fn": "not",
6103                                                            "argv": [
6104                                                                {
6105                                                                    "fn": "isSet",
6106                                                                    "argv": [
6107                                                                        {
6108                                                                            "ref": "Endpoint"
6109                                                                        }
6110                                                                    ]
6111                                                                }
6112                                                            ]
6113                                                        },
6114                                                        {
6115                                                            "fn": "booleanEquals",
6116                                                            "argv": [
6117                                                                {
6118                                                                    "ref": "UseFIPS"
6119                                                                },
6120                                                                true
6121                                                            ]
6122                                                        },
6123                                                        {
6124                                                            "fn": "not",
6125                                                            "argv": [
6126                                                                {
6127                                                                    "fn": "stringEquals",
6128                                                                    "argv": [
6129                                                                        {
6130                                                                            "ref": "Region"
6131                                                                        },
6132                                                                        "aws-global"
6133                                                                    ]
6134                                                                }
6135                                                            ]
6136                                                        },
6137                                                        {
6138                                                            "fn": "booleanEquals",
6139                                                            "argv": [
6140                                                                {
6141                                                                    "ref": "UseGlobalEndpoint"
6142                                                                },
6143                                                                false
6144                                                            ]
6145                                                        }
6146                                                    ],
6147                                                    "endpoint": {
6148                                                        "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
6149                                                        "properties": {
6150                                                            "authSchemes": [
6151                                                                {
6152                                                                    "disableDoubleEncoding": true,
6153                                                                    "name": "sigv4",
6154                                                                    "signingName": "s3",
6155                                                                    "signingRegion": "{Region}"
6156                                                                }
6157                                                            ]
6158                                                        },
6159                                                        "headers": {}
6160                                                    },
6161                                                    "type": "endpoint"
6162                                                },
6163                                                {
6164                                                    "conditions": [
6165                                                        {
6166                                                            "fn": "booleanEquals",
6167                                                            "argv": [
6168                                                                {
6169                                                                    "ref": "UseDualStack"
6170                                                                },
6171                                                                true
6172                                                            ]
6173                                                        },
6174                                                        {
6175                                                            "fn": "not",
6176                                                            "argv": [
6177                                                                {
6178                                                                    "fn": "isSet",
6179                                                                    "argv": [
6180                                                                        {
6181                                                                            "ref": "Endpoint"
6182                                                                        }
6183                                                                    ]
6184                                                                }
6185                                                            ]
6186                                                        },
6187                                                        {
6188                                                            "fn": "booleanEquals",
6189                                                            "argv": [
6190                                                                {
6191                                                                    "ref": "UseFIPS"
6192                                                                },
6193                                                                false
6194                                                            ]
6195                                                        },
6196                                                        {
6197                                                            "fn": "stringEquals",
6198                                                            "argv": [
6199                                                                {
6200                                                                    "ref": "Region"
6201                                                                },
6202                                                                "aws-global"
6203                                                            ]
6204                                                        }
6205                                                    ],
6206                                                    "endpoint": {
6207                                                        "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
6208                                                        "properties": {
6209                                                            "authSchemes": [
6210                                                                {
6211                                                                    "disableDoubleEncoding": true,
6212                                                                    "name": "sigv4",
6213                                                                    "signingName": "s3",
6214                                                                    "signingRegion": "us-east-1"
6215                                                                }
6216                                                            ]
6217                                                        },
6218                                                        "headers": {}
6219                                                    },
6220                                                    "type": "endpoint"
6221                                                },
6222                                                {
6223                                                    "conditions": [
6224                                                        {
6225                                                            "fn": "booleanEquals",
6226                                                            "argv": [
6227                                                                {
6228                                                                    "ref": "UseDualStack"
6229                                                                },
6230                                                                true
6231                                                            ]
6232                                                        },
6233                                                        {
6234                                                            "fn": "not",
6235                                                            "argv": [
6236                                                                {
6237                                                                    "fn": "isSet",
6238                                                                    "argv": [
6239                                                                        {
6240                                                                            "ref": "Endpoint"
6241                                                                        }
6242                                                                    ]
6243                                                                }
6244                                                            ]
6245                                                        },
6246                                                        {
6247                                                            "fn": "booleanEquals",
6248                                                            "argv": [
6249                                                                {
6250                                                                    "ref": "UseFIPS"
6251                                                                },
6252                                                                false
6253                                                            ]
6254                                                        },
6255                                                        {
6256                                                            "fn": "not",
6257                                                            "argv": [
6258                                                                {
6259                                                                    "fn": "stringEquals",
6260                                                                    "argv": [
6261                                                                        {
6262                                                                            "ref": "Region"
6263                                                                        },
6264                                                                        "aws-global"
6265                                                                    ]
6266                                                                }
6267                                                            ]
6268                                                        },
6269                                                        {
6270                                                            "fn": "booleanEquals",
6271                                                            "argv": [
6272                                                                {
6273                                                                    "ref": "UseGlobalEndpoint"
6274                                                                },
6275                                                                true
6276                                                            ]
6277                                                        }
6278                                                    ],
6279                                                    "rules": [
6280                                                        {
6281                                                            "conditions": [],
6282                                                            "endpoint": {
6283                                                                "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
6284                                                                "properties": {
6285                                                                    "authSchemes": [
6286                                                                        {
6287                                                                            "disableDoubleEncoding": true,
6288                                                                            "name": "sigv4",
6289                                                                            "signingName": "s3",
6290                                                                            "signingRegion": "{Region}"
6291                                                                        }
6292                                                                    ]
6293                                                                },
6294                                                                "headers": {}
6295                                                            },
6296                                                            "type": "endpoint"
6297                                                        }
6298                                                    ],
6299                                                    "type": "tree"
6300                                                },
6301                                                {
6302                                                    "conditions": [
6303                                                        {
6304                                                            "fn": "booleanEquals",
6305                                                            "argv": [
6306                                                                {
6307                                                                    "ref": "UseDualStack"
6308                                                                },
6309                                                                true
6310                                                            ]
6311                                                        },
6312                                                        {
6313                                                            "fn": "not",
6314                                                            "argv": [
6315                                                                {
6316                                                                    "fn": "isSet",
6317                                                                    "argv": [
6318                                                                        {
6319                                                                            "ref": "Endpoint"
6320                                                                        }
6321                                                                    ]
6322                                                                }
6323                                                            ]
6324                                                        },
6325                                                        {
6326                                                            "fn": "booleanEquals",
6327                                                            "argv": [
6328                                                                {
6329                                                                    "ref": "UseFIPS"
6330                                                                },
6331                                                                false
6332                                                            ]
6333                                                        },
6334                                                        {
6335                                                            "fn": "not",
6336                                                            "argv": [
6337                                                                {
6338                                                                    "fn": "stringEquals",
6339                                                                    "argv": [
6340                                                                        {
6341                                                                            "ref": "Region"
6342                                                                        },
6343                                                                        "aws-global"
6344                                                                    ]
6345                                                                }
6346                                                            ]
6347                                                        },
6348                                                        {
6349                                                            "fn": "booleanEquals",
6350                                                            "argv": [
6351                                                                {
6352                                                                    "ref": "UseGlobalEndpoint"
6353                                                                },
6354                                                                false
6355                                                            ]
6356                                                        }
6357                                                    ],
6358                                                    "endpoint": {
6359                                                        "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
6360                                                        "properties": {
6361                                                            "authSchemes": [
6362                                                                {
6363                                                                    "disableDoubleEncoding": true,
6364                                                                    "name": "sigv4",
6365                                                                    "signingName": "s3",
6366                                                                    "signingRegion": "{Region}"
6367                                                                }
6368                                                            ]
6369                                                        },
6370                                                        "headers": {}
6371                                                    },
6372                                                    "type": "endpoint"
6373                                                },
6374                                                {
6375                                                    "conditions": [
6376                                                        {
6377                                                            "fn": "booleanEquals",
6378                                                            "argv": [
6379                                                                {
6380                                                                    "ref": "UseDualStack"
6381                                                                },
6382                                                                false
6383                                                            ]
6384                                                        },
6385                                                        {
6386                                                            "fn": "isSet",
6387                                                            "argv": [
6388                                                                {
6389                                                                    "ref": "Endpoint"
6390                                                                }
6391                                                            ]
6392                                                        },
6393                                                        {
6394                                                            "fn": "parseURL",
6395                                                            "argv": [
6396                                                                {
6397                                                                    "ref": "Endpoint"
6398                                                                }
6399                                                            ],
6400                                                            "assign": "url"
6401                                                        },
6402                                                        {
6403                                                            "fn": "booleanEquals",
6404                                                            "argv": [
6405                                                                {
6406                                                                    "ref": "UseFIPS"
6407                                                                },
6408                                                                false
6409                                                            ]
6410                                                        },
6411                                                        {
6412                                                            "fn": "stringEquals",
6413                                                            "argv": [
6414                                                                {
6415                                                                    "ref": "Region"
6416                                                                },
6417                                                                "aws-global"
6418                                                            ]
6419                                                        }
6420                                                    ],
6421                                                    "endpoint": {
6422                                                        "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",
6423                                                        "properties": {
6424                                                            "authSchemes": [
6425                                                                {
6426                                                                    "disableDoubleEncoding": true,
6427                                                                    "name": "sigv4",
6428                                                                    "signingName": "s3",
6429                                                                    "signingRegion": "us-east-1"
6430                                                                }
6431                                                            ]
6432                                                        },
6433                                                        "headers": {}
6434                                                    },
6435                                                    "type": "endpoint"
6436                                                },
6437                                                {
6438                                                    "conditions": [
6439                                                        {
6440                                                            "fn": "booleanEquals",
6441                                                            "argv": [
6442                                                                {
6443                                                                    "ref": "UseDualStack"
6444                                                                },
6445                                                                false
6446                                                            ]
6447                                                        },
6448                                                        {
6449                                                            "fn": "isSet",
6450                                                            "argv": [
6451                                                                {
6452                                                                    "ref": "Endpoint"
6453                                                                }
6454                                                            ]
6455                                                        },
6456                                                        {
6457                                                            "fn": "parseURL",
6458                                                            "argv": [
6459                                                                {
6460                                                                    "ref": "Endpoint"
6461                                                                }
6462                                                            ],
6463                                                            "assign": "url"
6464                                                        },
6465                                                        {
6466                                                            "fn": "booleanEquals",
6467                                                            "argv": [
6468                                                                {
6469                                                                    "ref": "UseFIPS"
6470                                                                },
6471                                                                false
6472                                                            ]
6473                                                        },
6474                                                        {
6475                                                            "fn": "not",
6476                                                            "argv": [
6477                                                                {
6478                                                                    "fn": "stringEquals",
6479                                                                    "argv": [
6480                                                                        {
6481                                                                            "ref": "Region"
6482                                                                        },
6483                                                                        "aws-global"
6484                                                                    ]
6485                                                                }
6486                                                            ]
6487                                                        },
6488                                                        {
6489                                                            "fn": "booleanEquals",
6490                                                            "argv": [
6491                                                                {
6492                                                                    "ref": "UseGlobalEndpoint"
6493                                                                },
6494                                                                true
6495                                                            ]
6496                                                        }
6497                                                    ],
6498                                                    "rules": [
6499                                                        {
6500                                                            "conditions": [
6501                                                                {
6502                                                                    "fn": "stringEquals",
6503                                                                    "argv": [
6504                                                                        {
6505                                                                            "ref": "Region"
6506                                                                        },
6507                                                                        "us-east-1"
6508                                                                    ]
6509                                                                }
6510                                                            ],
6511                                                            "endpoint": {
6512                                                                "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",
6513                                                                "properties": {
6514                                                                    "authSchemes": [
6515                                                                        {
6516                                                                            "disableDoubleEncoding": true,
6517                                                                            "name": "sigv4",
6518                                                                            "signingName": "s3",
6519                                                                            "signingRegion": "{Region}"
6520                                                                        }
6521                                                                    ]
6522                                                                },
6523                                                                "headers": {}
6524                                                            },
6525                                                            "type": "endpoint"
6526                                                        },
6527                                                        {
6528                                                            "conditions": [],
6529                                                            "endpoint": {
6530                                                                "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",
6531                                                                "properties": {
6532                                                                    "authSchemes": [
6533                                                                        {
6534                                                                            "disableDoubleEncoding": true,
6535                                                                            "name": "sigv4",
6536                                                                            "signingName": "s3",
6537                                                                            "signingRegion": "{Region}"
6538                                                                        }
6539                                                                    ]
6540                                                                },
6541                                                                "headers": {}
6542                                                            },
6543                                                            "type": "endpoint"
6544                                                        }
6545                                                    ],
6546                                                    "type": "tree"
6547                                                },
6548                                                {
6549                                                    "conditions": [
6550                                                        {
6551                                                            "fn": "booleanEquals",
6552                                                            "argv": [
6553                                                                {
6554                                                                    "ref": "UseDualStack"
6555                                                                },
6556                                                                false
6557                                                            ]
6558                                                        },
6559                                                        {
6560                                                            "fn": "isSet",
6561                                                            "argv": [
6562                                                                {
6563                                                                    "ref": "Endpoint"
6564                                                                }
6565                                                            ]
6566                                                        },
6567                                                        {
6568                                                            "fn": "parseURL",
6569                                                            "argv": [
6570                                                                {
6571                                                                    "ref": "Endpoint"
6572                                                                }
6573                                                            ],
6574                                                            "assign": "url"
6575                                                        },
6576                                                        {
6577                                                            "fn": "booleanEquals",
6578                                                            "argv": [
6579                                                                {
6580                                                                    "ref": "UseFIPS"
6581                                                                },
6582                                                                false
6583                                                            ]
6584                                                        },
6585                                                        {
6586                                                            "fn": "not",
6587                                                            "argv": [
6588                                                                {
6589                                                                    "fn": "stringEquals",
6590                                                                    "argv": [
6591                                                                        {
6592                                                                            "ref": "Region"
6593                                                                        },
6594                                                                        "aws-global"
6595                                                                    ]
6596                                                                }
6597                                                            ]
6598                                                        },
6599                                                        {
6600                                                            "fn": "booleanEquals",
6601                                                            "argv": [
6602                                                                {
6603                                                                    "ref": "UseGlobalEndpoint"
6604                                                                },
6605                                                                false
6606                                                            ]
6607                                                        }
6608                                                    ],
6609                                                    "endpoint": {
6610                                                        "url": "{url#scheme}://{url#authority}{url#normalizedPath}{uri_encoded_bucket}",
6611                                                        "properties": {
6612                                                            "authSchemes": [
6613                                                                {
6614                                                                    "disableDoubleEncoding": true,
6615                                                                    "name": "sigv4",
6616                                                                    "signingName": "s3",
6617                                                                    "signingRegion": "{Region}"
6618                                                                }
6619                                                            ]
6620                                                        },
6621                                                        "headers": {}
6622                                                    },
6623                                                    "type": "endpoint"
6624                                                },
6625                                                {
6626                                                    "conditions": [
6627                                                        {
6628                                                            "fn": "booleanEquals",
6629                                                            "argv": [
6630                                                                {
6631                                                                    "ref": "UseDualStack"
6632                                                                },
6633                                                                false
6634                                                            ]
6635                                                        },
6636                                                        {
6637                                                            "fn": "not",
6638                                                            "argv": [
6639                                                                {
6640                                                                    "fn": "isSet",
6641                                                                    "argv": [
6642                                                                        {
6643                                                                            "ref": "Endpoint"
6644                                                                        }
6645                                                                    ]
6646                                                                }
6647                                                            ]
6648                                                        },
6649                                                        {
6650                                                            "fn": "booleanEquals",
6651                                                            "argv": [
6652                                                                {
6653                                                                    "ref": "UseFIPS"
6654                                                                },
6655                                                                false
6656                                                            ]
6657                                                        },
6658                                                        {
6659                                                            "fn": "stringEquals",
6660                                                            "argv": [
6661                                                                {
6662                                                                    "ref": "Region"
6663                                                                },
6664                                                                "aws-global"
6665                                                            ]
6666                                                        }
6667                                                    ],
6668                                                    "endpoint": {
6669                                                        "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
6670                                                        "properties": {
6671                                                            "authSchemes": [
6672                                                                {
6673                                                                    "disableDoubleEncoding": true,
6674                                                                    "name": "sigv4",
6675                                                                    "signingName": "s3",
6676                                                                    "signingRegion": "us-east-1"
6677                                                                }
6678                                                            ]
6679                                                        },
6680                                                        "headers": {}
6681                                                    },
6682                                                    "type": "endpoint"
6683                                                },
6684                                                {
6685                                                    "conditions": [
6686                                                        {
6687                                                            "fn": "booleanEquals",
6688                                                            "argv": [
6689                                                                {
6690                                                                    "ref": "UseDualStack"
6691                                                                },
6692                                                                false
6693                                                            ]
6694                                                        },
6695                                                        {
6696                                                            "fn": "not",
6697                                                            "argv": [
6698                                                                {
6699                                                                    "fn": "isSet",
6700                                                                    "argv": [
6701                                                                        {
6702                                                                            "ref": "Endpoint"
6703                                                                        }
6704                                                                    ]
6705                                                                }
6706                                                            ]
6707                                                        },
6708                                                        {
6709                                                            "fn": "booleanEquals",
6710                                                            "argv": [
6711                                                                {
6712                                                                    "ref": "UseFIPS"
6713                                                                },
6714                                                                false
6715                                                            ]
6716                                                        },
6717                                                        {
6718                                                            "fn": "not",
6719                                                            "argv": [
6720                                                                {
6721                                                                    "fn": "stringEquals",
6722                                                                    "argv": [
6723                                                                        {
6724                                                                            "ref": "Region"
6725                                                                        },
6726                                                                        "aws-global"
6727                                                                    ]
6728                                                                }
6729                                                            ]
6730                                                        },
6731                                                        {
6732                                                            "fn": "booleanEquals",
6733                                                            "argv": [
6734                                                                {
6735                                                                    "ref": "UseGlobalEndpoint"
6736                                                                },
6737                                                                true
6738                                                            ]
6739                                                        }
6740                                                    ],
6741                                                    "rules": [
6742                                                        {
6743                                                            "conditions": [
6744                                                                {
6745                                                                    "fn": "stringEquals",
6746                                                                    "argv": [
6747                                                                        {
6748                                                                            "ref": "Region"
6749                                                                        },
6750                                                                        "us-east-1"
6751                                                                    ]
6752                                                                }
6753                                                            ],
6754                                                            "endpoint": {
6755                                                                "url": "https://s3.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
6756                                                                "properties": {
6757                                                                    "authSchemes": [
6758                                                                        {
6759                                                                            "disableDoubleEncoding": true,
6760                                                                            "name": "sigv4",
6761                                                                            "signingName": "s3",
6762                                                                            "signingRegion": "{Region}"
6763                                                                        }
6764                                                                    ]
6765                                                                },
6766                                                                "headers": {}
6767                                                            },
6768                                                            "type": "endpoint"
6769                                                        },
6770                                                        {
6771                                                            "conditions": [],
6772                                                            "endpoint": {
6773                                                                "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
6774                                                                "properties": {
6775                                                                    "authSchemes": [
6776                                                                        {
6777                                                                            "disableDoubleEncoding": true,
6778                                                                            "name": "sigv4",
6779                                                                            "signingName": "s3",
6780                                                                            "signingRegion": "{Region}"
6781                                                                        }
6782                                                                    ]
6783                                                                },
6784                                                                "headers": {}
6785                                                            },
6786                                                            "type": "endpoint"
6787                                                        }
6788                                                    ],
6789                                                    "type": "tree"
6790                                                },
6791                                                {
6792                                                    "conditions": [
6793                                                        {
6794                                                            "fn": "booleanEquals",
6795                                                            "argv": [
6796                                                                {
6797                                                                    "ref": "UseDualStack"
6798                                                                },
6799                                                                false
6800                                                            ]
6801                                                        },
6802                                                        {
6803                                                            "fn": "not",
6804                                                            "argv": [
6805                                                                {
6806                                                                    "fn": "isSet",
6807                                                                    "argv": [
6808                                                                        {
6809                                                                            "ref": "Endpoint"
6810                                                                        }
6811                                                                    ]
6812                                                                }
6813                                                            ]
6814                                                        },
6815                                                        {
6816                                                            "fn": "booleanEquals",
6817                                                            "argv": [
6818                                                                {
6819                                                                    "ref": "UseFIPS"
6820                                                                },
6821                                                                false
6822                                                            ]
6823                                                        },
6824                                                        {
6825                                                            "fn": "not",
6826                                                            "argv": [
6827                                                                {
6828                                                                    "fn": "stringEquals",
6829                                                                    "argv": [
6830                                                                        {
6831                                                                            "ref": "Region"
6832                                                                        },
6833                                                                        "aws-global"
6834                                                                    ]
6835                                                                }
6836                                                            ]
6837                                                        },
6838                                                        {
6839                                                            "fn": "booleanEquals",
6840                                                            "argv": [
6841                                                                {
6842                                                                    "ref": "UseGlobalEndpoint"
6843                                                                },
6844                                                                false
6845                                                            ]
6846                                                        }
6847                                                    ],
6848                                                    "endpoint": {
6849                                                        "url": "https://s3.{Region}.{partitionResult#dnsSuffix}/{uri_encoded_bucket}",
6850                                                        "properties": {
6851                                                            "authSchemes": [
6852                                                                {
6853                                                                    "disableDoubleEncoding": true,
6854                                                                    "name": "sigv4",
6855                                                                    "signingName": "s3",
6856                                                                    "signingRegion": "{Region}"
6857                                                                }
6858                                                            ]
6859                                                        },
6860                                                        "headers": {}
6861                                                    },
6862                                                    "type": "endpoint"
6863                                                }
6864                                            ],
6865                                            "type": "tree"
6866                                        },
6867                                        {
6868                                            "conditions": [],
6869                                            "error": "Path-style addressing cannot be used with S3 Accelerate",
6870                                            "type": "error"
6871                                        }
6872                                    ],
6873                                    "type": "tree"
6874                                }
6875                            ],
6876                            "type": "tree"
6877                        }
6878                    ],
6879                    "type": "tree"
6880                },
6881                {
6882                    "conditions": [
6883                        {
6884                            "fn": "isSet",
6885                            "argv": [
6886                                {
6887                                    "ref": "UseObjectLambdaEndpoint"
6888                                }
6889                            ]
6890                        },
6891                        {
6892                            "fn": "booleanEquals",
6893                            "argv": [
6894                                {
6895                                    "ref": "UseObjectLambdaEndpoint"
6896                                },
6897                                true
6898                            ]
6899                        }
6900                    ],
6901                    "rules": [
6902                        {
6903                            "conditions": [
6904                                {
6905                                    "fn": "aws.partition",
6906                                    "argv": [
6907                                        {
6908                                            "ref": "Region"
6909                                        }
6910                                    ],
6911                                    "assign": "partitionResult"
6912                                }
6913                            ],
6914                            "rules": [
6915                                {
6916                                    "conditions": [
6917                                        {
6918                                            "fn": "isValidHostLabel",
6919                                            "argv": [
6920                                                {
6921                                                    "ref": "Region"
6922                                                },
6923                                                true
6924                                            ]
6925                                        }
6926                                    ],
6927                                    "rules": [
6928                                        {
6929                                            "conditions": [
6930                                                {
6931                                                    "fn": "booleanEquals",
6932                                                    "argv": [
6933                                                        {
6934                                                            "ref": "UseDualStack"
6935                                                        },
6936                                                        true
6937                                                    ]
6938                                                }
6939                                            ],
6940                                            "error": "S3 Object Lambda does not support Dual-stack",
6941                                            "type": "error"
6942                                        },
6943                                        {
6944                                            "conditions": [
6945                                                {
6946                                                    "fn": "booleanEquals",
6947                                                    "argv": [
6948                                                        {
6949                                                            "ref": "Accelerate"
6950                                                        },
6951                                                        true
6952                                                    ]
6953                                                }
6954                                            ],
6955                                            "error": "S3 Object Lambda does not support S3 Accelerate",
6956                                            "type": "error"
6957                                        },
6958                                        {
6959                                            "conditions": [
6960                                                {
6961                                                    "fn": "isSet",
6962                                                    "argv": [
6963                                                        {
6964                                                            "ref": "Endpoint"
6965                                                        }
6966                                                    ]
6967                                                },
6968                                                {
6969                                                    "fn": "parseURL",
6970                                                    "argv": [
6971                                                        {
6972                                                            "ref": "Endpoint"
6973                                                        }
6974                                                    ],
6975                                                    "assign": "url"
6976                                                }
6977                                            ],
6978                                            "endpoint": {
6979                                                "url": "{url#scheme}://{url#authority}{url#path}",
6980                                                "properties": {
6981                                                    "authSchemes": [
6982                                                        {
6983                                                            "disableDoubleEncoding": true,
6984                                                            "name": "sigv4",
6985                                                            "signingName": "s3-object-lambda",
6986                                                            "signingRegion": "{Region}"
6987                                                        }
6988                                                    ]
6989                                                },
6990                                                "headers": {}
6991                                            },
6992                                            "type": "endpoint"
6993                                        },
6994                                        {
6995                                            "conditions": [
6996                                                {
6997                                                    "fn": "booleanEquals",
6998                                                    "argv": [
6999                                                        {
7000                                                            "ref": "UseFIPS"
7001                                                        },
7002                                                        true
7003                                                    ]
7004                                                }
7005                                            ],
7006                                            "endpoint": {
7007                                                "url": "https://s3-object-lambda-fips.{Region}.{partitionResult#dnsSuffix}",
7008                                                "properties": {
7009                                                    "authSchemes": [
7010                                                        {
7011                                                            "disableDoubleEncoding": true,
7012                                                            "name": "sigv4",
7013                                                            "signingName": "s3-object-lambda",
7014                                                            "signingRegion": "{Region}"
7015                                                        }
7016                                                    ]
7017                                                },
7018                                                "headers": {}
7019                                            },
7020                                            "type": "endpoint"
7021                                        },
7022                                        {
7023                                            "conditions": [],
7024                                            "endpoint": {
7025                                                "url": "https://s3-object-lambda.{Region}.{partitionResult#dnsSuffix}",
7026                                                "properties": {
7027                                                    "authSchemes": [
7028                                                        {
7029                                                            "disableDoubleEncoding": true,
7030                                                            "name": "sigv4",
7031                                                            "signingName": "s3-object-lambda",
7032                                                            "signingRegion": "{Region}"
7033                                                        }
7034                                                    ]
7035                                                },
7036                                                "headers": {}
7037                                            },
7038                                            "type": "endpoint"
7039                                        }
7040                                    ],
7041                                    "type": "tree"
7042                                },
7043                                {
7044                                    "conditions": [],
7045                                    "error": "Invalid region: region was not a valid DNS name.",
7046                                    "type": "error"
7047                                }
7048                            ],
7049                            "type": "tree"
7050                        }
7051                    ],
7052                    "type": "tree"
7053                },
7054                {
7055                    "conditions": [
7056                        {
7057                            "fn": "not",
7058                            "argv": [
7059                                {
7060                                    "fn": "isSet",
7061                                    "argv": [
7062                                        {
7063                                            "ref": "Bucket"
7064                                        }
7065                                    ]
7066                                }
7067                            ]
7068                        }
7069                    ],
7070                    "rules": [
7071                        {
7072                            "conditions": [
7073                                {
7074                                    "fn": "aws.partition",
7075                                    "argv": [
7076                                        {
7077                                            "ref": "Region"
7078                                        }
7079                                    ],
7080                                    "assign": "partitionResult"
7081                                }
7082                            ],
7083                            "rules": [
7084                                {
7085                                    "conditions": [
7086                                        {
7087                                            "fn": "isValidHostLabel",
7088                                            "argv": [
7089                                                {
7090                                                    "ref": "Region"
7091                                                },
7092                                                true
7093                                            ]
7094                                        }
7095                                    ],
7096                                    "rules": [
7097                                        {
7098                                            "conditions": [
7099                                                {
7100                                                    "fn": "booleanEquals",
7101                                                    "argv": [
7102                                                        {
7103                                                            "ref": "UseFIPS"
7104                                                        },
7105                                                        true
7106                                                    ]
7107                                                },
7108                                                {
7109                                                    "fn": "booleanEquals",
7110                                                    "argv": [
7111                                                        {
7112                                                            "ref": "UseDualStack"
7113                                                        },
7114                                                        true
7115                                                    ]
7116                                                },
7117                                                {
7118                                                    "fn": "not",
7119                                                    "argv": [
7120                                                        {
7121                                                            "fn": "isSet",
7122                                                            "argv": [
7123                                                                {
7124                                                                    "ref": "Endpoint"
7125                                                                }
7126                                                            ]
7127                                                        }
7128                                                    ]
7129                                                },
7130                                                {
7131                                                    "fn": "stringEquals",
7132                                                    "argv": [
7133                                                        {
7134                                                            "ref": "Region"
7135                                                        },
7136                                                        "aws-global"
7137                                                    ]
7138                                                }
7139                                            ],
7140                                            "endpoint": {
7141                                                "url": "https://s3-fips.dualstack.us-east-1.{partitionResult#dnsSuffix}",
7142                                                "properties": {
7143                                                    "authSchemes": [
7144                                                        {
7145                                                            "disableDoubleEncoding": true,
7146                                                            "name": "sigv4",
7147                                                            "signingName": "s3",
7148                                                            "signingRegion": "us-east-1"
7149                                                        }
7150                                                    ]
7151                                                },
7152                                                "headers": {}
7153                                            },
7154                                            "type": "endpoint"
7155                                        },
7156                                        {
7157                                            "conditions": [
7158                                                {
7159                                                    "fn": "booleanEquals",
7160                                                    "argv": [
7161                                                        {
7162                                                            "ref": "UseFIPS"
7163                                                        },
7164                                                        true
7165                                                    ]
7166                                                },
7167                                                {
7168                                                    "fn": "booleanEquals",
7169                                                    "argv": [
7170                                                        {
7171                                                            "ref": "UseDualStack"
7172                                                        },
7173                                                        true
7174                                                    ]
7175                                                },
7176                                                {
7177                                                    "fn": "not",
7178                                                    "argv": [
7179                                                        {
7180                                                            "fn": "isSet",
7181                                                            "argv": [
7182                                                                {
7183                                                                    "ref": "Endpoint"
7184                                                                }
7185                                                            ]
7186                                                        }
7187                                                    ]
7188                                                },
7189                                                {
7190                                                    "fn": "not",
7191                                                    "argv": [
7192                                                        {
7193                                                            "fn": "stringEquals",
7194                                                            "argv": [
7195                                                                {
7196                                                                    "ref": "Region"
7197                                                                },
7198                                                                "aws-global"
7199                                                            ]
7200                                                        }
7201                                                    ]
7202                                                },
7203                                                {
7204                                                    "fn": "booleanEquals",
7205                                                    "argv": [
7206                                                        {
7207                                                            "ref": "UseGlobalEndpoint"
7208                                                        },
7209                                                        true
7210                                                    ]
7211                                                }
7212                                            ],
7213                                            "rules": [
7214                                                {
7215                                                    "conditions": [],
7216                                                    "endpoint": {
7217                                                        "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",
7218                                                        "properties": {
7219                                                            "authSchemes": [
7220                                                                {
7221                                                                    "disableDoubleEncoding": true,
7222                                                                    "name": "sigv4",
7223                                                                    "signingName": "s3",
7224                                                                    "signingRegion": "{Region}"
7225                                                                }
7226                                                            ]
7227                                                        },
7228                                                        "headers": {}
7229                                                    },
7230                                                    "type": "endpoint"
7231                                                }
7232                                            ],
7233                                            "type": "tree"
7234                                        },
7235                                        {
7236                                            "conditions": [
7237                                                {
7238                                                    "fn": "booleanEquals",
7239                                                    "argv": [
7240                                                        {
7241                                                            "ref": "UseFIPS"
7242                                                        },
7243                                                        true
7244                                                    ]
7245                                                },
7246                                                {
7247                                                    "fn": "booleanEquals",
7248                                                    "argv": [
7249                                                        {
7250                                                            "ref": "UseDualStack"
7251                                                        },
7252                                                        true
7253                                                    ]
7254                                                },
7255                                                {
7256                                                    "fn": "not",
7257                                                    "argv": [
7258                                                        {
7259                                                            "fn": "isSet",
7260                                                            "argv": [
7261                                                                {
7262                                                                    "ref": "Endpoint"
7263                                                                }
7264                                                            ]
7265                                                        }
7266                                                    ]
7267                                                },
7268                                                {
7269                                                    "fn": "not",
7270                                                    "argv": [
7271                                                        {
7272                                                            "fn": "stringEquals",
7273                                                            "argv": [
7274                                                                {
7275                                                                    "ref": "Region"
7276                                                                },
7277                                                                "aws-global"
7278                                                            ]
7279                                                        }
7280                                                    ]
7281                                                },
7282                                                {
7283                                                    "fn": "booleanEquals",
7284                                                    "argv": [
7285                                                        {
7286                                                            "ref": "UseGlobalEndpoint"
7287                                                        },
7288                                                        false
7289                                                    ]
7290                                                }
7291                                            ],
7292                                            "endpoint": {
7293                                                "url": "https://s3-fips.dualstack.{Region}.{partitionResult#dnsSuffix}",
7294                                                "properties": {
7295                                                    "authSchemes": [
7296                                                        {
7297                                                            "disableDoubleEncoding": true,
7298                                                            "name": "sigv4",
7299                                                            "signingName": "s3",
7300                                                            "signingRegion": "{Region}"
7301                                                        }
7302                                                    ]
7303                                                },
7304                                                "headers": {}
7305                                            },
7306                                            "type": "endpoint"
7307                                        },
7308                                        {
7309                                            "conditions": [
7310                                                {
7311                                                    "fn": "booleanEquals",
7312                                                    "argv": [
7313                                                        {
7314                                                            "ref": "UseFIPS"
7315                                                        },
7316                                                        true
7317                                                    ]
7318                                                },
7319                                                {
7320                                                    "fn": "booleanEquals",
7321                                                    "argv": [
7322                                                        {
7323                                                            "ref": "UseDualStack"
7324                                                        },
7325                                                        false
7326                                                    ]
7327                                                },
7328                                                {
7329                                                    "fn": "not",
7330                                                    "argv": [
7331                                                        {
7332                                                            "fn": "isSet",
7333                                                            "argv": [
7334                                                                {
7335                                                                    "ref": "Endpoint"
7336                                                                }
7337                                                            ]
7338                                                        }
7339                                                    ]
7340                                                },
7341                                                {
7342                                                    "fn": "stringEquals",
7343                                                    "argv": [
7344                                                        {
7345                                                            "ref": "Region"
7346                                                        },
7347                                                        "aws-global"
7348                                                    ]
7349                                                }
7350                                            ],
7351                                            "endpoint": {
7352                                                "url": "https://s3-fips.us-east-1.{partitionResult#dnsSuffix}",
7353                                                "properties": {
7354                                                    "authSchemes": [
7355                                                        {
7356                                                            "disableDoubleEncoding": true,
7357                                                            "name": "sigv4",
7358                                                            "signingName": "s3",
7359                                                            "signingRegion": "us-east-1"
7360                                                        }
7361                                                    ]
7362                                                },
7363                                                "headers": {}
7364                                            },
7365                                            "type": "endpoint"
7366                                        },
7367                                        {
7368                                            "conditions": [
7369                                                {
7370                                                    "fn": "booleanEquals",
7371                                                    "argv": [
7372                                                        {
7373                                                            "ref": "UseFIPS"
7374                                                        },
7375                                                        true
7376                                                    ]
7377                                                },
7378                                                {
7379                                                    "fn": "booleanEquals",
7380                                                    "argv": [
7381                                                        {
7382                                                            "ref": "UseDualStack"
7383                                                        },
7384                                                        false
7385                                                    ]
7386                                                },
7387                                                {
7388                                                    "fn": "not",
7389                                                    "argv": [
7390                                                        {
7391                                                            "fn": "isSet",
7392                                                            "argv": [
7393                                                                {
7394                                                                    "ref": "Endpoint"
7395                                                                }
7396                                                            ]
7397                                                        }
7398                                                    ]
7399                                                },
7400                                                {
7401                                                    "fn": "not",
7402                                                    "argv": [
7403                                                        {
7404                                                            "fn": "stringEquals",
7405                                                            "argv": [
7406                                                                {
7407                                                                    "ref": "Region"
7408                                                                },
7409                                                                "aws-global"
7410                                                            ]
7411                                                        }
7412                                                    ]
7413                                                },
7414                                                {
7415                                                    "fn": "booleanEquals",
7416                                                    "argv": [
7417                                                        {
7418                                                            "ref": "UseGlobalEndpoint"
7419                                                        },
7420                                                        true
7421                                                    ]
7422                                                }
7423                                            ],
7424                                            "rules": [
7425                                                {
7426                                                    "conditions": [],
7427                                                    "endpoint": {
7428                                                        "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}",
7429                                                        "properties": {
7430                                                            "authSchemes": [
7431                                                                {
7432                                                                    "disableDoubleEncoding": true,
7433                                                                    "name": "sigv4",
7434                                                                    "signingName": "s3",
7435                                                                    "signingRegion": "{Region}"
7436                                                                }
7437                                                            ]
7438                                                        },
7439                                                        "headers": {}
7440                                                    },
7441                                                    "type": "endpoint"
7442                                                }
7443                                            ],
7444                                            "type": "tree"
7445                                        },
7446                                        {
7447                                            "conditions": [
7448                                                {
7449                                                    "fn": "booleanEquals",
7450                                                    "argv": [
7451                                                        {
7452                                                            "ref": "UseFIPS"
7453                                                        },
7454                                                        true
7455                                                    ]
7456                                                },
7457                                                {
7458                                                    "fn": "booleanEquals",
7459                                                    "argv": [
7460                                                        {
7461                                                            "ref": "UseDualStack"
7462                                                        },
7463                                                        false
7464                                                    ]
7465                                                },
7466                                                {
7467                                                    "fn": "not",
7468                                                    "argv": [
7469                                                        {
7470                                                            "fn": "isSet",
7471                                                            "argv": [
7472                                                                {
7473                                                                    "ref": "Endpoint"
7474                                                                }
7475                                                            ]
7476                                                        }
7477                                                    ]
7478                                                },
7479                                                {
7480                                                    "fn": "not",
7481                                                    "argv": [
7482                                                        {
7483                                                            "fn": "stringEquals",
7484                                                            "argv": [
7485                                                                {
7486                                                                    "ref": "Region"
7487                                                                },
7488                                                                "aws-global"
7489                                                            ]
7490                                                        }
7491                                                    ]
7492                                                },
7493                                                {
7494                                                    "fn": "booleanEquals",
7495                                                    "argv": [
7496                                                        {
7497                                                            "ref": "UseGlobalEndpoint"
7498                                                        },
7499                                                        false
7500                                                    ]
7501                                                }
7502                                            ],
7503                                            "endpoint": {
7504                                                "url": "https://s3-fips.{Region}.{partitionResult#dnsSuffix}",
7505                                                "properties": {
7506                                                    "authSchemes": [
7507                                                        {
7508                                                            "disableDoubleEncoding": true,
7509                                                            "name": "sigv4",
7510                                                            "signingName": "s3",
7511                                                            "signingRegion": "{Region}"
7512                                                        }
7513                                                    ]
7514                                                },
7515                                                "headers": {}
7516                                            },
7517                                            "type": "endpoint"
7518                                        },
7519                                        {
7520                                            "conditions": [
7521                                                {
7522                                                    "fn": "booleanEquals",
7523                                                    "argv": [
7524                                                        {
7525                                                            "ref": "UseFIPS"
7526                                                        },
7527                                                        false
7528                                                    ]
7529                                                },
7530                                                {
7531                                                    "fn": "booleanEquals",
7532                                                    "argv": [
7533                                                        {
7534                                                            "ref": "UseDualStack"
7535                                                        },
7536                                                        true
7537                                                    ]
7538                                                },
7539                                                {
7540                                                    "fn": "not",
7541                                                    "argv": [
7542                                                        {
7543                                                            "fn": "isSet",
7544                                                            "argv": [
7545                                                                {
7546                                                                    "ref": "Endpoint"
7547                                                                }
7548                                                            ]
7549                                                        }
7550                                                    ]
7551                                                },
7552                                                {
7553                                                    "fn": "stringEquals",
7554                                                    "argv": [
7555                                                        {
7556                                                            "ref": "Region"
7557                                                        },
7558                                                        "aws-global"
7559                                                    ]
7560                                                }
7561                                            ],
7562                                            "endpoint": {
7563                                                "url": "https://s3.dualstack.us-east-1.{partitionResult#dnsSuffix}",
7564                                                "properties": {
7565                                                    "authSchemes": [
7566                                                        {
7567                                                            "disableDoubleEncoding": true,
7568                                                            "name": "sigv4",
7569                                                            "signingName": "s3",
7570                                                            "signingRegion": "us-east-1"
7571                                                        }
7572                                                    ]
7573                                                },
7574                                                "headers": {}
7575                                            },
7576                                            "type": "endpoint"
7577                                        },
7578                                        {
7579                                            "conditions": [
7580                                                {
7581                                                    "fn": "booleanEquals",
7582                                                    "argv": [
7583                                                        {
7584                                                            "ref": "UseFIPS"
7585                                                        },
7586                                                        false
7587                                                    ]
7588                                                },
7589                                                {
7590                                                    "fn": "booleanEquals",
7591                                                    "argv": [
7592                                                        {
7593                                                            "ref": "UseDualStack"
7594                                                        },
7595                                                        true
7596                                                    ]
7597                                                },
7598                                                {
7599                                                    "fn": "not",
7600                                                    "argv": [
7601                                                        {
7602                                                            "fn": "isSet",
7603                                                            "argv": [
7604                                                                {
7605                                                                    "ref": "Endpoint"
7606                                                                }
7607                                                            ]
7608                                                        }
7609                                                    ]
7610                                                },
7611                                                {
7612                                                    "fn": "not",
7613                                                    "argv": [
7614                                                        {
7615                                                            "fn": "stringEquals",
7616                                                            "argv": [
7617                                                                {
7618                                                                    "ref": "Region"
7619                                                                },
7620                                                                "aws-global"
7621                                                            ]
7622                                                        }
7623                                                    ]
7624                                                },
7625                                                {
7626                                                    "fn": "booleanEquals",
7627                                                    "argv": [
7628                                                        {
7629                                                            "ref": "UseGlobalEndpoint"
7630                                                        },
7631                                                        true
7632                                                    ]
7633                                                }
7634                                            ],
7635                                            "rules": [
7636                                                {
7637                                                    "conditions": [],
7638                                                    "endpoint": {
7639                                                        "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",
7640                                                        "properties": {
7641                                                            "authSchemes": [
7642                                                                {
7643                                                                    "disableDoubleEncoding": true,
7644                                                                    "name": "sigv4",
7645                                                                    "signingName": "s3",
7646                                                                    "signingRegion": "{Region}"
7647                                                                }
7648                                                            ]
7649                                                        },
7650                                                        "headers": {}
7651                                                    },
7652                                                    "type": "endpoint"
7653                                                }
7654                                            ],
7655                                            "type": "tree"
7656                                        },
7657                                        {
7658                                            "conditions": [
7659                                                {
7660                                                    "fn": "booleanEquals",
7661                                                    "argv": [
7662                                                        {
7663                                                            "ref": "UseFIPS"
7664                                                        },
7665                                                        false
7666                                                    ]
7667                                                },
7668                                                {
7669                                                    "fn": "booleanEquals",
7670                                                    "argv": [
7671                                                        {
7672                                                            "ref": "UseDualStack"
7673                                                        },
7674                                                        true
7675                                                    ]
7676                                                },
7677                                                {
7678                                                    "fn": "not",
7679                                                    "argv": [
7680                                                        {
7681                                                            "fn": "isSet",
7682                                                            "argv": [
7683                                                                {
7684                                                                    "ref": "Endpoint"
7685                                                                }
7686                                                            ]
7687                                                        }
7688                                                    ]
7689                                                },
7690                                                {
7691                                                    "fn": "not",
7692                                                    "argv": [
7693                                                        {
7694                                                            "fn": "stringEquals",
7695                                                            "argv": [
7696                                                                {
7697                                                                    "ref": "Region"
7698                                                                },
7699                                                                "aws-global"
7700                                                            ]
7701                                                        }
7702                                                    ]
7703                                                },
7704                                                {
7705                                                    "fn": "booleanEquals",
7706                                                    "argv": [
7707                                                        {
7708                                                            "ref": "UseGlobalEndpoint"
7709                                                        },
7710                                                        false
7711                                                    ]
7712                                                }
7713                                            ],
7714                                            "endpoint": {
7715                                                "url": "https://s3.dualstack.{Region}.{partitionResult#dnsSuffix}",
7716                                                "properties": {
7717                                                    "authSchemes": [
7718                                                        {
7719                                                            "disableDoubleEncoding": true,
7720                                                            "name": "sigv4",
7721                                                            "signingName": "s3",
7722                                                            "signingRegion": "{Region}"
7723                                                        }
7724                                                    ]
7725                                                },
7726                                                "headers": {}
7727                                            },
7728                                            "type": "endpoint"
7729                                        },
7730                                        {
7731                                            "conditions": [
7732                                                {
7733                                                    "fn": "booleanEquals",
7734                                                    "argv": [
7735                                                        {
7736                                                            "ref": "UseFIPS"
7737                                                        },
7738                                                        false
7739                                                    ]
7740                                                },
7741                                                {
7742                                                    "fn": "booleanEquals",
7743                                                    "argv": [
7744                                                        {
7745                                                            "ref": "UseDualStack"
7746                                                        },
7747                                                        false
7748                                                    ]
7749                                                },
7750                                                {
7751                                                    "fn": "isSet",
7752                                                    "argv": [
7753                                                        {
7754                                                            "ref": "Endpoint"
7755                                                        }
7756                                                    ]
7757                                                },
7758                                                {
7759                                                    "fn": "parseURL",
7760                                                    "argv": [
7761                                                        {
7762                                                            "ref": "Endpoint"
7763                                                        }
7764                                                    ],
7765                                                    "assign": "url"
7766                                                },
7767                                                {
7768                                                    "fn": "stringEquals",
7769                                                    "argv": [
7770                                                        {
7771                                                            "ref": "Region"
7772                                                        },
7773                                                        "aws-global"
7774                                                    ]
7775                                                }
7776                                            ],
7777                                            "endpoint": {
7778                                                "url": "{url#scheme}://{url#authority}{url#path}",
7779                                                "properties": {
7780                                                    "authSchemes": [
7781                                                        {
7782                                                            "disableDoubleEncoding": true,
7783                                                            "name": "sigv4",
7784                                                            "signingName": "s3",
7785                                                            "signingRegion": "us-east-1"
7786                                                        }
7787                                                    ]
7788                                                },
7789                                                "headers": {}
7790                                            },
7791                                            "type": "endpoint"
7792                                        },
7793                                        {
7794                                            "conditions": [
7795                                                {
7796                                                    "fn": "booleanEquals",
7797                                                    "argv": [
7798                                                        {
7799                                                            "ref": "UseFIPS"
7800                                                        },
7801                                                        false
7802                                                    ]
7803                                                },
7804                                                {
7805                                                    "fn": "booleanEquals",
7806                                                    "argv": [
7807                                                        {
7808                                                            "ref": "UseDualStack"
7809                                                        },
7810                                                        false
7811                                                    ]
7812                                                },
7813                                                {
7814                                                    "fn": "isSet",
7815                                                    "argv": [
7816                                                        {
7817                                                            "ref": "Endpoint"
7818                                                        }
7819                                                    ]
7820                                                },
7821                                                {
7822                                                    "fn": "parseURL",
7823                                                    "argv": [
7824                                                        {
7825                                                            "ref": "Endpoint"
7826                                                        }
7827                                                    ],
7828                                                    "assign": "url"
7829                                                },
7830                                                {
7831                                                    "fn": "not",
7832                                                    "argv": [
7833                                                        {
7834                                                            "fn": "stringEquals",
7835                                                            "argv": [
7836                                                                {
7837                                                                    "ref": "Region"
7838                                                                },
7839                                                                "aws-global"
7840                                                            ]
7841                                                        }
7842                                                    ]
7843                                                },
7844                                                {
7845                                                    "fn": "booleanEquals",
7846                                                    "argv": [
7847                                                        {
7848                                                            "ref": "UseGlobalEndpoint"
7849                                                        },
7850                                                        true
7851                                                    ]
7852                                                }
7853                                            ],
7854                                            "rules": [
7855                                                {
7856                                                    "conditions": [
7857                                                        {
7858                                                            "fn": "stringEquals",
7859                                                            "argv": [
7860                                                                {
7861                                                                    "ref": "Region"
7862                                                                },
7863                                                                "us-east-1"
7864                                                            ]
7865                                                        }
7866                                                    ],
7867                                                    "endpoint": {
7868                                                        "url": "{url#scheme}://{url#authority}{url#path}",
7869                                                        "properties": {
7870                                                            "authSchemes": [
7871                                                                {
7872                                                                    "disableDoubleEncoding": true,
7873                                                                    "name": "sigv4",
7874                                                                    "signingName": "s3",
7875                                                                    "signingRegion": "{Region}"
7876                                                                }
7877                                                            ]
7878                                                        },
7879                                                        "headers": {}
7880                                                    },
7881                                                    "type": "endpoint"
7882                                                },
7883                                                {
7884                                                    "conditions": [],
7885                                                    "endpoint": {
7886                                                        "url": "{url#scheme}://{url#authority}{url#path}",
7887                                                        "properties": {
7888                                                            "authSchemes": [
7889                                                                {
7890                                                                    "disableDoubleEncoding": true,
7891                                                                    "name": "sigv4",
7892                                                                    "signingName": "s3",
7893                                                                    "signingRegion": "{Region}"
7894                                                                }
7895                                                            ]
7896                                                        },
7897                                                        "headers": {}
7898                                                    },
7899                                                    "type": "endpoint"
7900                                                }
7901                                            ],
7902                                            "type": "tree"
7903                                        },
7904                                        {
7905                                            "conditions": [
7906                                                {
7907                                                    "fn": "booleanEquals",
7908                                                    "argv": [
7909                                                        {
7910                                                            "ref": "UseFIPS"
7911                                                        },
7912                                                        false
7913                                                    ]
7914                                                },
7915                                                {
7916                                                    "fn": "booleanEquals",
7917                                                    "argv": [
7918                                                        {
7919                                                            "ref": "UseDualStack"
7920                                                        },
7921                                                        false
7922                                                    ]
7923                                                },
7924                                                {
7925                                                    "fn": "isSet",
7926                                                    "argv": [
7927                                                        {
7928                                                            "ref": "Endpoint"
7929                                                        }
7930                                                    ]
7931                                                },
7932                                                {
7933                                                    "fn": "parseURL",
7934                                                    "argv": [
7935                                                        {
7936                                                            "ref": "Endpoint"
7937                                                        }
7938                                                    ],
7939                                                    "assign": "url"
7940                                                },
7941                                                {
7942                                                    "fn": "not",
7943                                                    "argv": [
7944                                                        {
7945                                                            "fn": "stringEquals",
7946                                                            "argv": [
7947                                                                {
7948                                                                    "ref": "Region"
7949                                                                },
7950                                                                "aws-global"
7951                                                            ]
7952                                                        }
7953                                                    ]
7954                                                },
7955                                                {
7956                                                    "fn": "booleanEquals",
7957                                                    "argv": [
7958                                                        {
7959                                                            "ref": "UseGlobalEndpoint"
7960                                                        },
7961                                                        false
7962                                                    ]
7963                                                }
7964                                            ],
7965                                            "endpoint": {
7966                                                "url": "{url#scheme}://{url#authority}{url#path}",
7967                                                "properties": {
7968                                                    "authSchemes": [
7969                                                        {
7970                                                            "disableDoubleEncoding": true,
7971                                                            "name": "sigv4",
7972                                                            "signingName": "s3",
7973                                                            "signingRegion": "{Region}"
7974                                                        }
7975                                                    ]
7976                                                },
7977                                                "headers": {}
7978                                            },
7979                                            "type": "endpoint"
7980                                        },
7981                                        {
7982                                            "conditions": [
7983                                                {
7984                                                    "fn": "booleanEquals",
7985                                                    "argv": [
7986                                                        {
7987                                                            "ref": "UseFIPS"
7988                                                        },
7989                                                        false
7990                                                    ]
7991                                                },
7992                                                {
7993                                                    "fn": "booleanEquals",
7994                                                    "argv": [
7995                                                        {
7996                                                            "ref": "UseDualStack"
7997                                                        },
7998                                                        false
7999                                                    ]
8000                                                },
8001                                                {
8002                                                    "fn": "not",
8003                                                    "argv": [
8004                                                        {
8005                                                            "fn": "isSet",
8006                                                            "argv": [
8007                                                                {
8008                                                                    "ref": "Endpoint"
8009                                                                }
8010                                                            ]
8011                                                        }
8012                                                    ]
8013                                                },
8014                                                {
8015                                                    "fn": "stringEquals",
8016                                                    "argv": [
8017                                                        {
8018                                                            "ref": "Region"
8019                                                        },
8020                                                        "aws-global"
8021                                                    ]
8022                                                }
8023                                            ],
8024                                            "endpoint": {
8025                                                "url": "https://s3.{partitionResult#dnsSuffix}",
8026                                                "properties": {
8027                                                    "authSchemes": [
8028                                                        {
8029                                                            "disableDoubleEncoding": true,
8030                                                            "name": "sigv4",
8031                                                            "signingName": "s3",
8032                                                            "signingRegion": "us-east-1"
8033                                                        }
8034                                                    ]
8035                                                },
8036                                                "headers": {}
8037                                            },
8038                                            "type": "endpoint"
8039                                        },
8040                                        {
8041                                            "conditions": [
8042                                                {
8043                                                    "fn": "booleanEquals",
8044                                                    "argv": [
8045                                                        {
8046                                                            "ref": "UseFIPS"
8047                                                        },
8048                                                        false
8049                                                    ]
8050                                                },
8051                                                {
8052                                                    "fn": "booleanEquals",
8053                                                    "argv": [
8054                                                        {
8055                                                            "ref": "UseDualStack"
8056                                                        },
8057                                                        false
8058                                                    ]
8059                                                },
8060                                                {
8061                                                    "fn": "not",
8062                                                    "argv": [
8063                                                        {
8064                                                            "fn": "isSet",
8065                                                            "argv": [
8066                                                                {
8067                                                                    "ref": "Endpoint"
8068                                                                }
8069                                                            ]
8070                                                        }
8071                                                    ]
8072                                                },
8073                                                {
8074                                                    "fn": "not",
8075                                                    "argv": [
8076                                                        {
8077                                                            "fn": "stringEquals",
8078                                                            "argv": [
8079                                                                {
8080                                                                    "ref": "Region"
8081                                                                },
8082                                                                "aws-global"
8083                                                            ]
8084                                                        }
8085                                                    ]
8086                                                },
8087                                                {
8088                                                    "fn": "booleanEquals",
8089                                                    "argv": [
8090                                                        {
8091                                                            "ref": "UseGlobalEndpoint"
8092                                                        },
8093                                                        true
8094                                                    ]
8095                                                }
8096                                            ],
8097                                            "rules": [
8098                                                {
8099                                                    "conditions": [
8100                                                        {
8101                                                            "fn": "stringEquals",
8102                                                            "argv": [
8103                                                                {
8104                                                                    "ref": "Region"
8105                                                                },
8106                                                                "us-east-1"
8107                                                            ]
8108                                                        }
8109                                                    ],
8110                                                    "endpoint": {
8111                                                        "url": "https://s3.{partitionResult#dnsSuffix}",
8112                                                        "properties": {
8113                                                            "authSchemes": [
8114                                                                {
8115                                                                    "disableDoubleEncoding": true,
8116                                                                    "name": "sigv4",
8117                                                                    "signingName": "s3",
8118                                                                    "signingRegion": "{Region}"
8119                                                                }
8120                                                            ]
8121                                                        },
8122                                                        "headers": {}
8123                                                    },
8124                                                    "type": "endpoint"
8125                                                },
8126                                                {
8127                                                    "conditions": [],
8128                                                    "endpoint": {
8129                                                        "url": "https://s3.{Region}.{partitionResult#dnsSuffix}",
8130                                                        "properties": {
8131                                                            "authSchemes": [
8132                                                                {
8133                                                                    "disableDoubleEncoding": true,
8134                                                                    "name": "sigv4",
8135                                                                    "signingName": "s3",
8136                                                                    "signingRegion": "{Region}"
8137                                                                }
8138                                                            ]
8139                                                        },
8140                                                        "headers": {}
8141                                                    },
8142                                                    "type": "endpoint"
8143                                                }
8144                                            ],
8145                                            "type": "tree"
8146                                        },
8147                                        {
8148                                            "conditions": [
8149                                                {
8150                                                    "fn": "booleanEquals",
8151                                                    "argv": [
8152                                                        {
8153                                                            "ref": "UseFIPS"
8154                                                        },
8155                                                        false
8156                                                    ]
8157                                                },
8158                                                {
8159                                                    "fn": "booleanEquals",
8160                                                    "argv": [
8161                                                        {
8162                                                            "ref": "UseDualStack"
8163                                                        },
8164                                                        false
8165                                                    ]
8166                                                },
8167                                                {
8168                                                    "fn": "not",
8169                                                    "argv": [
8170                                                        {
8171                                                            "fn": "isSet",
8172                                                            "argv": [
8173                                                                {
8174                                                                    "ref": "Endpoint"
8175                                                                }
8176                                                            ]
8177                                                        }
8178                                                    ]
8179                                                },
8180                                                {
8181                                                    "fn": "not",
8182                                                    "argv": [
8183                                                        {
8184                                                            "fn": "stringEquals",
8185                                                            "argv": [
8186                                                                {
8187                                                                    "ref": "Region"
8188                                                                },
8189                                                                "aws-global"
8190                                                            ]
8191                                                        }
8192                                                    ]
8193                                                },
8194                                                {
8195                                                    "fn": "booleanEquals",
8196                                                    "argv": [
8197                                                        {
8198                                                            "ref": "UseGlobalEndpoint"
8199                                                        },
8200                                                        false
8201                                                    ]
8202                                                }
8203                                            ],
8204                                            "endpoint": {
8205                                                "url": "https://s3.{Region}.{partitionResult#dnsSuffix}",
8206                                                "properties": {
8207                                                    "authSchemes": [
8208                                                        {
8209                                                            "disableDoubleEncoding": true,
8210                                                            "name": "sigv4",
8211                                                            "signingName": "s3",
8212                                                            "signingRegion": "{Region}"
8213                                                        }
8214                                                    ]
8215                                                },
8216                                                "headers": {}
8217                                            },
8218                                            "type": "endpoint"
8219                                        }
8220                                    ],
8221                                    "type": "tree"
8222                                },
8223                                {
8224                                    "conditions": [],
8225                                    "error": "Invalid region: region was not a valid DNS name.",
8226                                    "type": "error"
8227                                }
8228                            ],
8229                            "type": "tree"
8230                        }
8231                    ],
8232                    "type": "tree"
8233                }
8234            ],
8235            "type": "tree"
8236        },
8237        {
8238            "conditions": [],
8239            "error": "A region must be set when sending requests to S3.",
8240            "type": "error"
8241        }
8242    ]
8243}