@altostra/core
Version:
Core library for shared types and logic
39 lines (38 loc) • 1.71 kB
TypeScript
import type { S3BucketName } from "../../../aws/CustomTypes/S3BucketName";
import type { ObjectValidations } from '@altostra/type-validations';
import type { AWSRegion } from 'aws-sdk/clients/cur';
import type { ISODate } from "../../CustomTypes/ISODate";
import type { NonEmptyString } from "../../CustomTypes/NonEmptyString";
import type { RoleStatus } from "../AwsAccount";
export type { RoleStatus };
export declare type AltostraAccountId = string;
export declare type AccountId = string;
export declare type ExternalCustomerId = string;
export declare type Vendor = 'AWS' | 'Playground';
export interface CrossAccountInfo {
altostraAccountId: AltostraAccountId;
accountName: NonEmptyString;
integrationAccountId: AccountId;
roleStatus: RoleStatus;
vendor: Vendor;
bucketArn?: string;
bucketPath?: string;
createdAt?: ISODate;
updatedAt?: ISODate;
isDefault?: boolean;
}
export interface DisplayCrossAccountInfo extends CrossAccountInfo {
region?: AWSRegion;
}
export interface CrossAccountCredentials extends CrossAccountInfo {
externalId: ExternalCustomerId;
roleArn?: string;
bucketName: S3BucketName;
region?: string;
stackId?: string;
correlationId?: string;
}
export declare const crossAccountInfoValidations: ObjectValidations<CrossAccountInfo>;
export declare const isCrossAccountInfo: import("@altostra/type-validations").ObjectOfTypeValidation<CrossAccountInfo>;
export declare const isDisplayCrossAccountInfo: import("@altostra/type-validations").ObjectOfTypeValidation<DisplayCrossAccountInfo>;
export declare const isCrossAccountCredentials: import("@altostra/type-validations").ObjectOfTypeValidation<CrossAccountCredentials>;