1{
2    "testCases": [
3        {
4            "documentation": "Vanilla outposts without ARN region + access point ARN@us-west-2",
5            "expect": {
6                "endpoint": {
7                    "headers": {
8                        "x-amz-account-id": [
9                            "123456789012"
10                        ],
11                        "x-amz-outpost-id": [
12                            "op-01234567890123456"
13                        ]
14                    },
15                    "properties": {
16                        "authSchemes": [
17                            {
18                                "name": "sigv4",
19                                "signingName": "s3-outposts",
20                                "signingRegion": "us-west-2",
21                                "disableDoubleEncoding": true
22                            }
23                        ]
24                    },
25                    "url": "https://s3-outposts.us-west-2.amazonaws.com"
26                }
27            },
28            "operationInputs": [
29                {
30                    "builtInParams": {
31                        "AWS::Region": "us-west-2"
32                    },
33                    "operationName": "GetAccessPoint",
34                    "operationParams": {
35                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
36                        "AccountId": "123456789012"
37                    }
38                },
39                {
40                    "builtInParams": {
41                        "AWS::Region": "us-west-2"
42                    },
43                    "operationName": "DeleteAccessPoint",
44                    "operationParams": {
45                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
46                        "AccountId": "123456789012"
47                    }
48                }
49            ],
50            "params": {
51                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
52                "AccountId": "123456789012",
53                "Region": "us-west-2",
54                "RequiresAccountId": true,
55                "UseDualStack": false,
56                "UseFIPS": false
57            }
58        },
59        {
60            "documentation": "Vanilla outposts with ARN region + access point ARN@us-west-2",
61            "expect": {
62                "endpoint": {
63                    "headers": {
64                        "x-amz-account-id": [
65                            "123456789012"
66                        ],
67                        "x-amz-outpost-id": [
68                            "op-01234567890123456"
69                        ]
70                    },
71                    "properties": {
72                        "authSchemes": [
73                            {
74                                "name": "sigv4",
75                                "signingName": "s3-outposts",
76                                "signingRegion": "us-east-1",
77                                "disableDoubleEncoding": true
78                            }
79                        ]
80                    },
81                    "url": "https://s3-outposts.us-east-1.amazonaws.com"
82                }
83            },
84            "operationInputs": [
85                {
86                    "builtInParams": {
87                        "AWS::Region": "us-west-2"
88                    },
89                    "operationName": "GetAccessPoint",
90                    "operationParams": {
91                        "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
92                        "AccountId": "123456789012"
93                    }
94                },
95                {
96                    "builtInParams": {
97                        "AWS::Region": "us-west-2"
98                    },
99                    "operationName": "DeleteAccessPoint",
100                    "operationParams": {
101                        "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
102                        "AccountId": "123456789012"
103                    }
104                }
105            ],
106            "params": {
107                "AccessPointName": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
108                "AccountId": "123456789012",
109                "Region": "us-west-2",
110                "RequiresAccountId": true,
111                "UseDualStack": false,
112                "UseFIPS": false
113            }
114        },
115        {
116            "documentation": "accept an access point ARN@us-west-2",
117            "expect": {
118                "endpoint": {
119                    "headers": {
120                        "x-amz-account-id": [
121                            "123456789012"
122                        ],
123                        "x-amz-outpost-id": [
124                            "op-01234567890123456"
125                        ]
126                    },
127                    "properties": {
128                        "authSchemes": [
129                            {
130                                "name": "sigv4",
131                                "signingName": "s3-outposts",
132                                "signingRegion": "us-west-2",
133                                "disableDoubleEncoding": true
134                            }
135                        ]
136                    },
137                    "url": "https://s3-outposts.us-west-2.amazonaws.com"
138                }
139            },
140            "operationInputs": [
141                {
142                    "builtInParams": {
143                        "AWS::Region": "us-west-2"
144                    },
145                    "operationName": "GetAccessPoint",
146                    "operationParams": {
147                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
148                        "AccountId": "123456789012"
149                    }
150                },
151                {
152                    "builtInParams": {
153                        "AWS::Region": "us-west-2"
154                    },
155                    "operationName": "DeleteAccessPoint",
156                    "operationParams": {
157                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
158                        "AccountId": "123456789012"
159                    }
160                }
161            ],
162            "params": {
163                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
164                "AccountId": "123456789012",
165                "Region": "us-west-2",
166                "RequiresAccountId": true,
167                "UseDualStack": false,
168                "UseFIPS": false
169            }
170        },
171        {
172            "documentation": "vanilla outposts china@cn-north-1",
173            "expect": {
174                "endpoint": {
175                    "headers": {
176                        "x-amz-account-id": [
177                            "123456789012"
178                        ],
179                        "x-amz-outpost-id": [
180                            "op-01234567890123456"
181                        ]
182                    },
183                    "properties": {
184                        "authSchemes": [
185                            {
186                                "name": "sigv4",
187                                "signingName": "s3-outposts",
188                                "signingRegion": "cn-north-1",
189                                "disableDoubleEncoding": true
190                            }
191                        ]
192                    },
193                    "url": "https://s3-outposts.cn-north-1.amazonaws.com.cn"
194                }
195            },
196            "operationInputs": [
197                {
198                    "builtInParams": {
199                        "AWS::Region": "cn-north-1"
200                    },
201                    "operationName": "GetAccessPoint",
202                    "operationParams": {
203                        "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
204                        "AccountId": "123456789012"
205                    }
206                },
207                {
208                    "builtInParams": {
209                        "AWS::Region": "cn-north-1"
210                    },
211                    "operationName": "DeleteAccessPoint",
212                    "operationParams": {
213                        "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
214                        "AccountId": "123456789012"
215                    }
216                }
217            ],
218            "params": {
219                "AccessPointName": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
220                "AccountId": "123456789012",
221                "Region": "cn-north-1",
222                "RequiresAccountId": true,
223                "UseDualStack": false,
224                "UseFIPS": false
225            }
226        },
227        {
228            "documentation": "gov region@us-west-2",
229            "expect": {
230                "endpoint": {
231                    "headers": {
232                        "x-amz-account-id": [
233                            "123456789012"
234                        ],
235                        "x-amz-outpost-id": [
236                            "op-01234567890123456"
237                        ]
238                    },
239                    "properties": {
240                        "authSchemes": [
241                            {
242                                "name": "sigv4",
243                                "signingName": "s3-outposts",
244                                "signingRegion": "us-west-2",
245                                "disableDoubleEncoding": true
246                            }
247                        ]
248                    },
249                    "url": "https://s3-outposts.us-west-2.amazonaws.com"
250                }
251            },
252            "operationInputs": [
253                {
254                    "builtInParams": {
255                        "AWS::Region": "us-west-2"
256                    },
257                    "operationName": "GetAccessPoint",
258                    "operationParams": {
259                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
260                        "AccountId": "123456789012"
261                    }
262                },
263                {
264                    "builtInParams": {
265                        "AWS::Region": "us-west-2"
266                    },
267                    "operationName": "DeleteAccessPoint",
268                    "operationParams": {
269                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
270                        "AccountId": "123456789012"
271                    }
272                }
273            ],
274            "params": {
275                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
276                "AccountId": "123456789012",
277                "Region": "us-west-2",
278                "RequiresAccountId": true,
279                "UseDualStack": false,
280                "UseFIPS": false
281            }
282        },
283        {
284            "documentation": "gov cloud with fips@us-west-2",
285            "expect": {
286                "endpoint": {
287                    "headers": {
288                        "x-amz-account-id": [
289                            "123456789012"
290                        ],
291                        "x-amz-outpost-id": [
292                            "op-01234567890123456"
293                        ]
294                    },
295                    "properties": {
296                        "authSchemes": [
297                            {
298                                "name": "sigv4",
299                                "signingName": "s3-outposts",
300                                "signingRegion": "us-west-2",
301                                "disableDoubleEncoding": true
302                            }
303                        ]
304                    },
305                    "url": "https://s3-outposts-fips.us-west-2.amazonaws.com"
306                }
307            },
308            "operationInputs": [
309                {
310                    "builtInParams": {
311                        "AWS::Region": "us-west-2",
312                        "AWS::UseFIPS": true
313                    },
314                    "operationName": "GetAccessPoint",
315                    "operationParams": {
316                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
317                        "AccountId": "123456789012"
318                    }
319                },
320                {
321                    "builtInParams": {
322                        "AWS::Region": "us-west-2",
323                        "AWS::UseFIPS": true
324                    },
325                    "operationName": "DeleteAccessPoint",
326                    "operationParams": {
327                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
328                        "AccountId": "123456789012"
329                    }
330                }
331            ],
332            "params": {
333                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
334                "AccountId": "123456789012",
335                "Region": "us-west-2",
336                "RequiresAccountId": true,
337                "UseDualStack": false,
338                "UseFIPS": true
339            }
340        },
341        {
342            "documentation": "govcloud with fips + arn region@us-gov-west-1",
343            "expect": {
344                "endpoint": {
345                    "headers": {
346                        "x-amz-account-id": [
347                            "123456789012"
348                        ],
349                        "x-amz-outpost-id": [
350                            "op-01234567890123456"
351                        ]
352                    },
353                    "properties": {
354                        "authSchemes": [
355                            {
356                                "name": "sigv4",
357                                "signingName": "s3-outposts",
358                                "signingRegion": "us-gov-east-1",
359                                "disableDoubleEncoding": true
360                            }
361                        ]
362                    },
363                    "url": "https://s3-outposts-fips.us-gov-east-1.amazonaws.com"
364                }
365            },
366            "operationInputs": [
367                {
368                    "builtInParams": {
369                        "AWS::Region": "us-gov-west-1",
370                        "AWS::UseFIPS": true
371                    },
372                    "operationName": "GetAccessPoint",
373                    "operationParams": {
374                        "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
375                        "AccountId": "123456789012"
376                    }
377                },
378                {
379                    "builtInParams": {
380                        "AWS::Region": "us-gov-west-1",
381                        "AWS::UseFIPS": true
382                    },
383                    "operationName": "DeleteAccessPoint",
384                    "operationParams": {
385                        "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
386                        "AccountId": "123456789012"
387                    }
388                }
389            ],
390            "params": {
391                "AccessPointName": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
392                "AccountId": "123456789012",
393                "Region": "us-gov-west-1",
394                "RequiresAccountId": true,
395                "UseDualStack": false,
396                "UseFIPS": true
397            }
398        },
399        {
400            "documentation": "gov region@cn-north-1",
401            "expect": {
402                "endpoint": {
403                    "headers": {
404                        "x-amz-account-id": [
405                            "123456789012"
406                        ],
407                        "x-amz-outpost-id": [
408                            "op-01234567890123456"
409                        ]
410                    },
411                    "properties": {
412                        "authSchemes": [
413                            {
414                                "name": "sigv4",
415                                "signingName": "s3-outposts",
416                                "signingRegion": "cn-north-1",
417                                "disableDoubleEncoding": true
418                            }
419                        ]
420                    },
421                    "url": "https://s3-outposts.cn-north-1.amazonaws.com.cn"
422                }
423            },
424            "operationInputs": [
425                {
426                    "builtInParams": {
427                        "AWS::Region": "cn-north-1"
428                    },
429                    "operationName": "GetAccessPoint",
430                    "operationParams": {
431                        "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
432                        "AccountId": "123456789012"
433                    }
434                },
435                {
436                    "builtInParams": {
437                        "AWS::Region": "cn-north-1"
438                    },
439                    "operationName": "DeleteAccessPoint",
440                    "operationParams": {
441                        "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
442                        "AccountId": "123456789012"
443                    }
444                }
445            ],
446            "params": {
447                "AccessPointName": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
448                "AccountId": "123456789012",
449                "Region": "cn-north-1",
450                "RequiresAccountId": true,
451                "UseDualStack": false,
452                "UseFIPS": false
453            }
454        },
455        {
456            "documentation": "gov cloud with fips@cn-north-1",
457            "expect": {
458                "endpoint": {
459                    "headers": {
460                        "x-amz-account-id": [
461                            "123456789012"
462                        ],
463                        "x-amz-outpost-id": [
464                            "op-01234567890123456"
465                        ]
466                    },
467                    "properties": {
468                        "authSchemes": [
469                            {
470                                "name": "sigv4",
471                                "signingName": "s3-outposts",
472                                "signingRegion": "cn-north-1",
473                                "disableDoubleEncoding": true
474                            }
475                        ]
476                    },
477                    "url": "https://s3-outposts-fips.cn-north-1.amazonaws.com.cn"
478                }
479            },
480            "operationInputs": [
481                {
482                    "builtInParams": {
483                        "AWS::Region": "cn-north-1",
484                        "AWS::UseFIPS": true
485                    },
486                    "operationName": "GetAccessPoint",
487                    "operationParams": {
488                        "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
489                        "AccountId": "123456789012"
490                    }
491                },
492                {
493                    "builtInParams": {
494                        "AWS::Region": "cn-north-1",
495                        "AWS::UseFIPS": true
496                    },
497                    "operationName": "DeleteAccessPoint",
498                    "operationParams": {
499                        "Name": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
500                        "AccountId": "123456789012"
501                    }
502                }
503            ],
504            "params": {
505                "AccessPointName": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
506                "AccountId": "123456789012",
507                "Region": "cn-north-1",
508                "RequiresAccountId": true,
509                "UseDualStack": false,
510                "UseFIPS": true
511            }
512        },
513        {
514            "documentation": "govcloud with fips + arn region@us-gov-west-1",
515            "expect": {
516                "endpoint": {
517                    "headers": {
518                        "x-amz-account-id": [
519                            "123456789012"
520                        ],
521                        "x-amz-outpost-id": [
522                            "op-01234567890123456"
523                        ]
524                    },
525                    "properties": {
526                        "authSchemes": [
527                            {
528                                "name": "sigv4",
529                                "signingName": "s3-outposts",
530                                "signingRegion": "us-gov-east-1",
531                                "disableDoubleEncoding": true
532                            }
533                        ]
534                    },
535                    "url": "https://s3-outposts-fips.us-gov-east-1.amazonaws.com"
536                }
537            },
538            "operationInputs": [
539                {
540                    "builtInParams": {
541                        "AWS::Region": "us-gov-west-1",
542                        "AWS::UseFIPS": true
543                    },
544                    "operationName": "GetAccessPoint",
545                    "operationParams": {
546                        "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
547                        "AccountId": "123456789012"
548                    }
549                },
550                {
551                    "builtInParams": {
552                        "AWS::Region": "us-gov-west-1",
553                        "AWS::UseFIPS": true
554                    },
555                    "operationName": "DeleteAccessPoint",
556                    "operationParams": {
557                        "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
558                        "AccountId": "123456789012"
559                    }
560                }
561            ],
562            "params": {
563                "AccessPointName": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
564                "AccountId": "123456789012",
565                "Region": "us-gov-west-1",
566                "RequiresAccountId": true,
567                "UseDualStack": false,
568                "UseFIPS": true
569            }
570        },
571        {
572            "documentation": "gov region@af-south-1",
573            "expect": {
574                "endpoint": {
575                    "headers": {
576                        "x-amz-account-id": [
577                            "123456789012"
578                        ],
579                        "x-amz-outpost-id": [
580                            "op-01234567890123456"
581                        ]
582                    },
583                    "properties": {
584                        "authSchemes": [
585                            {
586                                "name": "sigv4",
587                                "signingName": "s3-outposts",
588                                "signingRegion": "af-south-1",
589                                "disableDoubleEncoding": true
590                            }
591                        ]
592                    },
593                    "url": "https://s3-outposts.af-south-1.amazonaws.com"
594                }
595            },
596            "operationInputs": [
597                {
598                    "builtInParams": {
599                        "AWS::Region": "af-south-1"
600                    },
601                    "operationName": "GetAccessPoint",
602                    "operationParams": {
603                        "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
604                        "AccountId": "123456789012"
605                    }
606                },
607                {
608                    "builtInParams": {
609                        "AWS::Region": "af-south-1"
610                    },
611                    "operationName": "DeleteAccessPoint",
612                    "operationParams": {
613                        "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
614                        "AccountId": "123456789012"
615                    }
616                }
617            ],
618            "params": {
619                "AccessPointName": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
620                "AccountId": "123456789012",
621                "Region": "af-south-1",
622                "RequiresAccountId": true,
623                "UseDualStack": false,
624                "UseFIPS": false
625            }
626        },
627        {
628            "documentation": "gov cloud with fips@af-south-1",
629            "expect": {
630                "endpoint": {
631                    "headers": {
632                        "x-amz-account-id": [
633                            "123456789012"
634                        ],
635                        "x-amz-outpost-id": [
636                            "op-01234567890123456"
637                        ]
638                    },
639                    "properties": {
640                        "authSchemes": [
641                            {
642                                "name": "sigv4",
643                                "signingName": "s3-outposts",
644                                "signingRegion": "af-south-1",
645                                "disableDoubleEncoding": true
646                            }
647                        ]
648                    },
649                    "url": "https://s3-outposts-fips.af-south-1.amazonaws.com"
650                }
651            },
652            "operationInputs": [
653                {
654                    "builtInParams": {
655                        "AWS::Region": "af-south-1",
656                        "AWS::UseFIPS": true
657                    },
658                    "operationName": "GetAccessPoint",
659                    "operationParams": {
660                        "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
661                        "AccountId": "123456789012"
662                    }
663                },
664                {
665                    "builtInParams": {
666                        "AWS::Region": "af-south-1",
667                        "AWS::UseFIPS": true
668                    },
669                    "operationName": "DeleteAccessPoint",
670                    "operationParams": {
671                        "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
672                        "AccountId": "123456789012"
673                    }
674                }
675            ],
676            "params": {
677                "AccessPointName": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
678                "AccountId": "123456789012",
679                "Region": "af-south-1",
680                "RequiresAccountId": true,
681                "UseDualStack": false,
682                "UseFIPS": true
683            }
684        },
685        {
686            "documentation": "govcloud with fips + arn region@us-gov-west-1",
687            "expect": {
688                "endpoint": {
689                    "headers": {
690                        "x-amz-account-id": [
691                            "123456789012"
692                        ],
693                        "x-amz-outpost-id": [
694                            "op-01234567890123456"
695                        ]
696                    },
697                    "properties": {
698                        "authSchemes": [
699                            {
700                                "name": "sigv4",
701                                "signingName": "s3-outposts",
702                                "signingRegion": "us-gov-east-1",
703                                "disableDoubleEncoding": true
704                            }
705                        ]
706                    },
707                    "url": "https://s3-outposts-fips.us-gov-east-1.amazonaws.com"
708                }
709            },
710            "operationInputs": [
711                {
712                    "builtInParams": {
713                        "AWS::Region": "us-gov-west-1",
714                        "AWS::UseFIPS": true
715                    },
716                    "operationName": "GetAccessPoint",
717                    "operationParams": {
718                        "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
719                        "AccountId": "123456789012"
720                    }
721                },
722                {
723                    "builtInParams": {
724                        "AWS::Region": "us-gov-west-1",
725                        "AWS::UseFIPS": true
726                    },
727                    "operationName": "DeleteAccessPoint",
728                    "operationParams": {
729                        "Name": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
730                        "AccountId": "123456789012"
731                    }
732                }
733            ],
734            "params": {
735                "AccessPointName": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
736                "AccountId": "123456789012",
737                "Region": "us-gov-west-1",
738                "RequiresAccountId": true,
739                "UseDualStack": false,
740                "UseFIPS": true
741            }
742        },
743        {
744            "documentation": "CreateBucket + OutpostId = outposts endpoint@us-east-2",
745            "expect": {
746                "endpoint": {
747                    "properties": {
748                        "authSchemes": [
749                            {
750                                "name": "sigv4",
751                                "signingName": "s3-outposts",
752                                "signingRegion": "us-east-2",
753                                "disableDoubleEncoding": true
754                            }
755                        ]
756                    },
757                    "url": "https://s3-outposts.us-east-2.amazonaws.com"
758                }
759            },
760            "operationInputs": [
761                {
762                    "builtInParams": {
763                        "AWS::Region": "us-east-2"
764                    },
765                    "operationName": "CreateBucket",
766                    "operationParams": {
767                        "Bucket": "blah",
768                        "OutpostId": "123"
769                    }
770                }
771            ],
772            "params": {
773                "Bucket": "blah",
774                "OutpostId": "123",
775                "Region": "us-east-2",
776                "RequiresAccountId": false,
777                "UseDualStack": false,
778                "UseFIPS": false
779            }
780        },
781        {
782            "documentation": "CreateBucket + OutpostId with fips = outposts endpoint@us-east-2",
783            "expect": {
784                "endpoint": {
785                    "properties": {
786                        "authSchemes": [
787                            {
788                                "name": "sigv4",
789                                "signingName": "s3-outposts",
790                                "signingRegion": "us-east-2",
791                                "disableDoubleEncoding": true
792                            }
793                        ]
794                    },
795                    "url": "https://s3-outposts-fips.us-east-2.amazonaws.com"
796                }
797            },
798            "operationInputs": [
799                {
800                    "builtInParams": {
801                        "AWS::Region": "us-east-2",
802                        "AWS::UseFIPS": true
803                    },
804                    "operationName": "CreateBucket",
805                    "operationParams": {
806                        "Bucket": "blah",
807                        "OutpostId": "123"
808                    }
809                }
810            ],
811            "params": {
812                "Bucket": "blah",
813                "OutpostId": "123",
814                "Region": "us-east-2",
815                "RequiresAccountId": false,
816                "UseDualStack": false,
817                "UseFIPS": true
818            }
819        },
820        {
821            "documentation": "CreateBucket without OutpostId = regular endpoint@us-east-2",
822            "expect": {
823                "endpoint": {
824                    "properties": {
825                        "authSchemes": [
826                            {
827                                "name": "sigv4",
828                                "signingName": "s3",
829                                "signingRegion": "us-east-2",
830                                "disableDoubleEncoding": true
831                            }
832                        ]
833                    },
834                    "url": "https://s3-control.us-east-2.amazonaws.com"
835                }
836            },
837            "operationInputs": [
838                {
839                    "builtInParams": {
840                        "AWS::Region": "us-east-2"
841                    },
842                    "operationName": "CreateBucket",
843                    "operationParams": {
844                        "Bucket": "blah"
845                    }
846                }
847            ],
848            "params": {
849                "Bucket": "blah",
850                "Region": "us-east-2",
851                "RequiresAccountId": false,
852                "UseDualStack": false,
853                "UseFIPS": false
854            }
855        },
856        {
857            "documentation": "ListRegionalBuckets + OutpostId = outposts endpoint@us-east-2",
858            "expect": {
859                "endpoint": {
860                    "properties": {
861                        "authSchemes": [
862                            {
863                                "name": "sigv4",
864                                "signingName": "s3-outposts",
865                                "signingRegion": "us-east-2",
866                                "disableDoubleEncoding": true
867                            }
868                        ]
869                    },
870                    "url": "https://s3-outposts.us-east-2.amazonaws.com"
871                }
872            },
873            "operationInputs": [
874                {
875                    "builtInParams": {
876                        "AWS::Region": "us-east-2"
877                    },
878                    "operationName": "ListRegionalBuckets",
879                    "operationParams": {
880                        "AccountId": "123456789012",
881                        "OutpostId": "op-123"
882                    }
883                }
884            ],
885            "params": {
886                "AccountId": "123456789012",
887                "OutpostId": "op-123",
888                "Region": "us-east-2",
889                "RequiresAccountId": true,
890                "UseDualStack": false,
891                "UseFIPS": false
892            }
893        },
894        {
895            "documentation": "ListRegionalBuckets without OutpostId = regular endpoint@us-east-2",
896            "expect": {
897                "endpoint": {
898                    "properties": {
899                        "authSchemes": [
900                            {
901                                "name": "sigv4",
902                                "signingName": "s3",
903                                "signingRegion": "us-east-2",
904                                "disableDoubleEncoding": true
905                            }
906                        ]
907                    },
908                    "url": "https://123456789012.s3-control.us-east-2.amazonaws.com"
909                }
910            },
911            "operationInputs": [
912                {
913                    "builtInParams": {
914                        "AWS::Region": "us-east-2"
915                    },
916                    "operationName": "ListRegionalBuckets",
917                    "operationParams": {
918                        "AccountId": "123456789012"
919                    }
920                }
921            ],
922            "params": {
923                "AccountId": "123456789012",
924                "Region": "us-east-2",
925                "RequiresAccountId": true,
926                "UseDualStack": false,
927                "UseFIPS": false
928            }
929        },
930        {
931            "documentation": "ListRegionalBucket + OutpostId with fips = outposts endpoint@us-east-2",
932            "expect": {
933                "endpoint": {
934                    "properties": {
935                        "authSchemes": [
936                            {
937                                "name": "sigv4",
938                                "signingName": "s3-outposts",
939                                "signingRegion": "us-east-2",
940                                "disableDoubleEncoding": true
941                            }
942                        ]
943                    },
944                    "url": "https://s3-outposts-fips.us-east-2.amazonaws.com"
945                }
946            },
947            "operationInputs": [
948                {
949                    "builtInParams": {
950                        "AWS::Region": "us-east-2",
951                        "AWS::UseFIPS": true
952                    },
953                    "operationName": "ListRegionalBuckets",
954                    "operationParams": {
955                        "AccountId": "123456789012",
956                        "OutpostId": "op-123"
957                    }
958                }
959            ],
960            "params": {
961                "AccountId": "123456789012",
962                "OutpostId": "op-123",
963                "Region": "us-east-2",
964                "RequiresAccountId": true,
965                "UseDualStack": false,
966                "UseFIPS": true
967            }
968        },
969        {
970            "documentation": "outpost access points support dualstack@us-west-2",
971            "expect": {
972                "endpoint": {
973                    "headers": {
974                        "x-amz-account-id": [
975                            "123456789012"
976                        ],
977                        "x-amz-outpost-id": [
978                            "op-01234567890123456"
979                        ]
980                    },
981                    "properties": {
982                        "authSchemes": [
983                            {
984                                "name": "sigv4",
985                                "signingName": "s3-outposts",
986                                "signingRegion": "us-west-2",
987                                "disableDoubleEncoding": true
988                            }
989                        ]
990                    },
991                    "url": "https://s3-outposts.us-west-2.api.aws"
992                }
993            },
994            "operationInputs": [
995                {
996                    "builtInParams": {
997                        "AWS::Region": "us-west-2",
998                        "AWS::UseDualStack": true
999                    },
1000                    "operationName": "GetAccessPoint",
1001                    "operationParams": {
1002                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1003                        "AccountId": "123456789012"
1004                    }
1005                },
1006                {
1007                    "builtInParams": {
1008                        "AWS::Region": "us-west-2",
1009                        "AWS::UseDualStack": true
1010                    },
1011                    "operationName": "DeleteAccessPoint",
1012                    "operationParams": {
1013                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1014                        "AccountId": "123456789012"
1015                    }
1016                }
1017            ],
1018            "params": {
1019                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1020                "AccountId": "123456789012",
1021                "Region": "us-west-2",
1022                "RequiresAccountId": true,
1023                "UseDualStack": true,
1024                "UseFIPS": false
1025            }
1026        },
1027        {
1028            "documentation": "outpost access points support dualstack@af-south-1",
1029            "expect": {
1030                "endpoint": {
1031                    "headers": {
1032                        "x-amz-account-id": [
1033                            "123456789012"
1034                        ],
1035                        "x-amz-outpost-id": [
1036                            "op-01234567890123456"
1037                        ]
1038                    },
1039                    "properties": {
1040                        "authSchemes": [
1041                            {
1042                                "name": "sigv4",
1043                                "signingName": "s3-outposts",
1044                                "signingRegion": "af-south-1",
1045                                "disableDoubleEncoding": true
1046                            }
1047                        ]
1048                    },
1049                    "url": "https://s3-outposts.af-south-1.api.aws"
1050                }
1051            },
1052            "operationInputs": [
1053                {
1054                    "builtInParams": {
1055                        "AWS::Region": "af-south-1",
1056                        "AWS::UseDualStack": true
1057                    },
1058                    "operationName": "GetAccessPoint",
1059                    "operationParams": {
1060                        "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1061                        "AccountId": "123456789012"
1062                    }
1063                },
1064                {
1065                    "builtInParams": {
1066                        "AWS::Region": "af-south-1",
1067                        "AWS::UseDualStack": true
1068                    },
1069                    "operationName": "DeleteAccessPoint",
1070                    "operationParams": {
1071                        "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1072                        "AccountId": "123456789012"
1073                    }
1074                }
1075            ],
1076            "params": {
1077                "AccessPointName": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1078                "AccountId": "123456789012",
1079                "Region": "af-south-1",
1080                "RequiresAccountId": true,
1081                "UseDualStack": true,
1082                "UseFIPS": false
1083            }
1084        },
1085        {
1086            "documentation": "outpost access points support fips + dualstack@af-south-1",
1087            "expect": {
1088                "endpoint": {
1089                    "headers": {
1090                        "x-amz-account-id": [
1091                            "123456789012"
1092                        ],
1093                        "x-amz-outpost-id": [
1094                            "op-01234567890123456"
1095                        ]
1096                    },
1097                    "properties": {
1098                        "authSchemes": [
1099                            {
1100                                "name": "sigv4",
1101                                "signingName": "s3-outposts",
1102                                "signingRegion": "af-south-1",
1103                                "disableDoubleEncoding": true
1104                            }
1105                        ]
1106                    },
1107                    "url": "https://s3-outposts-fips.af-south-1.api.aws"
1108                }
1109            },
1110            "operationInputs": [
1111                {
1112                    "builtInParams": {
1113                        "AWS::Region": "af-south-1",
1114                        "AWS::UseFIPS": true,
1115                        "AWS::UseDualStack": true
1116                    },
1117                    "operationName": "GetAccessPoint",
1118                    "operationParams": {
1119                        "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1120                        "AccountId": "123456789012"
1121                    }
1122                },
1123                {
1124                    "builtInParams": {
1125                        "AWS::Region": "af-south-1",
1126                        "AWS::UseFIPS": true,
1127                        "AWS::UseDualStack": true
1128                    },
1129                    "operationName": "DeleteAccessPoint",
1130                    "operationParams": {
1131                        "Name": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1132                        "AccountId": "123456789012"
1133                    }
1134                }
1135            ],
1136            "params": {
1137                "AccessPointName": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1138                "AccountId": "123456789012",
1139                "Region": "af-south-1",
1140                "RequiresAccountId": true,
1141                "UseDualStack": true,
1142                "UseFIPS": true
1143            }
1144        },
1145        {
1146            "documentation": "invalid ARN: must be include outpost ID@us-west-2",
1147            "expect": {
1148                "error": "Invalid ARN: The Outpost Id was not set"
1149            },
1150            "params": {
1151                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost",
1152                "AccountId": "123456789012",
1153                "Region": "us-west-2",
1154                "RequiresAccountId": true,
1155                "UseDualStack": false,
1156                "UseFIPS": false
1157            }
1158        },
1159        {
1160            "documentation": "invalid ARN: must specify access point@us-west-2",
1161            "expect": {
1162                "error": "Invalid ARN: Expected a 4-component resource"
1163            },
1164            "params": {
1165                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456",
1166                "Region": "us-west-2",
1167                "RequiresAccountId": true,
1168                "UseDualStack": false,
1169                "UseFIPS": false
1170            }
1171        },
1172        {
1173            "documentation": "invalid ARN@us-west-2",
1174            "expect": {
1175                "error": "Invalid ARN: Expected a 4-component resource"
1176            },
1177            "params": {
1178                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:myaccesspoint",
1179                "Region": "us-west-2",
1180                "RequiresAccountId": true,
1181                "UseDualStack": false,
1182                "UseFIPS": false
1183            }
1184        },
1185        {
1186            "documentation": "when set, AccountId drives AP construction@us-west-2",
1187            "expect": {
1188                "endpoint": {
1189                    "properties": {
1190                        "authSchemes": [
1191                            {
1192                                "name": "sigv4",
1193                                "signingName": "s3",
1194                                "signingRegion": "us-west-2",
1195                                "disableDoubleEncoding": true
1196                            }
1197                        ]
1198                    },
1199                    "url": "https://myid-1234.s3-control.us-west-2.amazonaws.com"
1200                }
1201            },
1202            "params": {
1203                "AccessPointName": "myaccesspoint",
1204                "AccountId": "myid-1234",
1205                "Region": "us-west-2",
1206                "RequiresAccountId": true,
1207                "UseDualStack": false,
1208                "UseFIPS": false
1209            }
1210        },
1211        {
1212            "documentation": "Account ID set inline and in ARN but they both match@us-west-2",
1213            "expect": {
1214                "endpoint": {
1215                    "headers": {
1216                        "x-amz-account-id": [
1217                            "123456789012"
1218                        ],
1219                        "x-amz-outpost-id": [
1220                            "op-01234567890123456"
1221                        ]
1222                    },
1223                    "properties": {
1224                        "authSchemes": [
1225                            {
1226                                "name": "sigv4",
1227                                "signingName": "s3-outposts",
1228                                "signingRegion": "us-west-2",
1229                                "disableDoubleEncoding": true
1230                            }
1231                        ]
1232                    },
1233                    "url": "https://s3-outposts.us-west-2.amazonaws.com"
1234                }
1235            },
1236            "operationInputs": [
1237                {
1238                    "builtInParams": {
1239                        "AWS::Region": "us-west-2",
1240                        "AWS::S3Control::UseArnRegion": false
1241                    },
1242                    "operationName": "GetAccessPoint",
1243                    "operationParams": {
1244                        "AccountId": "123456789012",
1245                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"
1246                    }
1247                }
1248            ],
1249            "params": {
1250                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1251                "AccountId": "123456789012",
1252                "Region": "us-west-2",
1253                "RequiresAccountId": true,
1254                "UseArnRegion": false,
1255                "UseDualStack": false,
1256                "UseFIPS": false
1257            }
1258        },
1259        {
1260            "documentation": "Account ID set inline and in ARN and they do not match@us-west-2",
1261            "expect": {
1262                "error": "Invalid ARN: the accountId specified in the ARN (`123456789012`) does not match the parameter (`999999999999`)"
1263            },
1264            "operationInputs": [
1265                {
1266                    "builtInParams": {
1267                        "AWS::Region": "us-west-2",
1268                        "AWS::S3Control::UseArnRegion": false
1269                    },
1270                    "operationName": "GetAccessPoint",
1271                    "operationParams": {
1272                        "AccountId": "999999999999",
1273                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint"
1274                    }
1275                }
1276            ],
1277            "params": {
1278                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1279                "AccountId": "999999999999",
1280                "Region": "us-west-2",
1281                "RequiresAccountId": true,
1282                "UseArnRegion": false,
1283                "UseDualStack": false,
1284                "UseFIPS": false
1285            }
1286        },
1287        {
1288            "documentation": "get access point prefixed with account id using endpoint url@us-west-2",
1289            "expect": {
1290                "endpoint": {
1291                    "properties": {
1292                        "authSchemes": [
1293                            {
1294                                "name": "sigv4",
1295                                "signingName": "s3",
1296                                "signingRegion": "us-west-2",
1297                                "disableDoubleEncoding": true
1298                            }
1299                        ]
1300                    },
1301                    "url": "https://123456789012.control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"
1302                }
1303            },
1304            "operationInputs": [
1305                {
1306                    "builtInParams": {
1307                        "AWS::Region": "us-west-2",
1308                        "SDK::Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com"
1309                    },
1310                    "operationName": "GetAccessPoint",
1311                    "operationParams": {
1312                        "AccountId": "123456789012",
1313                        "Name": "apname"
1314                    }
1315                }
1316            ],
1317            "params": {
1318                "AccessPointName": "apname",
1319                "AccountId": "123456789012",
1320                "Endpoint": "https://control.vpce-1a2b3c4d-5e6f.s3.us-west-2.vpce.amazonaws.com",
1321                "Region": "us-west-2",
1322                "RequiresAccountId": true,
1323                "UseDualStack": false,
1324                "UseFIPS": false
1325            }
1326        },
1327        {
1328            "documentation": "endpoint url with s3-outposts@us-west-2",
1329            "expect": {
1330                "endpoint": {
1331                    "headers": {
1332                        "x-amz-account-id": [
1333                            "123456789012"
1334                        ],
1335                        "x-amz-outpost-id": [
1336                            "op-01234567890123456"
1337                        ]
1338                    },
1339                    "properties": {
1340                        "authSchemes": [
1341                            {
1342                                "name": "sigv4",
1343                                "signingName": "s3-outposts",
1344                                "signingRegion": "us-west-2",
1345                                "disableDoubleEncoding": true
1346                            }
1347                        ]
1348                    },
1349                    "url": "https://beta.example.com"
1350                }
1351            },
1352            "operationInputs": [
1353                {
1354                    "builtInParams": {
1355                        "AWS::Region": "us-west-2",
1356                        "SDK::Endpoint": "https://beta.example.com"
1357                    },
1358                    "operationName": "GetAccessPoint",
1359                    "operationParams": {
1360                        "Name": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1361                        "AccountId": "123456789012"
1362                    }
1363                }
1364            ],
1365            "params": {
1366                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1367                "AccountId": "123456789012",
1368                "Endpoint": "https://beta.example.com",
1369                "Region": "us-west-2",
1370                "RequiresAccountId": true,
1371                "UseDualStack": false,
1372                "UseFIPS": false
1373            }
1374        },
1375        {
1376            "documentation": "access point name with a bucket arn@us-west-2",
1377            "expect": {
1378                "error": "Expected an outpost type `accesspoint`, found `bucket`"
1379            },
1380            "params": {
1381                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1382                "Endpoint": "beta.example.com",
1383                "Region": "us-west-2",
1384                "RequiresAccountId": true,
1385                "UseDualStack": false,
1386                "UseFIPS": false
1387            }
1388        },
1389        {
1390            "documentation": "bucket arn with access point name@us-west-2",
1391            "expect": {
1392                "error": "Invalid ARN: Expected an outpost type `bucket`, found `accesspoint`"
1393            },
1394            "params": {
1395                "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1396                "Endpoint": "beta.example.com",
1397                "Region": "us-west-2",
1398                "RequiresAccountId": true,
1399                "UseDualStack": false,
1400                "UseFIPS": false
1401            }
1402        },
1403        {
1404            "documentation": "create bucket with outposts@us-west-2",
1405            "expect": {
1406                "endpoint": {
1407                    "properties": {
1408                        "authSchemes": [
1409                            {
1410                                "name": "sigv4",
1411                                "signingName": "s3-outposts",
1412                                "signingRegion": "us-west-2",
1413                                "disableDoubleEncoding": true
1414                            }
1415                        ]
1416                    },
1417                    "url": "https://beta.example.com"
1418                }
1419            },
1420            "params": {
1421                "Bucket": "bucketname",
1422                "Endpoint": "https://beta.example.com",
1423                "OutpostId": "op-123",
1424                "Region": "us-west-2",
1425                "RequiresAccountId": false,
1426                "UseDualStack": false,
1427                "UseFIPS": false
1428            }
1429        },
1430        {
1431            "documentation": "get bucket with endpoint_url@us-west-2",
1432            "expect": {
1433                "endpoint": {
1434                    "headers": {
1435                        "x-amz-account-id": [
1436                            "123456789012"
1437                        ],
1438                        "x-amz-outpost-id": [
1439                            "op-01234567890123456"
1440                        ]
1441                    },
1442                    "properties": {
1443                        "authSchemes": [
1444                            {
1445                                "name": "sigv4",
1446                                "signingName": "s3-outposts",
1447                                "signingRegion": "us-west-2",
1448                                "disableDoubleEncoding": true
1449                            }
1450                        ]
1451                    },
1452                    "url": "https://beta.example.com"
1453                }
1454            },
1455            "operationInputs": [
1456                {
1457                    "builtInParams": {
1458                        "AWS::Region": "us-west-2",
1459                        "SDK::Endpoint": "https://beta.example.com"
1460                    },
1461                    "operationName": "GetBucket",
1462                    "operationParams": {
1463                        "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1464                        "AccountId": "123456789012"
1465                    }
1466                }
1467            ],
1468            "params": {
1469                "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1470                "Endpoint": "https://beta.example.com",
1471                "Region": "us-west-2",
1472                "RequiresAccountId": true,
1473                "UseDualStack": false,
1474                "UseFIPS": false
1475            }
1476        },
1477        {
1478            "documentation": "ListRegionalBucket + OutpostId endpoint url@us-east-2",
1479            "expect": {
1480                "endpoint": {
1481                    "properties": {
1482                        "authSchemes": [
1483                            {
1484                                "name": "sigv4",
1485                                "signingName": "s3-outposts",
1486                                "signingRegion": "us-east-2",
1487                                "disableDoubleEncoding": true
1488                            }
1489                        ]
1490                    },
1491                    "url": "https://beta.example.com"
1492                }
1493            },
1494            "operationInputs": [
1495                {
1496                    "builtInParams": {
1497                        "AWS::Region": "us-east-2",
1498                        "SDK::Endpoint": "https://beta.example.com"
1499                    },
1500                    "operationName": "ListRegionalBuckets",
1501                    "operationParams": {
1502                        "AccountId": "123456789012",
1503                        "OutpostId": "op-123"
1504                    }
1505                }
1506            ],
1507            "params": {
1508                "AccountId": "123456789012",
1509                "Endpoint": "https://beta.example.com",
1510                "OutpostId": "op-123",
1511                "Region": "us-east-2",
1512                "RequiresAccountId": true,
1513                "UseDualStack": false,
1514                "UseFIPS": false
1515            }
1516        },
1517        {
1518            "documentation": "ListRegionalBucket + OutpostId + fips + endpoint url@us-east-2",
1519            "expect": {
1520                "endpoint": {
1521                    "properties": {
1522                        "authSchemes": [
1523                            {
1524                                "name": "sigv4",
1525                                "signingName": "s3-outposts",
1526                                "signingRegion": "us-east-2",
1527                                "disableDoubleEncoding": true
1528                            }
1529                        ]
1530                    },
1531                    "url": "https://beta.example.com"
1532                }
1533            },
1534            "operationInputs": [
1535                {
1536                    "builtInParams": {
1537                        "AWS::Region": "us-east-2",
1538                        "AWS::UseFIPS": true,
1539                        "SDK::Endpoint": "https://beta.example.com"
1540                    },
1541                    "operationName": "ListRegionalBuckets",
1542                    "operationParams": {
1543                        "AccountId": "123456789012",
1544                        "OutpostId": "op-123"
1545                    }
1546                }
1547            ],
1548            "params": {
1549                "AccountId": "123456789012",
1550                "Endpoint": "https://beta.example.com",
1551                "OutpostId": "op-123",
1552                "Region": "us-east-2",
1553                "RequiresAccountId": true,
1554                "UseDualStack": false,
1555                "UseFIPS": true
1556            }
1557        },
1558        {
1559            "documentation": "ListRegionalBucket + OutpostId + fips + dualstack@us-east-2",
1560            "expect": {
1561                "endpoint": {
1562                    "properties": {
1563                        "authSchemes": [
1564                            {
1565                                "name": "sigv4",
1566                                "signingName": "s3-outposts",
1567                                "signingRegion": "us-east-2",
1568                                "disableDoubleEncoding": true
1569                            }
1570                        ]
1571                    },
1572                    "url": "https://s3-outposts-fips.us-east-2.api.aws"
1573                }
1574            },
1575            "operationInputs": [
1576                {
1577                    "builtInParams": {
1578                        "AWS::Region": "us-east-2",
1579                        "AWS::UseFIPS": true,
1580                        "AWS::UseDualStack": true
1581                    },
1582                    "operationName": "ListRegionalBuckets",
1583                    "operationParams": {
1584                        "AccountId": "123456789012",
1585                        "OutpostId": "op-123"
1586                    }
1587                }
1588            ],
1589            "params": {
1590                "AccountId": "123456789012",
1591                "OutpostId": "op-123",
1592                "Region": "us-east-2",
1593                "RequiresAccountId": true,
1594                "UseDualStack": true,
1595                "UseFIPS": true
1596            }
1597        },
1598        {
1599            "documentation": "CreateBucket + OutpostId endpoint url@us-east-2",
1600            "expect": {
1601                "endpoint": {
1602                    "properties": {
1603                        "authSchemes": [
1604                            {
1605                                "name": "sigv4",
1606                                "signingName": "s3-outposts",
1607                                "signingRegion": "us-east-2",
1608                                "disableDoubleEncoding": true
1609                            }
1610                        ]
1611                    },
1612                    "url": "https://beta.example.com"
1613                }
1614            },
1615            "operationInputs": [
1616                {
1617                    "builtInParams": {
1618                        "AWS::Region": "us-east-2",
1619                        "AWS::UseFIPS": true,
1620                        "SDK::Endpoint": "https://beta.example.com"
1621                    },
1622                    "operationName": "CreateBucket",
1623                    "operationParams": {
1624                        "Bucket": "blah",
1625                        "OutpostId": "123"
1626                    }
1627                }
1628            ],
1629            "params": {
1630                "Bucket": "blah",
1631                "Endpoint": "https://beta.example.com",
1632                "OutpostId": "123",
1633                "Region": "us-east-2",
1634                "RequiresAccountId": false,
1635                "UseDualStack": false,
1636                "UseFIPS": true
1637            }
1638        },
1639        {
1640            "documentation": "dualstack cannot be used with outposts when an endpoint URL is set@us-west-2.",
1641            "expect": {
1642                "error": "Invalid Configuration: DualStack and custom endpoint are not supported"
1643            },
1644            "params": {
1645                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
1646                "Endpoint": "https://s3-outposts.us-west-2.api.aws",
1647                "Region": "us-west-2",
1648                "RequiresAccountId": true,
1649                "UseDualStack": true,
1650                "UseFIPS": false
1651            }
1652        },
1653        {
1654            "documentation": "vanilla bucket arn requires account id@us-west-2",
1655            "expect": {
1656                "endpoint": {
1657                    "headers": {
1658                        "x-amz-account-id": [
1659                            "123456789012"
1660                        ],
1661                        "x-amz-outpost-id": [
1662                            "op-01234567890123456"
1663                        ]
1664                    },
1665                    "properties": {
1666                        "authSchemes": [
1667                            {
1668                                "name": "sigv4",
1669                                "signingName": "s3-outposts",
1670                                "signingRegion": "us-west-2",
1671                                "disableDoubleEncoding": true
1672                            }
1673                        ]
1674                    },
1675                    "url": "https://s3-outposts.us-west-2.amazonaws.com"
1676                }
1677            },
1678            "operationInputs": [
1679                {
1680                    "builtInParams": {
1681                        "AWS::Region": "us-west-2"
1682                    },
1683                    "operationName": "CreateAccessPoint",
1684                    "operationParams": {
1685                        "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1686                        "Name": "apname",
1687                        "AccountId": "123456789012"
1688                    }
1689                }
1690            ],
1691            "params": {
1692                "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1693                "Region": "us-west-2",
1694                "RequiresAccountId": true,
1695                "UseDualStack": false,
1696                "UseFIPS": false
1697            }
1698        },
1699        {
1700            "documentation": "bucket arn with UseArnRegion = true (arn region supercedes client configured region)@us-west-2",
1701            "expect": {
1702                "endpoint": {
1703                    "headers": {
1704                        "x-amz-account-id": [
1705                            "123456789012"
1706                        ],
1707                        "x-amz-outpost-id": [
1708                            "op-01234567890123456"
1709                        ]
1710                    },
1711                    "properties": {
1712                        "authSchemes": [
1713                            {
1714                                "name": "sigv4",
1715                                "signingName": "s3-outposts",
1716                                "signingRegion": "us-east-1",
1717                                "disableDoubleEncoding": true
1718                            }
1719                        ]
1720                    },
1721                    "url": "https://s3-outposts.us-east-1.amazonaws.com"
1722                }
1723            },
1724            "operationInputs": [
1725                {
1726                    "builtInParams": {
1727                        "AWS::Region": "us-west-2"
1728                    },
1729                    "operationName": "GetBucket",
1730                    "operationParams": {
1731                        "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1732                        "AccountId": "123456789012"
1733                    }
1734                }
1735            ],
1736            "params": {
1737                "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1738                "Region": "us-west-2",
1739                "RequiresAccountId": true,
1740                "UseDualStack": false,
1741                "UseFIPS": false
1742            }
1743        },
1744        {
1745            "documentation": "bucket ARN in gov partition (non-fips)@us-gov-east-1",
1746            "expect": {
1747                "endpoint": {
1748                    "headers": {
1749                        "x-amz-account-id": [
1750                            "123456789012"
1751                        ],
1752                        "x-amz-outpost-id": [
1753                            "op-01234567890123456"
1754                        ]
1755                    },
1756                    "properties": {
1757                        "authSchemes": [
1758                            {
1759                                "name": "sigv4",
1760                                "signingName": "s3-outposts",
1761                                "signingRegion": "us-gov-east-1",
1762                                "disableDoubleEncoding": true
1763                            }
1764                        ]
1765                    },
1766                    "url": "https://s3-outposts.us-gov-east-1.amazonaws.com"
1767                }
1768            },
1769            "operationInputs": [
1770                {
1771                    "builtInParams": {
1772                        "AWS::Region": "us-gov-east-1"
1773                    },
1774                    "operationName": "GetBucket",
1775                    "operationParams": {
1776                        "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1777                        "AccountId": "123456789012"
1778                    }
1779                }
1780            ],
1781            "params": {
1782                "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1783                "Region": "us-gov-east-1",
1784                "RequiresAccountId": true,
1785                "UseDualStack": false,
1786                "UseFIPS": false
1787            }
1788        },
1789        {
1790            "documentation": "bucket ARN in gov partition with FIPS@us-gov-west-1",
1791            "expect": {
1792                "endpoint": {
1793                    "headers": {
1794                        "x-amz-account-id": [
1795                            "123456789012"
1796                        ],
1797                        "x-amz-outpost-id": [
1798                            "op-01234567890123456"
1799                        ]
1800                    },
1801                    "properties": {
1802                        "authSchemes": [
1803                            {
1804                                "name": "sigv4",
1805                                "signingName": "s3-outposts",
1806                                "signingRegion": "us-gov-west-1",
1807                                "disableDoubleEncoding": true
1808                            }
1809                        ]
1810                    },
1811                    "url": "https://s3-outposts-fips.us-gov-west-1.amazonaws.com"
1812                }
1813            },
1814            "operationInputs": [
1815                {
1816                    "builtInParams": {
1817                        "AWS::Region": "us-gov-west-1",
1818                        "AWS::UseFIPS": true
1819                    },
1820                    "operationName": "GetBucket",
1821                    "operationParams": {
1822                        "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-west-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1823                        "AccountId": "123456789012"
1824                    }
1825                }
1826            ],
1827            "params": {
1828                "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-west-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1829                "Region": "us-gov-west-1",
1830                "RequiresAccountId": true,
1831                "UseDualStack": false,
1832                "UseFIPS": true
1833            }
1834        },
1835        {
1836            "documentation": "bucket ARN in aws partition with FIPS@us-east-2",
1837            "expect": {
1838                "endpoint": {
1839                    "headers": {
1840                        "x-amz-account-id": [
1841                            "123456789012"
1842                        ],
1843                        "x-amz-outpost-id": [
1844                            "op-01234567890123456"
1845                        ]
1846                    },
1847                    "properties": {
1848                        "authSchemes": [
1849                            {
1850                                "name": "sigv4",
1851                                "signingName": "s3-outposts",
1852                                "signingRegion": "us-east-2",
1853                                "disableDoubleEncoding": true
1854                            }
1855                        ]
1856                    },
1857                    "url": "https://s3-outposts-fips.us-east-2.amazonaws.com"
1858                }
1859            },
1860            "operationInputs": [
1861                {
1862                    "builtInParams": {
1863                        "AWS::Region": "us-east-2",
1864                        "AWS::UseFIPS": true
1865                    },
1866                    "operationName": "GetBucket",
1867                    "operationParams": {
1868                        "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1869                        "AccountId": "123456789012"
1870                    }
1871                }
1872            ],
1873            "params": {
1874                "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1875                "Region": "us-east-2",
1876                "RequiresAccountId": true,
1877                "UseDualStack": false,
1878                "UseFIPS": true
1879            }
1880        },
1881        {
1882            "documentation": "bucket ARN in aws partition with fips + dualstack@us-east-2",
1883            "expect": {
1884                "endpoint": {
1885                    "headers": {
1886                        "x-amz-account-id": [
1887                            "123456789012"
1888                        ],
1889                        "x-amz-outpost-id": [
1890                            "op-01234567890123456"
1891                        ]
1892                    },
1893                    "properties": {
1894                        "authSchemes": [
1895                            {
1896                                "name": "sigv4",
1897                                "signingName": "s3-outposts",
1898                                "signingRegion": "us-east-2",
1899                                "disableDoubleEncoding": true
1900                            }
1901                        ]
1902                    },
1903                    "url": "https://s3-outposts-fips.us-east-2.api.aws"
1904                }
1905            },
1906            "operationInputs": [
1907                {
1908                    "builtInParams": {
1909                        "AWS::Region": "us-east-2",
1910                        "AWS::UseFIPS": true,
1911                        "AWS::UseDualStack": true
1912                    },
1913                    "operationName": "GetBucket",
1914                    "operationParams": {
1915                        "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1916                        "AccountId": "123456789012"
1917                    }
1918                }
1919            ],
1920            "params": {
1921                "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1922                "Region": "us-east-2",
1923                "RequiresAccountId": true,
1924                "UseDualStack": true,
1925                "UseFIPS": true
1926            }
1927        },
1928        {
1929            "documentation": "vanilla bucket arn requires account id@cn-north-1",
1930            "expect": {
1931                "endpoint": {
1932                    "headers": {
1933                        "x-amz-account-id": [
1934                            "123456789012"
1935                        ],
1936                        "x-amz-outpost-id": [
1937                            "op-01234567890123456"
1938                        ]
1939                    },
1940                    "properties": {
1941                        "authSchemes": [
1942                            {
1943                                "name": "sigv4",
1944                                "signingName": "s3-outposts",
1945                                "signingRegion": "cn-north-1",
1946                                "disableDoubleEncoding": true
1947                            }
1948                        ]
1949                    },
1950                    "url": "https://s3-outposts.cn-north-1.amazonaws.com.cn"
1951                }
1952            },
1953            "operationInputs": [
1954                {
1955                    "builtInParams": {
1956                        "AWS::Region": "cn-north-1"
1957                    },
1958                    "operationName": "CreateAccessPoint",
1959                    "operationParams": {
1960                        "Bucket": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1961                        "Name": "apname",
1962                        "AccountId": "123456789012"
1963                    }
1964                }
1965            ],
1966            "params": {
1967                "Bucket": "arn:aws-cn:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
1968                "Region": "cn-north-1",
1969                "RequiresAccountId": true,
1970                "UseDualStack": false,
1971                "UseFIPS": false
1972            }
1973        },
1974        {
1975            "documentation": "bucket arn with UseArnRegion = true (arn region supercedes client configured region)@us-west-2",
1976            "expect": {
1977                "endpoint": {
1978                    "headers": {
1979                        "x-amz-account-id": [
1980                            "123456789012"
1981                        ],
1982                        "x-amz-outpost-id": [
1983                            "op-01234567890123456"
1984                        ]
1985                    },
1986                    "properties": {
1987                        "authSchemes": [
1988                            {
1989                                "name": "sigv4",
1990                                "signingName": "s3-outposts",
1991                                "signingRegion": "us-east-1",
1992                                "disableDoubleEncoding": true
1993                            }
1994                        ]
1995                    },
1996                    "url": "https://s3-outposts.us-east-1.amazonaws.com"
1997                }
1998            },
1999            "operationInputs": [
2000                {
2001                    "builtInParams": {
2002                        "AWS::Region": "us-west-2"
2003                    },
2004                    "operationName": "GetBucket",
2005                    "operationParams": {
2006                        "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2007                        "AccountId": "123456789012"
2008                    }
2009                }
2010            ],
2011            "params": {
2012                "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2013                "Region": "us-west-2",
2014                "RequiresAccountId": true,
2015                "UseDualStack": false,
2016                "UseFIPS": false
2017            }
2018        },
2019        {
2020            "documentation": "bucket ARN in gov partition (non-fips)@us-gov-east-1",
2021            "expect": {
2022                "endpoint": {
2023                    "headers": {
2024                        "x-amz-account-id": [
2025                            "123456789012"
2026                        ],
2027                        "x-amz-outpost-id": [
2028                            "op-01234567890123456"
2029                        ]
2030                    },
2031                    "properties": {
2032                        "authSchemes": [
2033                            {
2034                                "name": "sigv4",
2035                                "signingName": "s3-outposts",
2036                                "signingRegion": "us-gov-east-1",
2037                                "disableDoubleEncoding": true
2038                            }
2039                        ]
2040                    },
2041                    "url": "https://s3-outposts.us-gov-east-1.amazonaws.com"
2042                }
2043            },
2044            "operationInputs": [
2045                {
2046                    "builtInParams": {
2047                        "AWS::Region": "us-gov-east-1"
2048                    },
2049                    "operationName": "GetBucket",
2050                    "operationParams": {
2051                        "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2052                        "AccountId": "123456789012"
2053                    }
2054                }
2055            ],
2056            "params": {
2057                "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2058                "Region": "us-gov-east-1",
2059                "RequiresAccountId": true,
2060                "UseDualStack": false,
2061                "UseFIPS": false
2062            }
2063        },
2064        {
2065            "documentation": "bucket ARN in gov partition with FIPS@us-gov-west-1",
2066            "expect": {
2067                "endpoint": {
2068                    "headers": {
2069                        "x-amz-account-id": [
2070                            "123456789012"
2071                        ],
2072                        "x-amz-outpost-id": [
2073                            "op-01234567890123456"
2074                        ]
2075                    },
2076                    "properties": {
2077                        "authSchemes": [
2078                            {
2079                                "name": "sigv4",
2080                                "signingName": "s3-outposts",
2081                                "signingRegion": "us-gov-west-1",
2082                                "disableDoubleEncoding": true
2083                            }
2084                        ]
2085                    },
2086                    "url": "https://s3-outposts-fips.us-gov-west-1.amazonaws.com"
2087                }
2088            },
2089            "operationInputs": [
2090                {
2091                    "builtInParams": {
2092                        "AWS::Region": "us-gov-west-1",
2093                        "AWS::UseFIPS": true
2094                    },
2095                    "operationName": "GetBucket",
2096                    "operationParams": {
2097                        "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-west-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2098                        "AccountId": "123456789012"
2099                    }
2100                }
2101            ],
2102            "params": {
2103                "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-west-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2104                "Region": "us-gov-west-1",
2105                "RequiresAccountId": true,
2106                "UseDualStack": false,
2107                "UseFIPS": true
2108            }
2109        },
2110        {
2111            "documentation": "bucket ARN in aws partition with FIPS@us-east-2",
2112            "expect": {
2113                "endpoint": {
2114                    "headers": {
2115                        "x-amz-account-id": [
2116                            "123456789012"
2117                        ],
2118                        "x-amz-outpost-id": [
2119                            "op-01234567890123456"
2120                        ]
2121                    },
2122                    "properties": {
2123                        "authSchemes": [
2124                            {
2125                                "name": "sigv4",
2126                                "signingName": "s3-outposts",
2127                                "signingRegion": "us-east-2",
2128                                "disableDoubleEncoding": true
2129                            }
2130                        ]
2131                    },
2132                    "url": "https://s3-outposts-fips.us-east-2.amazonaws.com"
2133                }
2134            },
2135            "operationInputs": [
2136                {
2137                    "builtInParams": {
2138                        "AWS::Region": "us-east-2",
2139                        "AWS::UseFIPS": true
2140                    },
2141                    "operationName": "GetBucket",
2142                    "operationParams": {
2143                        "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2144                        "AccountId": "123456789012"
2145                    }
2146                }
2147            ],
2148            "params": {
2149                "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2150                "Region": "us-east-2",
2151                "RequiresAccountId": true,
2152                "UseDualStack": false,
2153                "UseFIPS": true
2154            }
2155        },
2156        {
2157            "documentation": "Outposts support dualstack @us-west-2",
2158            "expect": {
2159                "endpoint": {
2160                    "headers": {
2161                        "x-amz-account-id": [
2162                            "123456789012"
2163                        ],
2164                        "x-amz-outpost-id": [
2165                            "op-01234567890123456"
2166                        ]
2167                    },
2168                    "properties": {
2169                        "authSchemes": [
2170                            {
2171                                "name": "sigv4",
2172                                "signingName": "s3-outposts",
2173                                "signingRegion": "us-west-2",
2174                                "disableDoubleEncoding": true
2175                            }
2176                        ]
2177                    },
2178                    "url": "https://s3-outposts.us-west-2.api.aws"
2179                }
2180            },
2181            "operationInputs": [
2182                {
2183                    "builtInParams": {
2184                        "AWS::Region": "us-west-2",
2185                        "AWS::UseDualStack": true
2186                    },
2187                    "operationName": "GetBucket",
2188                    "operationParams": {
2189                        "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2190                        "AccountId": "123456789012"
2191                    }
2192                }
2193            ],
2194            "params": {
2195                "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2196                "Region": "us-west-2",
2197                "RequiresAccountId": true,
2198                "UseDualStack": true,
2199                "UseFIPS": false
2200            }
2201        },
2202        {
2203            "documentation": "vanilla bucket arn requires account id@af-south-1",
2204            "expect": {
2205                "endpoint": {
2206                    "headers": {
2207                        "x-amz-account-id": [
2208                            "123456789012"
2209                        ],
2210                        "x-amz-outpost-id": [
2211                            "op-01234567890123456"
2212                        ]
2213                    },
2214                    "properties": {
2215                        "authSchemes": [
2216                            {
2217                                "name": "sigv4",
2218                                "signingName": "s3-outposts",
2219                                "signingRegion": "af-south-1",
2220                                "disableDoubleEncoding": true
2221                            }
2222                        ]
2223                    },
2224                    "url": "https://s3-outposts.af-south-1.amazonaws.com"
2225                }
2226            },
2227            "operationInputs": [
2228                {
2229                    "builtInParams": {
2230                        "AWS::Region": "af-south-1"
2231                    },
2232                    "operationName": "CreateAccessPoint",
2233                    "operationParams": {
2234                        "Bucket": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2235                        "Name": "apname",
2236                        "AccountId": "123456789012"
2237                    }
2238                }
2239            ],
2240            "params": {
2241                "Bucket": "arn:aws:s3-outposts:af-south-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2242                "Region": "af-south-1",
2243                "RequiresAccountId": true,
2244                "UseDualStack": false,
2245                "UseFIPS": false
2246            }
2247        },
2248        {
2249            "documentation": "bucket arn with UseArnRegion = true (arn region supercedes client configured region)@us-west-2",
2250            "expect": {
2251                "endpoint": {
2252                    "headers": {
2253                        "x-amz-account-id": [
2254                            "123456789012"
2255                        ],
2256                        "x-amz-outpost-id": [
2257                            "op-01234567890123456"
2258                        ]
2259                    },
2260                    "properties": {
2261                        "authSchemes": [
2262                            {
2263                                "name": "sigv4",
2264                                "signingName": "s3-outposts",
2265                                "signingRegion": "us-east-1",
2266                                "disableDoubleEncoding": true
2267                            }
2268                        ]
2269                    },
2270                    "url": "https://s3-outposts.us-east-1.amazonaws.com"
2271                }
2272            },
2273            "operationInputs": [
2274                {
2275                    "builtInParams": {
2276                        "AWS::Region": "us-west-2"
2277                    },
2278                    "operationName": "GetBucket",
2279                    "operationParams": {
2280                        "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2281                        "AccountId": "123456789012"
2282                    }
2283                }
2284            ],
2285            "params": {
2286                "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2287                "Region": "us-west-2",
2288                "RequiresAccountId": true,
2289                "UseDualStack": false,
2290                "UseFIPS": false
2291            }
2292        },
2293        {
2294            "documentation": "bucket ARN in gov partition (non-fips)@us-gov-east-1",
2295            "expect": {
2296                "endpoint": {
2297                    "headers": {
2298                        "x-amz-account-id": [
2299                            "123456789012"
2300                        ],
2301                        "x-amz-outpost-id": [
2302                            "op-01234567890123456"
2303                        ]
2304                    },
2305                    "properties": {
2306                        "authSchemes": [
2307                            {
2308                                "name": "sigv4",
2309                                "signingName": "s3-outposts",
2310                                "signingRegion": "us-gov-east-1",
2311                                "disableDoubleEncoding": true
2312                            }
2313                        ]
2314                    },
2315                    "url": "https://s3-outposts.us-gov-east-1.amazonaws.com"
2316                }
2317            },
2318            "operationInputs": [
2319                {
2320                    "builtInParams": {
2321                        "AWS::Region": "us-gov-east-1"
2322                    },
2323                    "operationName": "GetBucket",
2324                    "operationParams": {
2325                        "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2326                        "AccountId": "123456789012"
2327                    }
2328                }
2329            ],
2330            "params": {
2331                "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2332                "Region": "us-gov-east-1",
2333                "RequiresAccountId": true,
2334                "UseDualStack": false,
2335                "UseFIPS": false
2336            }
2337        },
2338        {
2339            "documentation": "bucket ARN in gov partition with FIPS@us-gov-west-1",
2340            "expect": {
2341                "endpoint": {
2342                    "headers": {
2343                        "x-amz-account-id": [
2344                            "123456789012"
2345                        ],
2346                        "x-amz-outpost-id": [
2347                            "op-01234567890123456"
2348                        ]
2349                    },
2350                    "properties": {
2351                        "authSchemes": [
2352                            {
2353                                "name": "sigv4",
2354                                "signingName": "s3-outposts",
2355                                "signingRegion": "us-gov-west-1",
2356                                "disableDoubleEncoding": true
2357                            }
2358                        ]
2359                    },
2360                    "url": "https://s3-outposts-fips.us-gov-west-1.amazonaws.com"
2361                }
2362            },
2363            "operationInputs": [
2364                {
2365                    "builtInParams": {
2366                        "AWS::Region": "us-gov-west-1",
2367                        "AWS::UseFIPS": true
2368                    },
2369                    "operationName": "GetBucket",
2370                    "operationParams": {
2371                        "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-west-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2372                        "AccountId": "123456789012"
2373                    }
2374                }
2375            ],
2376            "params": {
2377                "Bucket": "arn:aws-us-gov:s3-outposts:us-gov-west-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2378                "Region": "us-gov-west-1",
2379                "RequiresAccountId": true,
2380                "UseDualStack": false,
2381                "UseFIPS": true
2382            }
2383        },
2384        {
2385            "documentation": "bucket ARN in aws partition with FIPS@us-east-2",
2386            "expect": {
2387                "endpoint": {
2388                    "headers": {
2389                        "x-amz-account-id": [
2390                            "123456789012"
2391                        ],
2392                        "x-amz-outpost-id": [
2393                            "op-01234567890123456"
2394                        ]
2395                    },
2396                    "properties": {
2397                        "authSchemes": [
2398                            {
2399                                "name": "sigv4",
2400                                "signingName": "s3-outposts",
2401                                "signingRegion": "us-east-2",
2402                                "disableDoubleEncoding": true
2403                            }
2404                        ]
2405                    },
2406                    "url": "https://s3-outposts-fips.us-east-2.amazonaws.com"
2407                }
2408            },
2409            "operationInputs": [
2410                {
2411                    "builtInParams": {
2412                        "AWS::Region": "us-east-2",
2413                        "AWS::UseFIPS": true
2414                    },
2415                    "operationName": "GetBucket",
2416                    "operationParams": {
2417                        "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2418                        "AccountId": "123456789012"
2419                    }
2420                }
2421            ],
2422            "params": {
2423                "Bucket": "arn:aws:s3-outposts:us-east-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
2424                "Region": "us-east-2",
2425                "RequiresAccountId": true,
2426                "UseDualStack": false,
2427                "UseFIPS": true
2428            }
2429        },
2430        {
2431            "documentation": "Invalid ARN: missing outpost id and bucket@us-west-2",
2432            "expect": {
2433                "error": "Invalid ARN: The Outpost Id was not set"
2434            },
2435            "params": {
2436                "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost",
2437                "Region": "us-west-2",
2438                "RequiresAccountId": true,
2439                "UseDualStack": false,
2440                "UseFIPS": false
2441            }
2442        },
2443        {
2444            "documentation": "Invalid ARN: missing bucket@us-west-2",
2445            "expect": {
2446                "error": "Invalid ARN: Expected a 4-component resource"
2447            },
2448            "params": {
2449                "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456",
2450                "Region": "us-west-2",
2451                "RequiresAccountId": true,
2452                "UseDualStack": false,
2453                "UseFIPS": false
2454            }
2455        },
2456        {
2457            "documentation": "Invalid ARN: missing outpost and bucket ids@us-west-2",
2458            "expect": {
2459                "error": "Invalid ARN: Expected a 4-component resource"
2460            },
2461            "params": {
2462                "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:bucket",
2463                "Region": "us-west-2",
2464                "RequiresAccountId": true,
2465                "UseDualStack": false,
2466                "UseFIPS": false
2467            }
2468        },
2469        {
2470            "documentation": "Invalid ARN: missing bucket id@us-west-2",
2471            "expect": {
2472                "error": "Invalid ARN: expected a bucket name"
2473            },
2474            "params": {
2475                "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket",
2476                "Region": "us-west-2",
2477                "RequiresAccountId": true,
2478                "UseDualStack": false,
2479                "UseFIPS": false
2480            }
2481        },
2482        {
2483            "documentation": "account id inserted into hostname@us-west-2",
2484            "expect": {
2485                "endpoint": {
2486                    "properties": {
2487                        "authSchemes": [
2488                            {
2489                                "name": "sigv4",
2490                                "signingName": "s3",
2491                                "signingRegion": "us-west-2",
2492                                "disableDoubleEncoding": true
2493                            }
2494                        ]
2495                    },
2496                    "url": "https://1234567890.s3-control.us-west-2.amazonaws.com"
2497                }
2498            },
2499            "params": {
2500                "AccountId": "1234567890",
2501                "Region": "us-west-2",
2502                "RequiresAccountId": true,
2503                "UseDualStack": false,
2504                "UseFIPS": false
2505            }
2506        },
2507        {
2508            "documentation": "account id prefix with dualstack@us-east-1",
2509            "expect": {
2510                "endpoint": {
2511                    "properties": {
2512                        "authSchemes": [
2513                            {
2514                                "name": "sigv4",
2515                                "signingName": "s3",
2516                                "signingRegion": "us-east-1",
2517                                "disableDoubleEncoding": true
2518                            }
2519                        ]
2520                    },
2521                    "url": "https://1234567890.s3-control.dualstack.us-east-1.amazonaws.com"
2522                }
2523            },
2524            "params": {
2525                "AccountId": "1234567890",
2526                "Region": "us-east-1",
2527                "RequiresAccountId": true,
2528                "UseDualStack": true,
2529                "UseFIPS": false
2530            }
2531        },
2532        {
2533            "documentation": "account id prefix with fips@us-east-1",
2534            "expect": {
2535                "endpoint": {
2536                    "properties": {
2537                        "authSchemes": [
2538                            {
2539                                "name": "sigv4",
2540                                "signingName": "s3",
2541                                "signingRegion": "us-east-1",
2542                                "disableDoubleEncoding": true
2543                            }
2544                        ]
2545                    },
2546                    "url": "https://1234567890.s3-control-fips.us-east-1.amazonaws.com"
2547                }
2548            },
2549            "params": {
2550                "AccountId": "1234567890",
2551                "Region": "us-east-1",
2552                "RequiresAccountId": true,
2553                "UseDualStack": false,
2554                "UseFIPS": true
2555            }
2556        },
2557        {
2558            "documentation": "custom account id prefix with fips@us-east-1",
2559            "expect": {
2560                "endpoint": {
2561                    "properties": {
2562                        "authSchemes": [
2563                            {
2564                                "name": "sigv4",
2565                                "signingName": "s3",
2566                                "signingRegion": "us-east-1",
2567                                "disableDoubleEncoding": true
2568                            }
2569                        ]
2570                    },
2571                    "url": "https://123456789012.s3-control-fips.us-east-1.amazonaws.com"
2572                }
2573            },
2574            "params": {
2575                "AccountId": "123456789012",
2576                "Region": "us-east-1",
2577                "RequiresAccountId": true,
2578                "UseDualStack": false,
2579                "UseFIPS": true
2580            }
2581        },
2582        {
2583            "documentation": "standard url @ us-east-1",
2584            "expect": {
2585                "endpoint": {
2586                    "properties": {
2587                        "authSchemes": [
2588                            {
2589                                "name": "sigv4",
2590                                "signingName": "s3",
2591                                "signingRegion": "us-east-1",
2592                                "disableDoubleEncoding": true
2593                            }
2594                        ]
2595                    },
2596                    "url": "https://s3-control.us-east-1.amazonaws.com"
2597                }
2598            },
2599            "params": {
2600                "Region": "us-east-1"
2601            }
2602        },
2603        {
2604            "documentation": "fips url @ us-east-1",
2605            "expect": {
2606                "endpoint": {
2607                    "properties": {
2608                        "authSchemes": [
2609                            {
2610                                "name": "sigv4",
2611                                "signingName": "s3",
2612                                "signingRegion": "us-east-1",
2613                                "disableDoubleEncoding": true
2614                            }
2615                        ]
2616                    },
2617                    "url": "https://s3-control-fips.us-east-1.amazonaws.com"
2618                }
2619            },
2620            "params": {
2621                "Region": "us-east-1",
2622                "UseFIPS": true
2623            }
2624        },
2625        {
2626            "documentation": "dualstack url @ us-east-1",
2627            "expect": {
2628                "endpoint": {
2629                    "properties": {
2630                        "authSchemes": [
2631                            {
2632                                "name": "sigv4",
2633                                "signingName": "s3",
2634                                "signingRegion": "us-east-1",
2635                                "disableDoubleEncoding": true
2636                            }
2637                        ]
2638                    },
2639                    "url": "https://s3-control.dualstack.us-east-1.amazonaws.com"
2640                }
2641            },
2642            "params": {
2643                "Region": "us-east-1",
2644                "UseDualStack": true
2645            }
2646        },
2647        {
2648            "documentation": "fips,dualstack url @ us-east-1",
2649            "expect": {
2650                "endpoint": {
2651                    "properties": {
2652                        "authSchemes": [
2653                            {
2654                                "name": "sigv4",
2655                                "signingName": "s3",
2656                                "signingRegion": "us-east-1",
2657                                "disableDoubleEncoding": true
2658                            }
2659                        ]
2660                    },
2661                    "url": "https://s3-control-fips.dualstack.us-east-1.amazonaws.com"
2662                }
2663            },
2664            "params": {
2665                "Region": "us-east-1",
2666                "UseDualStack": true,
2667                "UseFIPS": true
2668            }
2669        },
2670        {
2671            "documentation": "standard url @ cn-north-1",
2672            "expect": {
2673                "endpoint": {
2674                    "properties": {
2675                        "authSchemes": [
2676                            {
2677                                "name": "sigv4",
2678                                "signingName": "s3",
2679                                "signingRegion": "cn-north-1",
2680                                "disableDoubleEncoding": true
2681                            }
2682                        ]
2683                    },
2684                    "url": "https://s3-control.cn-north-1.amazonaws.com.cn"
2685                }
2686            },
2687            "params": {
2688                "Region": "cn-north-1"
2689            }
2690        },
2691        {
2692            "documentation": "fips @ cn-north-1",
2693            "expect": {
2694                "error": "Partition does not support FIPS"
2695            },
2696            "params": {
2697                "Region": "cn-north-1",
2698                "UseDualStack": true,
2699                "UseFIPS": true
2700            }
2701        },
2702        {
2703            "documentation": "custom account id prefix @us-east-1",
2704            "expect": {
2705                "endpoint": {
2706                    "properties": {
2707                        "authSchemes": [
2708                            {
2709                                "name": "sigv4",
2710                                "signingName": "s3",
2711                                "signingRegion": "us-east-1",
2712                                "disableDoubleEncoding": true
2713                            }
2714                        ]
2715                    },
2716                    "url": "https://123456789012.s3-control.us-east-1.amazonaws.com"
2717                }
2718            },
2719            "operationInputs": [
2720                {
2721                    "builtInParams": {
2722                        "AWS::Region": "us-east-1"
2723                    },
2724                    "operationName": "ListRegionalBuckets",
2725                    "operationParams": {
2726                        "AccountId": "123456789012"
2727                    }
2728                }
2729            ],
2730            "params": {
2731                "AccountId": "123456789012",
2732                "Region": "us-east-1",
2733                "RequiresAccountId": true,
2734                "UseDualStack": false,
2735                "UseFIPS": false
2736            }
2737        },
2738        {
2739            "documentation": "invalid account id prefix @us-east-1",
2740            "expect": {
2741                "error": "AccountId must only contain a-z, A-Z, 0-9 and `-`."
2742            },
2743            "operationInputs": [
2744                {
2745                    "builtInParams": {
2746                        "AWS::Region": "us-east-1"
2747                    },
2748                    "operationName": "ListRegionalBuckets",
2749                    "operationParams": {
2750                        "AccountId": "/?invalid&not-host*label"
2751                    }
2752                }
2753            ],
2754            "params": {
2755                "AccountId": "/?invalid&not-host*label",
2756                "Region": "us-east-1",
2757                "RequiresAccountId": true,
2758                "UseDualStack": false,
2759                "UseFIPS": false
2760            }
2761        },
2762        {
2763            "documentation": "custom account id prefix with fips@us-east-1",
2764            "expect": {
2765                "endpoint": {
2766                    "properties": {
2767                        "authSchemes": [
2768                            {
2769                                "name": "sigv4",
2770                                "signingName": "s3",
2771                                "signingRegion": "us-east-1",
2772                                "disableDoubleEncoding": true
2773                            }
2774                        ]
2775                    },
2776                    "url": "https://123456789012.s3-control-fips.us-east-1.amazonaws.com"
2777                }
2778            },
2779            "operationInputs": [
2780                {
2781                    "builtInParams": {
2782                        "AWS::Region": "us-east-1",
2783                        "AWS::UseFIPS": true
2784                    },
2785                    "operationName": "ListRegionalBuckets",
2786                    "operationParams": {
2787                        "AccountId": "123456789012"
2788                    }
2789                }
2790            ],
2791            "params": {
2792                "AccountId": "123456789012",
2793                "Region": "us-east-1",
2794                "RequiresAccountId": true,
2795                "UseDualStack": false,
2796                "UseFIPS": true
2797            }
2798        },
2799        {
2800            "documentation": "custom account id prefix with dualstack,fips@us-east-1",
2801            "expect": {
2802                "endpoint": {
2803                    "properties": {
2804                        "authSchemes": [
2805                            {
2806                                "name": "sigv4",
2807                                "signingName": "s3",
2808                                "signingRegion": "us-east-1",
2809                                "disableDoubleEncoding": true
2810                            }
2811                        ]
2812                    },
2813                    "url": "https://123456789012.s3-control-fips.dualstack.us-east-1.amazonaws.com"
2814                }
2815            },
2816            "operationInputs": [
2817                {
2818                    "builtInParams": {
2819                        "AWS::Region": "us-east-1",
2820                        "AWS::UseFIPS": true,
2821                        "AWS::UseDualStack": true
2822                    },
2823                    "operationName": "ListRegionalBuckets",
2824                    "operationParams": {
2825                        "AccountId": "123456789012"
2826                    }
2827                }
2828            ],
2829            "params": {
2830                "AccountId": "123456789012",
2831                "Region": "us-east-1",
2832                "RequiresAccountId": true,
2833                "UseDualStack": true,
2834                "UseFIPS": true
2835            }
2836        },
2837        {
2838            "documentation": "custom account id with custom endpoint",
2839            "expect": {
2840                "endpoint": {
2841                    "properties": {
2842                        "authSchemes": [
2843                            {
2844                                "name": "sigv4",
2845                                "signingName": "s3",
2846                                "signingRegion": "us-east-1",
2847                                "disableDoubleEncoding": true
2848                            }
2849                        ]
2850                    },
2851                    "url": "https://123456789012.example.com"
2852                }
2853            },
2854            "operationInputs": [
2855                {
2856                    "builtInParams": {
2857                        "AWS::Region": "us-east-1",
2858                        "SDK::Endpoint": "https://example.com"
2859                    },
2860                    "operationName": "ListRegionalBuckets",
2861                    "operationParams": {
2862                        "AccountId": "123456789012"
2863                    }
2864                }
2865            ],
2866            "params": {
2867                "AccountId": "123456789012",
2868                "Region": "us-east-1",
2869                "RequiresAccountId": true,
2870                "Endpoint": "https://example.com"
2871            }
2872        },
2873        {
2874            "documentation": "RequiresAccountId with AccountId unset",
2875            "expect": {
2876                "error": "AccountId is required but not set"
2877            },
2878            "params": {
2879                "Region": "us-east-1",
2880                "RequiresAccountId": true
2881            }
2882        },
2883        {
2884            "documentation": "RequiresAccountId with AccountId unset and custom endpoint",
2885            "expect": {
2886                "error": "AccountId is required but not set"
2887            },
2888            "params": {
2889                "Region": "us-east-1",
2890                "Endpoint": "https://beta.example.com",
2891                "RequiresAccountId": true
2892            }
2893        },
2894        {
2895            "documentation": "RequiresAccountId with invalid AccountId and custom endpoint",
2896            "expect": {
2897                "error": "AccountId must only contain a-z, A-Z, 0-9 and `-`."
2898            },
2899            "operationInputs": [
2900                {
2901                    "builtInParams": {
2902                        "AWS::Region": "us-east-1",
2903                        "SDK::Endpoint": "https://beta.example.com"
2904                    },
2905                    "operationName": "ListRegionalBuckets",
2906                    "operationParams": {
2907                        "AccountId": "/?invalid&not-host*label"
2908                    }
2909                }
2910            ],
2911            "params": {
2912                "Region": "us-east-1",
2913                "Endpoint": "https://beta.example.com",
2914                "AccountId": "/?invalid&not-host*label",
2915                "RequiresAccountId": true
2916            }
2917        },
2918        {
2919            "documentation": "account id with custom endpoint, fips",
2920            "expect": {
2921                "endpoint": {
2922                    "properties": {
2923                        "authSchemes": [
2924                            {
2925                                "name": "sigv4",
2926                                "signingName": "s3",
2927                                "signingRegion": "us-east-1",
2928                                "disableDoubleEncoding": true
2929                            }
2930                        ]
2931                    },
2932                    "url": "https://123456789012.example.com"
2933                }
2934            },
2935            "operationInputs": [
2936                {
2937                    "builtInParams": {
2938                        "AWS::Region": "us-east-1",
2939                        "AWS::UseFIPS": true,
2940                        "SDK::Endpoint": "https://example.com"
2941                    },
2942                    "operationName": "ListRegionalBuckets",
2943                    "operationParams": {
2944                        "AccountId": "123456789012"
2945                    }
2946                }
2947            ],
2948            "params": {
2949                "AccountId": "123456789012",
2950                "Region": "us-east-1",
2951                "RequiresAccountId": true,
2952                "Endpoint": "https://example.com",
2953                "UseFIPS": true
2954            }
2955        },
2956        {
2957            "documentation": "custom endpoint, fips",
2958            "expect": {
2959                "endpoint": {
2960                    "properties": {
2961                        "authSchemes": [
2962                            {
2963                                "name": "sigv4",
2964                                "signingName": "s3",
2965                                "signingRegion": "us-east-1",
2966                                "disableDoubleEncoding": true
2967                            }
2968                        ]
2969                    },
2970                    "url": "https://example.com"
2971                }
2972            },
2973            "params": {
2974                "Region": "us-east-1",
2975                "Endpoint": "https://example.com",
2976                "UseFIPS": true
2977            }
2978        },
2979        {
2980            "documentation": "custom endpoint, fips",
2981            "expect": {
2982                "endpoint": {
2983                    "properties": {
2984                        "authSchemes": [
2985                            {
2986                                "name": "sigv4",
2987                                "signingName": "s3",
2988                                "signingRegion": "us-east-1",
2989                                "disableDoubleEncoding": true
2990                            }
2991                        ]
2992                    },
2993                    "url": "https://example.com"
2994                }
2995            },
2996            "params": {
2997                "Region": "us-east-1",
2998                "Endpoint": "https://example.com",
2999                "UseFIPS": true
3000            }
3001        },
3002        {
3003            "documentation": "custom endpoint, DualStack",
3004            "expect": {
3005                "error": "Invalid Configuration: DualStack and custom endpoint are not supported"
3006            },
3007            "params": {
3008                "Region": "us-east-1",
3009                "Endpoint": "https://example.com",
3010                "UseFIPS": false,
3011                "UseDualStack": true
3012            }
3013        },
3014        {
3015            "documentation": "region not set",
3016            "expect": {
3017                "error": "Region must be set"
3018            }
3019        },
3020        {
3021            "documentation": "invalid partition",
3022            "expect": {
3023                "error": "Invalid region: region was not a valid DNS name."
3024            },
3025            "params": {
3026                "Region": "invalid-region 42"
3027            }
3028        },
3029        {
3030            "documentation": "ListRegionalBuckets + OutpostId without accountId set.",
3031            "expect": {
3032                "error": "AccountId is required but not set"
3033            },
3034            "params": {
3035                "OutpostId": "op-123",
3036                "Region": "us-east-2",
3037                "RequiresAccountId": true,
3038                "UseDualStack": false,
3039                "UseFIPS": false
3040            }
3041        },
3042        {
3043            "documentation": "ListRegionalBuckets + OutpostId with invalid accountId set.",
3044            "expect": {
3045                "error": "AccountId must only contain a-z, A-Z, 0-9 and `-`."
3046            },
3047            "operationInputs": [
3048                {
3049                    "builtInParams": {
3050                        "AWS::Region": "us-east-2"
3051                    },
3052                    "operationName": "ListRegionalBuckets",
3053                    "operationParams": {
3054                        "OutpostId": "op-123",
3055                        "AccountId": "/?invalid&not-host*label"
3056                    }
3057                }
3058            ],
3059            "params": {
3060                "AccountId": "/?invalid&not-host*label",
3061                "OutpostId": "op-123",
3062                "Region": "us-east-2",
3063                "RequiresAccountId": true,
3064                "UseDualStack": false,
3065                "UseFIPS": false
3066            }
3067        },
3068        {
3069            "documentation": "accesspoint set but missing accountId",
3070            "expect": {
3071                "error": "AccountId is required but not set"
3072            },
3073            "params": {
3074                "AccessPointName": "myaccesspoint",
3075                "Region": "us-west-2",
3076                "RequiresAccountId": true,
3077                "UseDualStack": false,
3078                "UseFIPS": false
3079            }
3080        },
3081        {
3082            "documentation": "outpost accesspoint ARN with missing accountId",
3083            "expect": {
3084                "error": "Invalid ARN: missing account ID"
3085            },
3086            "params": {
3087                "AccessPointName": "arn:aws:s3-outposts:us-west-2::outpost:op-01234567890123456:outpost:op1",
3088                "Region": "us-west-2",
3089                "RequiresAccountId": true,
3090                "UseDualStack": false,
3091                "UseFIPS": false
3092            }
3093        },
3094        {
3095            "documentation": "bucket ARN with missing accountId",
3096            "expect": {
3097                "error": "Invalid ARN: missing account ID"
3098            },
3099            "params": {
3100                "AccessPointName": "arn:aws:s3-outposts:us-west-2::outpost:op-01234567890123456:bucket:mybucket",
3101                "Region": "us-west-2",
3102                "RequiresAccountId": true,
3103                "UseDualStack": false,
3104                "UseFIPS": false
3105            }
3106        },
3107        {
3108            "documentation": "endpoint url with accesspoint (non-arn)",
3109            "expect": {
3110                "endpoint": {
3111                    "properties": {
3112                        "authSchemes": [
3113                            {
3114                                "name": "sigv4",
3115                                "signingName": "s3",
3116                                "signingRegion": "us-west-2",
3117                                "disableDoubleEncoding": true
3118                            }
3119                        ]
3120                    },
3121                    "url": "https://123456789012.beta.example.com"
3122                }
3123            },
3124            "operationInputs": [
3125                {
3126                    "builtInParams": {
3127                        "AWS::Region": "us-west-2",
3128                        "SDK::Endpoint": "https://beta.example.com"
3129                    },
3130                    "operationName": "GetAccessPoint",
3131                    "operationParams": {
3132                        "Name": "apname",
3133                        "AccountId": "123456789012"
3134                    }
3135                }
3136            ],
3137            "params": {
3138                "AccessPointName": "apname",
3139                "Endpoint": "https://beta.example.com",
3140                "AccountId": "123456789012",
3141                "Region": "us-west-2",
3142                "RequiresAccountId": true,
3143                "UseDualStack": false,
3144                "UseFIPS": false
3145            }
3146        },
3147        {
3148            "documentation": "access point name with an accesspoint arn@us-west-2",
3149            "expect": {
3150                "endpoint": {
3151                    "headers": {
3152                        "x-amz-account-id": [
3153                            "123456789012"
3154                        ],
3155                        "x-amz-outpost-id": [
3156                            "op-01234567890123456"
3157                        ]
3158                    },
3159                    "properties": {
3160                        "authSchemes": [
3161                            {
3162                                "name": "sigv4",
3163                                "signingName": "s3-outposts",
3164                                "signingRegion": "us-west-2",
3165                                "disableDoubleEncoding": true
3166                            }
3167                        ]
3168                    },
3169                    "url": "https://beta.example.com"
3170                }
3171            },
3172            "params": {
3173                "AccessPointName": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
3174                "Endpoint": "https://beta.example.com",
3175                "Region": "us-west-2",
3176                "RequiresAccountId": true,
3177                "UseDualStack": false,
3178                "UseFIPS": false
3179            }
3180        },
3181        {
3182            "documentation": "DualStack + Custom endpoint is not supported(non-arn)",
3183            "expect": {
3184                "error": "Invalid Configuration: DualStack and custom endpoint are not supported"
3185            },
3186            "operationInputs": [
3187                {
3188                    "builtInParams": {
3189                        "AWS::Region": "us-west-2",
3190                        "AWS::UseDualStack": true,
3191                        "SDK::Endpoint": "https://beta.example.com"
3192                    },
3193                    "operationName": "GetAccessPoint",
3194                    "operationParams": {
3195                        "Name": "apname",
3196                        "AccountId": "123456789012"
3197                    }
3198                }
3199            ],
3200            "params": {
3201                "AccessPointName": "apname",
3202                "Endpoint": "https://beta.example.com",
3203                "AccountId": "123456789012",
3204                "Region": "us-west-2",
3205                "RequiresAccountId": true,
3206                "UseDualStack": true,
3207                "UseFIPS": false
3208            }
3209        },
3210        {
3211            "documentation": "get bucket with custom endpoint and dualstack is not supported@us-west-2",
3212            "expect": {
3213                "error": "Invalid Configuration: DualStack and custom endpoint are not supported"
3214            },
3215            "operationInputs": [
3216                {
3217                    "builtInParams": {
3218                        "AWS::Region": "us-west-2",
3219                        "AWS::UseDualStack": true,
3220                        "SDK::Endpoint": "https://s3-outposts.us-west-2.api.aws"
3221                    },
3222                    "operationName": "GetBucket",
3223                    "operationParams": {
3224                        "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
3225                        "AccountId": "123456789012"
3226                    }
3227                }
3228            ],
3229            "params": {
3230                "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
3231                "Endpoint": "https://s3-outposts.us-west-2.api.aws",
3232                "Region": "us-west-2",
3233                "RequiresAccountId": true,
3234                "UseDualStack": true,
3235                "UseFIPS": false
3236            }
3237        },
3238        {
3239            "documentation": "ListRegionalBuckets + OutpostId with fips in CN.",
3240            "expect": {
3241                "error": "Partition does not support FIPS"
3242            },
3243            "operationInputs": [
3244                {
3245                    "builtInParams": {
3246                        "AWS::Region": "cn-north-1",
3247                        "AWS::UseFIPS": true
3248                    },
3249                    "operationName": "ListRegionalBuckets",
3250                    "operationParams": {
3251                        "OutpostId": "op-123",
3252                        "AccountId": "0123456789012"
3253                    }
3254                }
3255            ],
3256            "params": {
3257                "AccountId": "0123456789012",
3258                "OutpostId": "op-123",
3259                "Region": "cn-north-1",
3260                "RequiresAccountId": true,
3261                "UseDualStack": false,
3262                "UseFIPS": true
3263            }
3264        },
3265        {
3266            "documentation": "ListRegionalBuckets + invalid OutpostId.",
3267            "expect": {
3268                "error": "OutpostId must only contain a-z, A-Z, 0-9 and `-`."
3269            },
3270            "operationInputs": [
3271                {
3272                    "builtInParams": {
3273                        "AWS::Region": "us-west-1"
3274                    },
3275                    "operationName": "ListRegionalBuckets",
3276                    "operationParams": {
3277                        "OutpostId": "?outpost/invalid+",
3278                        "AccountId": "0123456789012"
3279                    }
3280                }
3281            ],
3282            "params": {
3283                "AccountId": "0123456789012",
3284                "OutpostId": "?outpost/invalid+",
3285                "Region": "us-west-1",
3286                "RequiresAccountId": true,
3287                "UseDualStack": false,
3288                "UseFIPS": false
3289            }
3290        },
3291        {
3292            "documentation": "bucket ARN with mismatched accountId",
3293            "expect": {
3294                "error": "Invalid ARN: the accountId specified in the ARN (`999999`) does not match the parameter (`0123456789012`)"
3295            },
3296            "params": {
3297                "Bucket": "arn:aws:s3-outposts:us-west-2:999999:outpost:op-01234567890123456:bucket:mybucket",
3298                "AccountId": "0123456789012",
3299                "Region": "us-west-2",
3300                "RequiresAccountId": true,
3301                "UseDualStack": false,
3302                "UseFIPS": false
3303            }
3304        },
3305        {
3306            "documentation": "OutpostId with invalid region",
3307            "expect": {
3308                "error": "Invalid region: region was not a valid DNS name."
3309            },
3310            "params": {
3311                "OutpostId": "op-123",
3312                "Region": "invalid-region 42",
3313                "AccountId": "0123456",
3314                "RequiresAccountId": true,
3315                "UseDualStack": false,
3316                "UseFIPS": false
3317            }
3318        },
3319        {
3320            "documentation": "OutpostId with RequireAccountId unset",
3321            "expect": {
3322                "endpoint": {
3323                    "properties": {
3324                        "authSchemes": [
3325                            {
3326                                "name": "sigv4",
3327                                "signingName": "s3-outposts",
3328                                "signingRegion": "us-west-2",
3329                                "disableDoubleEncoding": true
3330                            }
3331                        ]
3332                    },
3333                    "url": "https://s3-outposts.us-west-2.amazonaws.com"
3334                }
3335            },
3336            "params": {
3337                "OutpostId": "op-123",
3338                "Region": "us-west-2",
3339                "UseDualStack": false,
3340                "UseFIPS": false
3341            }
3342        },
3343        {
3344            "documentation": "Outpost Accesspoint ARN with arn region and client region mismatch with UseArnRegion=false",
3345            "expect": {
3346                "error": "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
3347            },
3348            "operationInputs": [
3349                {
3350                    "builtInParams": {
3351                        "AWS::Region": "us-west-2",
3352                        "AWS::S3Control::UseArnRegion": false
3353                    },
3354                    "operationName": "GetAccessPoint",
3355                    "operationParams": {
3356                        "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
3357                        "AccountId": "123456789012"
3358                    }
3359                },
3360                {
3361                    "builtInParams": {
3362                        "AWS::Region": "us-west-2",
3363                        "AWS::S3Control::UseArnRegion": false
3364                    },
3365                    "operationName": "DeleteAccessPoint",
3366                    "operationParams": {
3367                        "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
3368                        "AccountId": "123456789012"
3369                    }
3370                }
3371            ],
3372            "params": {
3373                "AccessPointName": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
3374                "AccountId": "123456789012",
3375                "Region": "us-west-2",
3376                "RequiresAccountId": true,
3377                "UseArnRegion": false,
3378                "UseDualStack": false,
3379                "UseFIPS": false
3380            }
3381        },
3382        {
3383            "documentation": "Outpost Bucket ARN with arn region and client region mismatch with UseArnRegion=false",
3384            "expect": {
3385                "error": "Invalid configuration: region from ARN `us-east-1` does not match client region `us-west-2` and UseArnRegion is `false`"
3386            },
3387            "operationInputs": [
3388                {
3389                    "builtInParams": {
3390                        "AWS::Region": "us-west-2",
3391                        "SDK::Endpoint": "https://beta.example.com",
3392                        "AWS::S3Control::UseArnRegion": false
3393                    },
3394                    "operationName": "GetBucket",
3395                    "operationParams": {
3396                        "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
3397                        "AccountId": "123456789012"
3398                    }
3399                }
3400            ],
3401            "params": {
3402                "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
3403                "Endpoint": "https://beta.example.com",
3404                "Region": "us-west-2",
3405                "RequiresAccountId": true,
3406                "UseArnRegion": false,
3407                "UseDualStack": false,
3408                "UseFIPS": false
3409            }
3410        },
3411        {
3412            "documentation": "Accesspoint ARN with region mismatch and UseArnRegion unset",
3413            "expect": {
3414                "endpoint": {
3415                    "headers": {
3416                        "x-amz-account-id": [
3417                            "123456789012"
3418                        ],
3419                        "x-amz-outpost-id": [
3420                            "op-01234567890123456"
3421                        ]
3422                    },
3423                    "properties": {
3424                        "authSchemes": [
3425                            {
3426                                "name": "sigv4",
3427                                "signingName": "s3-outposts",
3428                                "signingRegion": "us-east-1",
3429                                "disableDoubleEncoding": true
3430                            }
3431                        ]
3432                    },
3433                    "url": "https://s3-outposts.us-east-1.amazonaws.com"
3434                }
3435            },
3436            "operationInputs": [
3437                {
3438                    "builtInParams": {
3439                        "AWS::Region": "us-west-2"
3440                    },
3441                    "operationName": "GetAccessPoint",
3442                    "operationParams": {
3443                        "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
3444                        "AccountId": "123456789012"
3445                    }
3446                },
3447                {
3448                    "builtInParams": {
3449                        "AWS::Region": "us-west-2"
3450                    },
3451                    "operationName": "DeleteAccessPoint",
3452                    "operationParams": {
3453                        "Name": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
3454                        "AccountId": "123456789012"
3455                    }
3456                }
3457            ],
3458            "params": {
3459                "AccessPointName": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
3460                "AccountId": "123456789012",
3461                "Region": "us-west-2",
3462                "RequiresAccountId": true,
3463                "UseDualStack": false,
3464                "UseFIPS": false
3465            }
3466        },
3467        {
3468            "documentation": "Bucket ARN with region mismatch and UseArnRegion unset",
3469            "expect": {
3470                "endpoint": {
3471                    "headers": {
3472                        "x-amz-account-id": [
3473                            "123456789012"
3474                        ],
3475                        "x-amz-outpost-id": [
3476                            "op-01234567890123456"
3477                        ]
3478                    },
3479                    "properties": {
3480                        "authSchemes": [
3481                            {
3482                                "name": "sigv4",
3483                                "signingName": "s3-outposts",
3484                                "signingRegion": "us-east-1",
3485                                "disableDoubleEncoding": true
3486                            }
3487                        ]
3488                    },
3489                    "url": "https://s3-outposts.us-east-1.amazonaws.com"
3490                }
3491            },
3492            "operationInputs": [
3493                {
3494                    "builtInParams": {
3495                        "AWS::Region": "us-west-2"
3496                    },
3497                    "operationName": "GetBucket",
3498                    "operationParams": {
3499                        "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
3500                        "AccountId": "123456789012"
3501                    }
3502                }
3503            ],
3504            "params": {
3505                "Bucket": "arn:aws:s3-outposts:us-east-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
3506                "Region": "us-west-2",
3507                "RequiresAccountId": true,
3508                "UseDualStack": false,
3509                "UseFIPS": false
3510            }
3511        },
3512        {
3513            "documentation": "Outpost Bucket ARN with partition mismatch with UseArnRegion=true",
3514            "expect": {
3515                "error": "Client was configured for partition `aws` but ARN has `aws-cn`"
3516            },
3517            "operationInputs": [
3518                {
3519                    "builtInParams": {
3520                        "AWS::Region": "us-west-2",
3521                        "AWS::S3Control::UseArnRegion": true
3522                    },
3523                    "operationName": "GetBucket",
3524                    "operationParams": {
3525                        "Bucket": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
3526                        "AccountId": "123456789012"
3527                    }
3528                }
3529            ],
3530            "params": {
3531                "Bucket": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:bucket:mybucket",
3532                "Region": "us-west-2",
3533                "RequiresAccountId": true,
3534                "UseArnRegion": true,
3535                "UseDualStack": false,
3536                "UseFIPS": false
3537            }
3538        },
3539        {
3540            "documentation": "Accesspoint ARN with partition mismatch and UseArnRegion=true",
3541            "expect": {
3542                "error": "Client was configured for partition `aws` but ARN has `aws-cn`"
3543            },
3544            "operationInputs": [
3545                {
3546                    "builtInParams": {
3547                        "AWS::Region": "us-west-2",
3548                        "AWS::S3Control::UseArnRegion": true
3549                    },
3550                    "operationName": "GetAccessPoint",
3551                    "operationParams": {
3552                        "Name": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
3553                        "AccountId": "123456789012"
3554                    }
3555                },
3556                {
3557                    "builtInParams": {
3558                        "AWS::Region": "us-west-2",
3559                        "AWS::S3Control::UseArnRegion": true
3560                    },
3561                    "operationName": "DeleteAccessPoint",
3562                    "operationParams": {
3563                        "Name": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
3564                        "AccountId": "123456789012"
3565                    }
3566                }
3567            ],
3568            "params": {
3569                "AccessPointName": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
3570                "AccountId": "123456789012",
3571                "Region": "us-west-2",
3572                "RequiresAccountId": true,
3573                "UseDualStack": false,
3574                "UseArnRegion": true,
3575                "UseFIPS": false
3576            }
3577        },
3578        {
3579            "documentation": "Accesspoint ARN with region mismatch, UseArnRegion=false and custom endpoint",
3580            "expect": {
3581                "error": "Invalid configuration: region from ARN `cn-north-1` does not match client region `us-west-2` and UseArnRegion is `false`"
3582            },
3583            "params": {
3584                "AccessPointName": "arn:aws:s3-outposts:cn-north-1:123456789012:outpost:op-01234567890123456:accesspoint:myaccesspoint",
3585                "Region": "us-west-2",
3586                "Endpoint": "https://example.com",
3587                "RequiresAccountId": true,
3588                "UseDualStack": false,
3589                "UseArnRegion": false,
3590                "UseFIPS": false
3591            }
3592        },
3593        {
3594            "documentation": "outpost bucket arn@us-west-2",
3595            "expect": {
3596                "endpoint": {
3597                    "headers": {
3598                        "x-amz-account-id": [
3599                            "123456789012"
3600                        ],
3601                        "x-amz-outpost-id": [
3602                            "op-01234567890123456"
3603                        ]
3604                    },
3605                    "properties": {
3606                        "authSchemes": [
3607                            {
3608                                "name": "sigv4",
3609                                "signingName": "s3-outposts",
3610                                "signingRegion": "us-west-2",
3611                                "disableDoubleEncoding": true
3612                            }
3613                        ]
3614                    },
3615                    "url": "https://s3-outposts.us-west-2.amazonaws.com"
3616                }
3617            },
3618            "operationInputs": [
3619                {
3620                    "builtInParams": {
3621                        "AWS::Region": "us-west-2"
3622                    },
3623                    "operationName": "GetBucketVersioning",
3624                    "operationParams": {
3625                        "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
3626                        "AccountId": "123456789012"
3627                    }
3628                },
3629                {
3630                    "builtInParams": {
3631                        "AWS::Region": "us-west-2"
3632                    },
3633                    "operationName": "PutBucketVersioning",
3634                    "operationParams": {
3635                        "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
3636                        "AccountId": "123456789012",
3637                        "VersioningConfiguration": {
3638                            "Status": "Enabled"
3639                        }
3640                    }
3641                }
3642            ],
3643            "params": {
3644                "Bucket": "arn:aws:s3-outposts:us-west-2:123456789012:outpost:op-01234567890123456:bucket:mybucket",
3645                "Region": "us-west-2",
3646                "RequiresAccountId": true,
3647                "UseDualStack": false,
3648                "UseFIPS": false
3649            }
3650        },
3651        {
3652            "documentation": "S3 Snow Control with bucket",
3653            "expect": {
3654                "endpoint": {
3655                    "properties": {
3656                        "authSchemes": [
3657                            {
3658                                "name": "sigv4",
3659                                "signingName": "s3",
3660                                "signingRegion": "snow",
3661                                "disableDoubleEncoding": true
3662                            }
3663                        ]
3664                    },
3665                    "url": "https://10.0.1.12:433"
3666                }
3667            },
3668            "params": {
3669                "Region": "snow",
3670                "Bucket": "bucketName",
3671                "Endpoint": "https://10.0.1.12:433",
3672                "UseFIPS": false,
3673                "UseDualStack": false
3674            }
3675        },
3676        {
3677            "documentation": "S3 Snow Control without bucket",
3678            "expect": {
3679                "endpoint": {
3680                    "properties": {
3681                        "authSchemes": [
3682                            {
3683                                "name": "sigv4",
3684                                "signingName": "s3",
3685                                "signingRegion": "snow",
3686                                "disableDoubleEncoding": true
3687                            }
3688                        ]
3689                    },
3690                    "url": "https://10.0.1.12:433"
3691                }
3692            },
3693            "params": {
3694                "Region": "snow",
3695                "Endpoint": "https://10.0.1.12:433",
3696                "UseFIPS": false,
3697                "UseDualStack": false
3698            }
3699        },
3700        {
3701            "documentation": "S3 Snow Control with bucket and without port",
3702            "expect": {
3703                "endpoint": {
3704                    "properties": {
3705                        "authSchemes": [
3706                            {
3707                                "name": "sigv4",
3708                                "signingName": "s3",
3709                                "signingRegion": "snow",
3710                                "disableDoubleEncoding": true
3711                            }
3712                        ]
3713                    },
3714                    "url": "https://10.0.1.12"
3715                }
3716            },
3717            "params": {
3718                "Region": "snow",
3719                "Bucket": "bucketName",
3720                "Endpoint": "https://10.0.1.12",
3721                "UseFIPS": false,
3722                "UseDualStack": false
3723            }
3724        },
3725        {
3726            "documentation": "S3 Snow Control with bucket and with DNS",
3727            "expect": {
3728                "endpoint": {
3729                    "properties": {
3730                        "authSchemes": [
3731                            {
3732                                "name": "sigv4",
3733                                "signingName": "s3",
3734                                "signingRegion": "snow",
3735                                "disableDoubleEncoding": true
3736                            }
3737                        ]
3738                    },
3739                    "url": "http://s3snow.com"
3740                }
3741            },
3742            "params": {
3743                "Region": "snow",
3744                "Bucket": "bucketName",
3745                "Endpoint": "http://s3snow.com",
3746                "UseFIPS": false,
3747                "UseDualStack": false
3748            }
3749        },
3750        {
3751            "documentation": "S3 Snow Control with FIPS enabled",
3752            "expect": {
3753                "error": "S3 Snow does not support FIPS"
3754            },
3755            "params": {
3756                "Region": "snow",
3757                "Bucket": "bucketName",
3758                "Endpoint": "https://10.0.1.12:433",
3759                "UseFIPS": true,
3760                "UseDualStack": false
3761            }
3762        },
3763        {
3764            "documentation": "S3 Snow Control with Dualstack enabled",
3765            "expect": {
3766                "error": "S3 Snow does not support DualStack"
3767            },
3768            "params": {
3769                "Region": "snow",
3770                "Bucket": "bucketName",
3771                "Endpoint": "https://10.0.1.12:433",
3772                "UseFIPS": false,
3773                "UseDualStack": true
3774            }
3775        }
3776    ],
3777    "version": "1.0"
3778}