-
Notifications
You must be signed in to change notification settings - Fork 27
Expand file tree
/
Copy pathpartition.ts
More file actions
28 lines (21 loc) · 793 Bytes
/
partition.ts
File metadata and controls
28 lines (21 loc) · 793 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import { partition } from '@aws-sdk/util-endpoints';
const CONSOLE_DOMAINS: Record<string, string> = {
'aws-us-gov': 'console.amazonaws-us-gov.com',
'aws-cn': 'console.amazonaws.cn',
};
const DEFAULT_CONSOLE_DOMAIN = 'console.aws.amazon.com';
export function getPartition(region: string): string {
return partition(region).name;
}
export function arnPrefix(region: string): string {
return `arn:${getPartition(region)}`;
}
export function dnsSuffix(region: string): string {
return partition(region).dnsSuffix;
}
export function serviceEndpoint(service: string, region: string): string {
return `${service}.${region}.${dnsSuffix(region)}`;
}
export function consoleDomain(region: string): string {
return CONSOLE_DOMAINS[getPartition(region)] ?? DEFAULT_CONSOLE_DOMAIN;
}