35 lines
765 B
TypeScript
35 lines
765 B
TypeScript
import { KmsAlias as PrismaKeyAlias } from "@prisma/client"
|
|
|
|
export class KmsAlias implements PrismaKeyAlias {
|
|
|
|
name: string
|
|
accountId: string
|
|
region: string
|
|
kmsKeyId: string
|
|
createdAt: Date;
|
|
updatedAt: Date;
|
|
|
|
constructor(p: PrismaKeyAlias) {
|
|
this.name = p.name;
|
|
this.accountId = p.accountId;
|
|
this.region = p.region;
|
|
this.kmsKeyId = p.kmsKeyId;
|
|
this.createdAt = p.createdAt;
|
|
this.updatedAt = p.updatedAt;
|
|
}
|
|
|
|
get arn() {
|
|
return `arn:aws:kms:${this.region}:${this.accountId}:${this.name}`;
|
|
}
|
|
|
|
toAws() {
|
|
return {
|
|
AliasArn: this.arn,
|
|
AliasName: this.name,
|
|
CreationDate: this.createdAt.getAwsTime(),
|
|
LastUpdatedDate: this.updatedAt.getAwsTime(),
|
|
TargetKeyId: this.kmsKeyId,
|
|
}
|
|
}
|
|
}
|