@altostra/core
Version:
Core library for shared types and logic
23 lines (22 loc) • 1.05 kB
TypeScript
import type { TypeValidation } from '@altostra/type-validations';
import type { CloudFormationString } from "./IntrinsicFunctions";
export interface IamPolicyDocument {
Version: '2012-10-17';
Id?: string;
Statement: IamPolicyStatement[];
}
export interface IamPolicyStatement {
Sid?: string;
Effect: 'Allow' | 'Deny';
Action?: string[] | string;
NotAction?: string[] | string;
Resource?: CloudFormationString | CloudFormationString[];
NotResource?: CloudFormationString | CloudFormationString[];
Principal?: Principal;
NotPrincipal?: Principal;
Condition?: Record<any, any>;
}
export declare type Principal = CloudFormationString | Record<string, CloudFormationString | CloudFormationString[]>;
export declare const isPrincipal: TypeValidation<Principal>;
export declare const isIamPolicyStatement: import("@altostra/type-validations").ObjectOfTypeValidation<IamPolicyStatement>;
export declare const isIamPolicyDocument: import("@altostra/type-validations").ObjectOfTypeValidation<IamPolicyDocument>;