{
    "testCases": [
        {
            "documentation": "For custom endpoint with region not set and fips disabled",
            "expect": {
                "endpoint": {
                    "url": "https://example.com"
                }
            },
            "params": {
                "Endpoint": "https://example.com",
                "UseFIPS": false
            }
        },
        {
            "documentation": "For custom endpoint with fips enabled",
            "expect": {
                "error": "Invalid Configuration: FIPS and custom endpoint are not supported"
            },
            "params": {
                "Endpoint": "https://example.com",
                "UseFIPS": true
            }
        },
        {
            "documentation": "For custom endpoint with fips disabled and dualstack enabled",
            "expect": {
                "error": "Invalid Configuration: Dualstack and custom endpoint are not supported"
            },
            "params": {
                "Endpoint": "https://example.com",
                "UseFIPS": false,
                "UseDualStack": true
            }
        },
        {
            "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled",
            "expect": {
                "endpoint": {
                    "url": "https://routes.geo-fips.us-east-1.api.aws"
                }
            },
            "params": {
                "Region": "us-east-1",
                "UseFIPS": true,
                "UseDualStack": true
            }
        },
        {
            "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://routes.geo-fips.us-east-1.amazonaws.com"
                }
            },
            "params": {
                "Region": "us-east-1",
                "UseFIPS": true,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled",
            "expect": {
                "endpoint": {
                    "url": "https://routes.geo.us-east-1.api.aws"
                }
            },
            "params": {
                "Region": "us-east-1",
                "UseFIPS": false,
                "UseDualStack": true
            }
        },
        {
            "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://routes.geo.us-east-1.amazonaws.com"
                }
            },
            "params": {
                "Region": "us-east-1",
                "UseFIPS": false,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes-fips.cn-northwest-1.api.amazonwebservices.com.cn"
                }
            },
            "params": {
                "Region": "cn-northwest-1",
                "UseFIPS": true,
                "UseDualStack": true
            }
        },
        {
            "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes-fips.cn-northwest-1.amazonaws.com.cn"
                }
            },
            "params": {
                "Region": "cn-northwest-1",
                "UseFIPS": true,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes.cn-northwest-1.api.amazonwebservices.com.cn"
                }
            },
            "params": {
                "Region": "cn-northwest-1",
                "UseFIPS": false,
                "UseDualStack": true
            }
        },
        {
            "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes.cn-northwest-1.amazonaws.com.cn"
                }
            },
            "params": {
                "Region": "cn-northwest-1",
                "UseFIPS": false,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region eusc-de-east-1 with FIPS enabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes-fips.eusc-de-east-1.amazonaws.eu"
                }
            },
            "params": {
                "Region": "eusc-de-east-1",
                "UseFIPS": true,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region eusc-de-east-1 with FIPS disabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes.eusc-de-east-1.amazonaws.eu"
                }
            },
            "params": {
                "Region": "eusc-de-east-1",
                "UseFIPS": false,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes-fips.us-iso-east-1.c2s.ic.gov"
                }
            },
            "params": {
                "Region": "us-iso-east-1",
                "UseFIPS": true,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes.us-iso-east-1.c2s.ic.gov"
                }
            },
            "params": {
                "Region": "us-iso-east-1",
                "UseFIPS": false,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region us-isob-east-1 with FIPS enabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes-fips.us-isob-east-1.sc2s.sgov.gov"
                }
            },
            "params": {
                "Region": "us-isob-east-1",
                "UseFIPS": true,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes.us-isob-east-1.sc2s.sgov.gov"
                }
            },
            "params": {
                "Region": "us-isob-east-1",
                "UseFIPS": false,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region eu-isoe-west-1 with FIPS enabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes-fips.eu-isoe-west-1.cloud.adc-e.uk"
                }
            },
            "params": {
                "Region": "eu-isoe-west-1",
                "UseFIPS": true,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region eu-isoe-west-1 with FIPS disabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes.eu-isoe-west-1.cloud.adc-e.uk"
                }
            },
            "params": {
                "Region": "eu-isoe-west-1",
                "UseFIPS": false,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region us-isof-south-1 with FIPS enabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes-fips.us-isof-south-1.csp.hci.ic.gov"
                }
            },
            "params": {
                "Region": "us-isof-south-1",
                "UseFIPS": true,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region us-isof-south-1 with FIPS disabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://geo-routes.us-isof-south-1.csp.hci.ic.gov"
                }
            },
            "params": {
                "Region": "us-isof-south-1",
                "UseFIPS": false,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled",
            "expect": {
                "endpoint": {
                    "url": "https://routes.geo-fips.us-gov-west-1.us-gov.api.aws"
                }
            },
            "params": {
                "Region": "us-gov-west-1",
                "UseFIPS": true,
                "UseDualStack": true
            }
        },
        {
            "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://routes.geo-fips.us-gov-west-1.us-gov.amazonaws.com"
                }
            },
            "params": {
                "Region": "us-gov-west-1",
                "UseFIPS": true,
                "UseDualStack": false
            }
        },
        {
            "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled",
            "expect": {
                "endpoint": {
                    "url": "https://routes.geo.us-gov-west-1.us-gov.api.aws"
                }
            },
            "params": {
                "Region": "us-gov-west-1",
                "UseFIPS": false,
                "UseDualStack": true
            }
        },
        {
            "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled",
            "expect": {
                "endpoint": {
                    "url": "https://routes.geo.us-gov-west-1.us-gov.amazonaws.com"
                }
            },
            "params": {
                "Region": "us-gov-west-1",
                "UseFIPS": false,
                "UseDualStack": false
            }
        },
        {
            "documentation": "Missing region",
            "expect": {
                "error": "Invalid Configuration: Missing Region"
            }
        }
    ],
    "version": "1.0"
}