1
13
14 package software.amazon.awssdk.regions.servicemetadata;
15
16 import java.net.URI;
17 import java.util.Arrays;
18 import java.util.Collections;
19 import java.util.List;
20 import java.util.Map;
21 import software.amazon.awssdk.annotations.Generated;
22 import software.amazon.awssdk.annotations.SdkPublicApi;
23 import software.amazon.awssdk.regions.Region;
24 import software.amazon.awssdk.regions.ServiceMetadata;
25 import software.amazon.awssdk.regions.ServicePartitionMetadata;
26 import software.amazon.awssdk.regions.internal.DefaultServicePartitionMetadata;
27 import software.amazon.awssdk.utils.ImmutableMap;
28
29 @Generated("software.amazon.awssdk:codegen")
30 @SdkPublicApi
31 public final class WafRegionalServiceMetadata implements ServiceMetadata {
32 private static final String ENDPOINT_PREFIX = "waf-regional";
33
34 private static final Map<String, String> PARTITION_OVERRIDDEN_ENDPOINTS = ImmutableMap.<String, String> builder().build();
35
36 private static final Map<String, String> REGION_OVERRIDDEN_ENDPOINTS = ImmutableMap.<String, String> builder()
37 .put("ap-east-1", "waf-regional.ap-east-1.amazonaws.com")
38 .put("ap-northeast-1", "waf-regional.ap-northeast-1.amazonaws.com")
39 .put("ap-northeast-2", "waf-regional.ap-northeast-2.amazonaws.com")
40 .put("ap-south-1", "waf-regional.ap-south-1.amazonaws.com")
41 .put("ap-southeast-1", "waf-regional.ap-southeast-1.amazonaws.com")
42 .put("ap-southeast-2", "waf-regional.ap-southeast-2.amazonaws.com")
43 .put("ca-central-1", "waf-regional.ca-central-1.amazonaws.com")
44 .put("eu-central-1", "waf-regional.eu-central-1.amazonaws.com")
45 .put("eu-north-1", "waf-regional.eu-north-1.amazonaws.com").put("eu-west-1", "waf-regional.eu-west-1.amazonaws.com")
46 .put("eu-west-2", "waf-regional.eu-west-2.amazonaws.com").put("eu-west-3", "waf-regional.eu-west-3.amazonaws.com")
47 .put("fips-ap-east-1", "waf-regional-fips.ap-east-1.amazonaws.com")
48 .put("fips-ap-northeast-1", "waf-regional-fips.ap-northeast-1.amazonaws.com")
49 .put("fips-ap-northeast-2", "waf-regional-fips.ap-northeast-2.amazonaws.com")
50 .put("fips-ap-south-1", "waf-regional-fips.ap-south-1.amazonaws.com")
51 .put("fips-ap-southeast-1", "waf-regional-fips.ap-southeast-1.amazonaws.com")
52 .put("fips-ap-southeast-2", "waf-regional-fips.ap-southeast-2.amazonaws.com")
53 .put("fips-ca-central-1", "waf-regional-fips.ca-central-1.amazonaws.com")
54 .put("fips-eu-central-1", "waf-regional-fips.eu-central-1.amazonaws.com")
55 .put("fips-eu-north-1", "waf-regional-fips.eu-north-1.amazonaws.com")
56 .put("fips-eu-west-1", "waf-regional-fips.eu-west-1.amazonaws.com")
57 .put("fips-eu-west-2", "waf-regional-fips.eu-west-2.amazonaws.com")
58 .put("fips-eu-west-3", "waf-regional-fips.eu-west-3.amazonaws.com")
59 .put("fips-me-south-1", "waf-regional-fips.me-south-1.amazonaws.com")
60 .put("fips-sa-east-1", "waf-regional-fips.sa-east-1.amazonaws.com")
61 .put("fips-us-east-1", "waf-regional-fips.us-east-1.amazonaws.com")
62 .put("fips-us-east-2", "waf-regional-fips.us-east-2.amazonaws.com")
63 .put("fips-us-west-1", "waf-regional-fips.us-west-1.amazonaws.com")
64 .put("fips-us-west-2", "waf-regional-fips.us-west-2.amazonaws.com")
65 .put("me-south-1", "waf-regional.me-south-1.amazonaws.com").put("sa-east-1", "waf-regional.sa-east-1.amazonaws.com")
66 .put("us-east-1", "waf-regional.us-east-1.amazonaws.com").put("us-east-2", "waf-regional.us-east-2.amazonaws.com")
67 .put("us-west-1", "waf-regional.us-west-1.amazonaws.com").put("us-west-2", "waf-regional.us-west-2.amazonaws.com")
68 .put("fips-us-gov-west-1", "waf-regional-fips.us-gov-west-1.amazonaws.com")
69 .put("us-gov-west-1", "waf-regional.us-gov-west-1.amazonaws.com").build();
70
71 private static final List<Region> REGIONS = Collections.unmodifiableList(Arrays.asList(Region.of("ap-east-1"),
72 Region.of("ap-northeast-1"), Region.of("ap-northeast-2"), Region.of("ap-south-1"), Region.of("ap-southeast-1"),
73 Region.of("ap-southeast-2"), Region.of("ca-central-1"), Region.of("eu-central-1"), Region.of("eu-north-1"),
74 Region.of("eu-west-1"), Region.of("eu-west-2"), Region.of("eu-west-3"), Region.of("fips-ap-east-1"),
75 Region.of("fips-ap-northeast-1"), Region.of("fips-ap-northeast-2"), Region.of("fips-ap-south-1"),
76 Region.of("fips-ap-southeast-1"), Region.of("fips-ap-southeast-2"), Region.of("fips-ca-central-1"),
77 Region.of("fips-eu-central-1"), Region.of("fips-eu-north-1"), Region.of("fips-eu-west-1"),
78 Region.of("fips-eu-west-2"), Region.of("fips-eu-west-3"), Region.of("fips-me-south-1"), Region.of("fips-sa-east-1"),
79 Region.of("fips-us-east-1"), Region.of("fips-us-east-2"), Region.of("fips-us-west-1"), Region.of("fips-us-west-2"),
80 Region.of("me-south-1"), Region.of("sa-east-1"), Region.of("us-east-1"), Region.of("us-east-2"),
81 Region.of("us-west-1"), Region.of("us-west-2"), Region.of("fips-us-gov-west-1"), Region.of("us-gov-west-1")));
82
83 private static final Map<String, String> SIGNING_REGION_OVERRIDES = ImmutableMap.<String, String> builder()
84 .put("ap-east-1", "ap-east-1").put("ap-northeast-1", "ap-northeast-1").put("ap-northeast-2", "ap-northeast-2")
85 .put("ap-south-1", "ap-south-1").put("ap-southeast-1", "ap-southeast-1").put("ap-southeast-2", "ap-southeast-2")
86 .put("ca-central-1", "ca-central-1").put("eu-central-1", "eu-central-1").put("eu-north-1", "eu-north-1")
87 .put("eu-west-1", "eu-west-1").put("eu-west-2", "eu-west-2").put("eu-west-3", "eu-west-3")
88 .put("fips-ap-east-1", "ap-east-1").put("fips-ap-northeast-1", "ap-northeast-1")
89 .put("fips-ap-northeast-2", "ap-northeast-2").put("fips-ap-south-1", "ap-south-1")
90 .put("fips-ap-southeast-1", "ap-southeast-1").put("fips-ap-southeast-2", "ap-southeast-2")
91 .put("fips-ca-central-1", "ca-central-1").put("fips-eu-central-1", "eu-central-1")
92 .put("fips-eu-north-1", "eu-north-1").put("fips-eu-west-1", "eu-west-1").put("fips-eu-west-2", "eu-west-2")
93 .put("fips-eu-west-3", "eu-west-3").put("fips-me-south-1", "me-south-1").put("fips-sa-east-1", "sa-east-1")
94 .put("fips-us-east-1", "us-east-1").put("fips-us-east-2", "us-east-2").put("fips-us-west-1", "us-west-1")
95 .put("fips-us-west-2", "us-west-2").put("me-south-1", "me-south-1").put("sa-east-1", "sa-east-1")
96 .put("us-east-1", "us-east-1").put("us-east-2", "us-east-2").put("us-west-1", "us-west-1")
97 .put("us-west-2", "us-west-2").put("fips-us-gov-west-1", "us-gov-west-1").put("us-gov-west-1", "us-gov-west-1")
98 .build();
99
100 private static final List<ServicePartitionMetadata> PARTITIONS = Collections.unmodifiableList(Arrays.asList(
101 new DefaultServicePartitionMetadata("aws", null), new DefaultServicePartitionMetadata("aws-us-gov", null)));
102
103 @Override
104 public List<Region> regions() {
105 return REGIONS;
106 }
107
108 @Override
109 public URI endpointFor(Region region) {
110 return URI.create(REGION_OVERRIDDEN_ENDPOINTS.containsKey(region.id()) ? REGION_OVERRIDDEN_ENDPOINTS.get(region.id())
111 : computeEndpoint(ENDPOINT_PREFIX, PARTITION_OVERRIDDEN_ENDPOINTS, region));
112 }
113
114 @Override
115 public Region signingRegion(Region region) {
116 return Region.of(SIGNING_REGION_OVERRIDES.getOrDefault(region.id(), region.id()));
117 }
118
119 @Override
120 public List<ServicePartitionMetadata> servicePartitions() {
121 return PARTITIONS;
122 }
123 }
124