UNPKG

@altostra/core

Version:

Core library for shared types and logic

1 lines 1.55 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:!0}),exports.isIamPolicyDocument=exports.isIamPolicyStatement=exports.isPrincipal=void 0;const type_validations_1=require("@altostra/type-validations"),primitives_1=require("@altostra/type-validations/lib/primitives"),IntrinsicFunctions_1=require("./IntrinsicFunctions");exports.isPrincipal=(0,type_validations_1.anyOf)(IntrinsicFunctions_1.isCloudFormationString,(0,type_validations_1.recordOf)((0,type_validations_1.singleOrArray)(IntrinsicFunctions_1.isCloudFormationString))),exports.isIamPolicyStatement=(0,type_validations_1.objectOf)({Sid:primitives_1.maybeString,Effect:(0,type_validations_1.enumOf)("Allow","Deny"),Action:(0,type_validations_1.maybe)((0,type_validations_1.singleOrArray)(primitives_1.string)),NotAction:(0,type_validations_1.maybe)((0,type_validations_1.singleOrArray)(primitives_1.string)),Resource:(0,type_validations_1.maybe)((0,type_validations_1.singleOrArray)(IntrinsicFunctions_1.isCloudFormationString)),NotResource:(0,type_validations_1.maybe)((0,type_validations_1.singleOrArray)(IntrinsicFunctions_1.isCloudFormationString)),Principal:(0,type_validations_1.maybe)(exports.isPrincipal),NotPrincipal:(0,type_validations_1.maybe)(exports.isPrincipal),Condition:(0,type_validations_1.maybe)((0,type_validations_1.recordOf)(primitives_1.any))}),exports.isIamPolicyDocument=(0,type_validations_1.objectOf)({Version:(0,type_validations_1.is)("2012-10-17"),Id:primitives_1.maybeString,Statement:(0,type_validations_1.arrayOf)(exports.isIamPolicyStatement)});