UNPKG

aws-ddk-core

Version:

The AWS DataOps Development Kit is an open source development framework for customers that build data workflows and modern data architecture on AWS.

72 lines 9.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.toTitleCase = exports.getCodeArtifactPublishPolicyStatements = exports.getCodeArtifactReadPolicyStatements = void 0; const iam = require("aws-cdk-lib/aws-iam"); function getCodeArtifactReadPolicyStatements(partition, region, account, domain, repository) { return [ new iam.PolicyStatement({ effect: iam.Effect.ALLOW, actions: [ "codeartifact:DescribeDomain", "codeartifact:GetAuthorizationToken", "codeartifact:ListRepositoriesInDomain", ], resources: [`arn:${partition}:codeartifact:${region}:${account}:domain/${domain}`], }), new iam.PolicyStatement({ effect: iam.Effect.ALLOW, actions: ["codeartifact:GetRepositoryEndpoint", "codeartifact:ReadFromRepository"], resources: [`arn:${partition}:codeartifact:${region}:${account}:repository/${domain}/${repository}`], }), new iam.PolicyStatement({ effect: iam.Effect.ALLOW, actions: ["sts:GetServiceBearerToken"], resources: ["*"], conditions: { StringEquals: { "sts:AWSServiceName": "codeartifact.amazonaws.com", }, }, }), ]; } exports.getCodeArtifactReadPolicyStatements = getCodeArtifactReadPolicyStatements; function getCodeArtifactPublishPolicyStatements(partition, region, account, domain, repository) { return [ new iam.PolicyStatement({ actions: [ "codeartifact:DescribeDomain", "codeartifact:GetAuthorizationToken", "codeartifact:ListRepositoriesInDomain", ], effect: iam.Effect.ALLOW, resources: [`arn:${partition}:codeartifact:${region}:${account}:domain/${domain}`], }), new iam.PolicyStatement({ actions: ["codeartifact:GetRepositoryEndpoint", "codeartifact:ReadFromRepository"], effect: iam.Effect.ALLOW, resources: [`arn:${partition}:codeartifact:${region}:${account}:repository/${domain}/${repository}`], }), new iam.PolicyStatement({ actions: ["codeartifact:PublishPackageVersion"], effect: iam.Effect.ALLOW, resources: ["*"], }), new iam.PolicyStatement({ actions: ["sts:GetServiceBearerToken"], effect: iam.Effect.ALLOW, resources: ["*"], conditions: { StringEquals: { "sts:AWSServiceName": "codeartifact.amazonaws.com", }, }, }), ]; } exports.getCodeArtifactPublishPolicyStatements = getCodeArtifactPublishPolicyStatements; function toTitleCase(str) { return str.toLowerCase().replace(/\b(\w)/g, (s) => s.toUpperCase()); } exports.toTitleCase = toTitleCase; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2ljZC91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBMkM7QUFFM0MsU0FBZ0IsbUNBQW1DLENBQ2pELFNBQWlCLEVBQ2pCLE1BQWMsRUFDZCxPQUFlLEVBQ2YsTUFBYyxFQUNkLFVBQWtCO0lBRWxCLE9BQU87UUFDTCxJQUFJLEdBQUcsQ0FBQyxlQUFlLENBQUM7WUFDdEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztZQUN4QixPQUFPLEVBQUU7Z0JBQ1AsNkJBQTZCO2dCQUM3QixvQ0FBb0M7Z0JBQ3BDLHVDQUF1QzthQUN4QztZQUNELFNBQVMsRUFBRSxDQUFDLE9BQU8sU0FBUyxpQkFBaUIsTUFBTSxJQUFJLE9BQU8sV0FBVyxNQUFNLEVBQUUsQ0FBQztTQUNuRixDQUFDO1FBQ0YsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDeEIsT0FBTyxFQUFFLENBQUMsb0NBQW9DLEVBQUUsaUNBQWlDLENBQUM7WUFDbEYsU0FBUyxFQUFFLENBQUMsT0FBTyxTQUFTLGlCQUFpQixNQUFNLElBQUksT0FBTyxlQUFlLE1BQU0sSUFBSSxVQUFVLEVBQUUsQ0FBQztTQUNyRyxDQUFDO1FBQ0YsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3RCLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDeEIsT0FBTyxFQUFFLENBQUMsMkJBQTJCLENBQUM7WUFDdEMsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ2hCLFVBQVUsRUFBRTtnQkFDVixZQUFZLEVBQUU7b0JBQ1osb0JBQW9CLEVBQUUsNEJBQTRCO2lCQUNuRDthQUNGO1NBQ0YsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBakNELGtGQWlDQztBQUVELFNBQWdCLHNDQUFzQyxDQUNwRCxTQUFpQixFQUNqQixNQUFjLEVBQ2QsT0FBZSxFQUNmLE1BQWMsRUFDZCxVQUFrQjtJQUVsQixPQUFPO1FBQ0wsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3RCLE9BQU8sRUFBRTtnQkFDUCw2QkFBNkI7Z0JBQzdCLG9DQUFvQztnQkFDcEMsdUNBQXVDO2FBQ3hDO1lBQ0QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSztZQUN4QixTQUFTLEVBQUUsQ0FBQyxPQUFPLFNBQVMsaUJBQWlCLE1BQU0sSUFBSSxPQUFPLFdBQVcsTUFBTSxFQUFFLENBQUM7U0FDbkYsQ0FBQztRQUNGLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUUsQ0FBQyxvQ0FBb0MsRUFBRSxpQ0FBaUMsQ0FBQztZQUNsRixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQ3hCLFNBQVMsRUFBRSxDQUFDLE9BQU8sU0FBUyxpQkFBaUIsTUFBTSxJQUFJLE9BQU8sZUFBZSxNQUFNLElBQUksVUFBVSxFQUFFLENBQUM7U0FDckcsQ0FBQztRQUNGLElBQUksR0FBRyxDQUFDLGVBQWUsQ0FBQztZQUN0QixPQUFPLEVBQUUsQ0FBQyxvQ0FBb0MsQ0FBQztZQUMvQyxNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ0FBQyxLQUFLO1lBQ3hCLFNBQVMsRUFBRSxDQUFDLEdBQUcsQ0FBQztTQUNqQixDQUFDO1FBQ0YsSUFBSSxHQUFHLENBQUMsZUFBZSxDQUFDO1lBQ3RCLE9BQU8sRUFBRSxDQUFDLDJCQUEyQixDQUFDO1lBQ3RDLE1BQU0sRUFBRSxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUs7WUFDeEIsU0FBUyxFQUFFLENBQUMsR0FBRyxDQUFDO1lBQ2hCLFVBQVUsRUFBRTtnQkFDVixZQUFZLEVBQUU7b0JBQ1osb0JBQW9CLEVBQUUsNEJBQTRCO2lCQUNuRDthQUNGO1NBQ0YsQ0FBQztLQUNILENBQUM7QUFDSixDQUFDO0FBdENELHdGQXNDQztBQUVELFNBQWdCLFdBQVcsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxDQUFDO0FBQ3RFLENBQUM7QUFGRCxrQ0FFQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGlhbSBmcm9tIFwiYXdzLWNkay1saWIvYXdzLWlhbVwiO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29kZUFydGlmYWN0UmVhZFBvbGljeVN0YXRlbWVudHMoXG4gIHBhcnRpdGlvbjogc3RyaW5nLFxuICByZWdpb246IHN0cmluZyxcbiAgYWNjb3VudDogc3RyaW5nLFxuICBkb21haW46IHN0cmluZyxcbiAgcmVwb3NpdG9yeTogc3RyaW5nLFxuKTogaWFtLlBvbGljeVN0YXRlbWVudFtdIHtcbiAgcmV0dXJuIFtcbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgIFwiY29kZWFydGlmYWN0OkRlc2NyaWJlRG9tYWluXCIsXG4gICAgICAgIFwiY29kZWFydGlmYWN0OkdldEF1dGhvcml6YXRpb25Ub2tlblwiLFxuICAgICAgICBcImNvZGVhcnRpZmFjdDpMaXN0UmVwb3NpdG9yaWVzSW5Eb21haW5cIixcbiAgICAgIF0sXG4gICAgICByZXNvdXJjZXM6IFtgYXJuOiR7cGFydGl0aW9ufTpjb2RlYXJ0aWZhY3Q6JHtyZWdpb259OiR7YWNjb3VudH06ZG9tYWluLyR7ZG9tYWlufWBdLFxuICAgIH0pLFxuICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGVmZmVjdDogaWFtLkVmZmVjdC5BTExPVyxcbiAgICAgIGFjdGlvbnM6IFtcImNvZGVhcnRpZmFjdDpHZXRSZXBvc2l0b3J5RW5kcG9pbnRcIiwgXCJjb2RlYXJ0aWZhY3Q6UmVhZEZyb21SZXBvc2l0b3J5XCJdLFxuICAgICAgcmVzb3VyY2VzOiBbYGFybjoke3BhcnRpdGlvbn06Y29kZWFydGlmYWN0OiR7cmVnaW9ufToke2FjY291bnR9OnJlcG9zaXRvcnkvJHtkb21haW59LyR7cmVwb3NpdG9yeX1gXSxcbiAgICB9KSxcbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICBhY3Rpb25zOiBbXCJzdHM6R2V0U2VydmljZUJlYXJlclRva2VuXCJdLFxuICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgICAgY29uZGl0aW9uczoge1xuICAgICAgICBTdHJpbmdFcXVhbHM6IHtcbiAgICAgICAgICBcInN0czpBV1NTZXJ2aWNlTmFtZVwiOiBcImNvZGVhcnRpZmFjdC5hbWF6b25hd3MuY29tXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0pLFxuICBdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29kZUFydGlmYWN0UHVibGlzaFBvbGljeVN0YXRlbWVudHMoXG4gIHBhcnRpdGlvbjogc3RyaW5nLFxuICByZWdpb246IHN0cmluZyxcbiAgYWNjb3VudDogc3RyaW5nLFxuICBkb21haW46IHN0cmluZyxcbiAgcmVwb3NpdG9yeTogc3RyaW5nLFxuKTogaWFtLlBvbGljeVN0YXRlbWVudFtdIHtcbiAgcmV0dXJuIFtcbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbXG4gICAgICAgIFwiY29kZWFydGlmYWN0OkRlc2NyaWJlRG9tYWluXCIsXG4gICAgICAgIFwiY29kZWFydGlmYWN0OkdldEF1dGhvcml6YXRpb25Ub2tlblwiLFxuICAgICAgICBcImNvZGVhcnRpZmFjdDpMaXN0UmVwb3NpdG9yaWVzSW5Eb21haW5cIixcbiAgICAgIF0sXG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICByZXNvdXJjZXM6IFtgYXJuOiR7cGFydGl0aW9ufTpjb2RlYXJ0aWZhY3Q6JHtyZWdpb259OiR7YWNjb3VudH06ZG9tYWluLyR7ZG9tYWlufWBdLFxuICAgIH0pLFxuICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcImNvZGVhcnRpZmFjdDpHZXRSZXBvc2l0b3J5RW5kcG9pbnRcIiwgXCJjb2RlYXJ0aWZhY3Q6UmVhZEZyb21SZXBvc2l0b3J5XCJdLFxuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgcmVzb3VyY2VzOiBbYGFybjoke3BhcnRpdGlvbn06Y29kZWFydGlmYWN0OiR7cmVnaW9ufToke2FjY291bnR9OnJlcG9zaXRvcnkvJHtkb21haW59LyR7cmVwb3NpdG9yeX1gXSxcbiAgICB9KSxcbiAgICBuZXcgaWFtLlBvbGljeVN0YXRlbWVudCh7XG4gICAgICBhY3Rpb25zOiBbXCJjb2RlYXJ0aWZhY3Q6UHVibGlzaFBhY2thZ2VWZXJzaW9uXCJdLFxuICAgICAgZWZmZWN0OiBpYW0uRWZmZWN0LkFMTE9XLFxuICAgICAgcmVzb3VyY2VzOiBbXCIqXCJdLFxuICAgIH0pLFxuICAgIG5ldyBpYW0uUG9saWN5U3RhdGVtZW50KHtcbiAgICAgIGFjdGlvbnM6IFtcInN0czpHZXRTZXJ2aWNlQmVhcmVyVG9rZW5cIl0sXG4gICAgICBlZmZlY3Q6IGlhbS5FZmZlY3QuQUxMT1csXG4gICAgICByZXNvdXJjZXM6IFtcIipcIl0sXG4gICAgICBjb25kaXRpb25zOiB7XG4gICAgICAgIFN0cmluZ0VxdWFsczoge1xuICAgICAgICAgIFwic3RzOkFXU1NlcnZpY2VOYW1lXCI6IFwiY29kZWFydGlmYWN0LmFtYXpvbmF3cy5jb21cIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSksXG4gIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1RpdGxlQ2FzZShzdHI6IHN0cmluZyk6IHN0cmluZyB7XG4gIHJldHVybiBzdHIudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9cXGIoXFx3KS9nLCAocykgPT4gcy50b1VwcGVyQ2FzZSgpKTtcbn1cbiJdfQ==