Files
tst/src/aws.d.ts

17 lines
560 B
TypeScript

type AccountId = `${number}`;
type Region = `${string}-${string}-${number}`;
type Arn<
S extends string,
R extends Region | "",
T extends string
> = `arn:aws:${S}:${R}:${AccountId}:${T}`;
type RegionalArn<S extends string, T extends string> = Arn<S, Region, T>;
type GlobalArn<S extends string, T extends string> = Arn<S, "", T>;
type RuleArn = RegionalArn<"events", `rule/${string}/${string}`>;
type RoleArn = GlobalArn<"iam", `role/${string}`>;
type SqsArn = RegionalArn<"sqs", string>;
type LambdaArn = RegionalArn<"lambda", `function:${string}`>;