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 OrganizationsServiceMetadata implements ServiceMetadata {
32 private static final String ENDPOINT_PREFIX = "organizations";
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("aws-global", "organizations.us-east-1.amazonaws.com")
38 .put("fips-aws-global", "organizations-fips.us-east-1.amazonaws.com")
39 .put("aws-us-gov-global", "organizations.us-gov-west-1.amazonaws.com")
40 .put("fips-aws-us-gov-global", "organizations.us-gov-west-1.amazonaws.com").build();
41
42 private static final List<Region> REGIONS = Collections.unmodifiableList(Arrays.asList(Region.of("aws-global"),
43 Region.of("fips-aws-global"), Region.of("aws-us-gov-global"), Region.of("fips-aws-us-gov-global")));
44
45 private static final Map<String, String> SIGNING_REGION_OVERRIDES = ImmutableMap.<String, String> builder()
46 .put("aws-global", "us-east-1").put("fips-aws-global", "us-east-1").put("aws-us-gov-global", "us-gov-west-1")
47 .put("fips-aws-us-gov-global", "us-gov-west-1").build();
48
49 private static final List<ServicePartitionMetadata> PARTITIONS = Collections.unmodifiableList(Arrays.asList(
50 new DefaultServicePartitionMetadata("aws", Region.of("aws-global")), new DefaultServicePartitionMetadata(
51 "aws-us-gov", Region.of("aws-us-gov-global"))));
52
53 @Override
54 public List<Region> regions() {
55 return REGIONS;
56 }
57
58 @Override
59 public URI endpointFor(Region region) {
60 return URI.create(REGION_OVERRIDDEN_ENDPOINTS.containsKey(region.id()) ? REGION_OVERRIDDEN_ENDPOINTS.get(region.id())
61 : computeEndpoint(ENDPOINT_PREFIX, PARTITION_OVERRIDDEN_ENDPOINTS, region));
62 }
63
64 @Override
65 public Region signingRegion(Region region) {
66 return Region.of(SIGNING_REGION_OVERRIDES.getOrDefault(region.id(), region.id()));
67 }
68
69 @Override
70 public List<ServicePartitionMetadata> servicePartitions() {
71 return PARTITIONS;
72 }
73 }
74