aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
2 lines (1 loc) • 915 B
JavaScript
;Object.defineProperty(exports,"__esModule",{value:!0}),exports.isServicePrincipal=isServicePrincipal,exports.isUnsupportedServicePrincipal=isUnsupportedServicePrincipal;var aws_iam_1=()=>{var tmp=require("../../../aws-iam");return aws_iam_1=()=>tmp,tmp};const KNOWN_DYNAMODB_SERVICE_PRINCIPALS=new Set(["redshift.amazonaws.com","replication.dynamodb.amazonaws.com","glue.amazonaws.com"]);function isServicePrincipal(principal){return"Service"in principal.policyFragment.principalJson}function isUnsupportedServicePrincipal(principal){if(!isServicePrincipal(principal))return!1;const serviceName=extractServiceName(principal);return serviceName===void 0||!KNOWN_DYNAMODB_SERVICE_PRINCIPALS.has(serviceName)}function extractServiceName(principal){if(principal instanceof aws_iam_1().ServicePrincipal)return principal.service;const inner=principal.wrapped;if(inner!=null)return extractServiceName(inner)}