UNPKG

@altostra/core

Version:

Core library for shared types and logic

23 lines (22 loc) 1.05 kB
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>;