{"_id":"@aws/plugin-aws-apps-backend-for-backstage","_rev":"10-9e55b1ac89fe32401ca88bdf327ebc67","name":"@aws/plugin-aws-apps-backend-for-backstage","dist-tags":{"latest":"0.4.0"},"versions":{"0.1.0":{"name":"@aws/plugin-aws-apps-backend-for-backstage","version":"0.1.0","author":{"url":"http://aws.amazon.com","name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws/plugin-aws-apps-backend-for-backstage@0.1.0","maintainers":[{"name":"z-sourcecode","email":"bstzahi@gmail.com"}],"homepage":"https://github.com/awslabs/app-development-for-backstage-io-on-aws#readme","bugs":{"url":"https://github.com/awslabs/app-development-for-backstage-io-on-aws/issues"},"dist":{"shasum":"2ae6d19bdc0667dcf798d84019b4705eaab6eb78","tarball":"https://registry.npmjs.org/@aws/plugin-aws-apps-backend-for-backstage/-/plugin-aws-apps-backend-for-backstage-0.1.0.tgz","fileCount":2,"integrity":"sha512-lTrJ97tJ9hKdendRmMO54DgUB2zhabpA1usSlyt0VDthtRIEZ3QfGMxvXdp+TGaO8IPRo/Sh7jvtCgB56qDV1g==","signatures":[{"sig":"MEQCIHEHz0qrxBjChUQ+4P8/iluWDYXpptATJ9NmdcxBqfaVAiAZ7aM8JkSRIPaqGaobeAhSsVuIK93FEnJnm5Qk/uzBYg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":6205},"main":"src/index.ts","types":"src/index.ts","gitHead":"033798a91dc34515e98e68595a705634ac5d48be","scripts":{"lint":"backstage-cli package lint","test":"backstage-cli package test","build":"backstage-cli package build","clean":"backstage-cli package clean","start":"backstage-cli package start","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"_npmUser":{"name":"z-sourcecode","email":"bstzahi@gmail.com"},"backstage":{"role":"backend-plugin"},"repository":{"url":"git+https://github.com/awslabs/app-development-for-backstage-io-on-aws.git","type":"git","directory":"backstage-plugins/plugins/aws-apps-backend"},"_npmVersion":"8.19.2","description":"App Development for Backstage.io on AWS Backend plugin","directories":{},"_nodeVersion":"18.12.1","dependencies":{"yn":"^4.0.0","express":"^4.17.3","winston":"^3.2.1","node-fetch":"^2.6.7","@aws-sdk/types":"^3.290.0","@types/express":"*","@backstage/config":"^1.0.7","@aws-sdk/client-ecs":"^3.290.0","express-promise-router":"^4.1.0","@aws-sdk/client-dynamodb":"^3.290.0","@backstage/backend-common":"^0.18.4","@aws-sdk/client-cloudformation":"^3.290.0","@aws-sdk/client-cloudwatch-logs":"^3.290.0","@aws-sdk/client-resource-groups":"^3.296.0","@aws-sdk/client-secrets-manager":"^3.290.0","@aws/plugin-aws-apps-common-for-backstage":"^0.1.0"},"publishConfig":{"main":"dist/index.cjs.js","types":"dist/index.d.ts","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^0.49.0","supertest":"^6.2.4","@backstage/cli":"^0.22.6","@types/supertest":"^2.0.8"},"_npmOperationalInternal":{"tmp":"tmp/plugin-aws-apps-backend-for-backstage_0.1.0_1683641047550_0.2690155280639692","host":"s3://npm-registry-packages"}},"0.1.2":{"name":"@aws/plugin-aws-apps-backend-for-backstage","version":"0.1.2","author":{"url":"http://aws.amazon.com","name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws/plugin-aws-apps-backend-for-backstage@0.1.2","maintainers":[{"name":"z-sourcecode","email":"bstzahi@gmail.com"}],"homepage":"https://github.com/awslabs/app-development-for-backstage-io-on-aws#readme","bugs":{"url":"https://github.com/awslabs/app-development-for-backstage-io-on-aws/issues"},"dist":{"shasum":"bf42568d2b57afd211c66172a848b34eb33c462b","tarball":"https://registry.npmjs.org/@aws/plugin-aws-apps-backend-for-backstage/-/plugin-aws-apps-backend-for-backstage-0.1.2.tgz","fileCount":6,"integrity":"sha512-C19vEry33y3DxRiSEte1pLjx8Y76fGSzTe4yH5++TRioBl1a9atkklcfYtPe5+Z6t7ESTsi+YQ9ekkc9LPEHEQ==","signatures":[{"sig":"MEUCIGTVeBYuTQUCeMAUozqYia2mqGYoZDzwQz94r+iueAERAiEA+bIcQcj3N/FQ4Kvp4iSy7090mNj03Qe8jLeMqmI9qRY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":195893},"main":"src/index.ts","types":"src/index.ts","gitHead":"8382b57e8795ece710b1e84b846895347f86f8b2","scripts":{"lint":"backstage-cli package lint","test":"backstage-cli package test","build":"backstage-cli package build","clean":"backstage-cli package clean","start":"backstage-cli package start","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"_npmUser":{"name":"z-sourcecode","email":"bstzahi@gmail.com"},"backstage":{"role":"backend-plugin"},"repository":{"url":"git+https://github.com/awslabs/app-development-for-backstage-io-on-aws.git","type":"git","directory":"backstage-plugins/plugins/aws-apps-backend"},"_npmVersion":"8.19.2","description":"App Development for Backstage.io on AWS Backend plugin","directories":{},"_nodeVersion":"18.12.1","dependencies":{"yn":"^4.0.0","express":"^4.17.3","winston":"^3.2.1","node-fetch":"^2.6.7","@aws-sdk/types":"^3.290.0","@types/express":"*","@backstage/config":"^1.0.7","@aws-sdk/client-ecs":"^3.290.0","express-promise-router":"^4.1.0","@aws-sdk/client-dynamodb":"^3.290.0","@backstage/backend-common":"^0.18.4","@aws-sdk/client-cloudformation":"^3.290.0","@aws-sdk/client-cloudwatch-logs":"^3.290.0","@aws-sdk/client-resource-groups":"^3.296.0","@aws-sdk/client-secrets-manager":"^3.290.0","@aws/plugin-aws-apps-common-for-backstage":"^0.1.0"},"publishConfig":{"main":"dist/index.cjs.js","types":"dist/index.d.ts","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^0.49.0","supertest":"^6.2.4","@backstage/cli":"^0.22.6","@types/supertest":"^2.0.8"},"_npmOperationalInternal":{"tmp":"tmp/plugin-aws-apps-backend-for-backstage_0.1.2_1683746680940_0.5676362862620385","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"@aws/plugin-aws-apps-backend-for-backstage","version":"0.2.0","author":{"url":"http://aws.amazon.com","name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws/plugin-aws-apps-backend-for-backstage@0.2.0","maintainers":[{"name":"awsjim","email":"jimmcvea@amazon.com"},{"name":"z-sourcecode","email":"bstzahi@gmail.com"}],"homepage":"https://github.com/awslabs/app-development-for-backstage-io-on-aws#readme","bugs":{"url":"https://github.com/awslabs/app-development-for-backstage-io-on-aws/issues"},"dist":{"shasum":"7de0af7953662fc72db42c5c84dcc384aaa6e36d","tarball":"https://registry.npmjs.org/@aws/plugin-aws-apps-backend-for-backstage/-/plugin-aws-apps-backend-for-backstage-0.2.0.tgz","fileCount":6,"integrity":"sha512-UeTCCUFw/3wKdv7D1ZV0cnR07nS1p5PTFRaKGNmDO8zVyzQXmx8SFACxO8n00gv8Sp+J5j3e6XInnI2Yo69xSQ==","signatures":[{"sig":"MEYCIQD1tv2lNHPyKnwl/LSnKXNuMg52Dn7W5rsVL9A3PAm31gIhANxwBZt9gDtugmBexyo9N7QOyefn69tR6GGEtyDSpX/M","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":317109},"main":"src/index.ts","types":"src/index.ts","gitHead":"65ddd815d05ed31c913115abdc25bf0fe5512e2c","scripts":{"lint":"backstage-cli package lint","test":"backstage-cli package test","build":"backstage-cli package build","clean":"backstage-cli package clean","start":"backstage-cli package start","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"_npmUser":{"name":"awsjim","email":"jimmcvea@amazon.com"},"backstage":{"role":"backend-plugin"},"repository":{"url":"git+https://github.com/awslabs/app-development-for-backstage-io-on-aws.git","type":"git","directory":"backstage-plugins/plugins/aws-apps-backend"},"_npmVersion":"9.8.1","description":"App Development for Backstage.io on AWS Backend plugin","directories":{},"_nodeVersion":"18.18.0","dependencies":{"yn":"^4.0.0","yaml":"^2.0.0","express":"^4.17.3","winston":"^3.2.1","@aws-sdk/types":"^3.290.0","@types/express":"*","@backstage/types":"^1.1.0","@backstage/config":"^1.0.8","@aws-sdk/client-s3":"^3.290.0","@aws-sdk/client-ecs":"^3.290.0","@aws-sdk/client-eks":"^3.405.0","@aws-sdk/client-ssm":"^3.290.0","@aws-sdk/client-sts":"^3.290.0","express-promise-router":"^4.1.0","@kubernetes/client-node":"^0.18.1","@aws-sdk/client-dynamodb":"^3.290.0","@aws-sdk/util-arn-parser":"^3.310.0","@backstage/catalog-model":"^1.4.1","@backstage/backend-common":"^0.19.4","@backstage/plugin-auth-node":"^0.2.17","@aws-sdk/client-cloudformation":"^3.290.0","@backstage/plugin-catalog-node":"^1.4.1","@aws-sdk/client-cloudwatch-logs":"^3.359.0","@aws-sdk/client-resource-groups":"^3.296.0","@aws-sdk/client-secrets-manager":"^3.290.0","@backstage/plugin-catalog-common":"^1.0.15","@aws/plugin-aws-apps-common-for-backstage":"^0.2.0"},"publishConfig":{"main":"dist/index.cjs.js","types":"dist/index.d.ts","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^0.49.0","supertest":"^6.2.4","@backstage/cli":"^0.22.12","@types/supertest":"^2.0.8","@backstage/plugin-scaffolder-common":"^1.4.0"},"_npmOperationalInternal":{"tmp":"tmp/plugin-aws-apps-backend-for-backstage_0.2.0_1695853156122_0.3552215860591772","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"@aws/plugin-aws-apps-backend-for-backstage","version":"0.3.0","author":{"url":"http://aws.amazon.com","name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws/plugin-aws-apps-backend-for-backstage@0.3.0","maintainers":[{"name":"awsacw","email":"watsoac@amazon.com"},{"name":"awsjim","email":"jimmcvea@amazon.com"},{"name":"z-sourcecode","email":"bstzahi@gmail.com"}],"homepage":"https://github.com/awslabs/app-development-for-backstage-io-on-aws#readme","bugs":{"url":"https://github.com/awslabs/app-development-for-backstage-io-on-aws/issues"},"dist":{"shasum":"f243c7b66c69845c57fcfba7ac6c59df47bf4ca4","tarball":"https://registry.npmjs.org/@aws/plugin-aws-apps-backend-for-backstage/-/plugin-aws-apps-backend-for-backstage-0.3.0.tgz","fileCount":6,"integrity":"sha512-YkJRN4Rkf8DJ4XFRK5RYSRpAbggSPiuXXVPFVKIPO3ya0cG0YJSZHPYkGnDfF18MI/x0twLARb+jXRdGaETwhw==","signatures":[{"sig":"MEUCIBzI02/jC/3TEKSTGKW8ludUeAWAfpKsG1JojZ47qr/fAiEArYSe1nr+9Nm6z1aeWtveyedLsPse1MliyeDmGuy1KAY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320913},"main":"src/index.ts","types":"src/index.ts","gitHead":"975497d5257b8c0fc5f2f3e2621a61875e46ff5c","scripts":{"lint":"backstage-cli package lint","test":"backstage-cli package test","build":"backstage-cli package build","clean":"backstage-cli package clean","start":"backstage-cli package start","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"_npmUser":{"name":"awsjim","email":"jimmcvea@amazon.com"},"backstage":{"role":"backend-plugin"},"repository":{"url":"git+https://github.com/awslabs/app-development-for-backstage-io-on-aws.git","type":"git","directory":"backstage-plugins/plugins/aws-apps-backend"},"_npmVersion":"10.2.3","description":"App Development for Backstage.io on AWS Backend plugin","directories":{},"_nodeVersion":"18.19.0","dependencies":{"yn":"^4.0.0","yaml":"^2.0.0","express":"^4.17.3","winston":"^3.2.1","@aws-sdk/types":"^3.290.0","@types/express":"*","@backstage/types":"^1.1.1","@backstage/config":"^1.1.1","@aws-sdk/client-s3":"^3.290.0","@aws-sdk/client-ecs":"^3.290.0","@aws-sdk/client-eks":"^3.405.0","@aws-sdk/client-ssm":"^3.290.0","@aws-sdk/client-sts":"^3.290.0","@aws-sdk/client-lambda":"^3.290.0","express-promise-router":"^4.1.0","@kubernetes/client-node":"^0.18.1","@aws-sdk/client-dynamodb":"^3.290.0","@aws-sdk/util-arn-parser":"^3.310.0","@backstage/catalog-model":"^1.4.3","@backstage/backend-common":"^0.20.0","@backstage/plugin-auth-node":"^0.4.2","@aws-sdk/client-cloudformation":"^3.290.0","@backstage/plugin-catalog-node":"^1.6.0","@aws-sdk/client-cloudwatch-logs":"^3.359.0","@aws-sdk/client-resource-groups":"^3.296.0","@aws-sdk/client-secrets-manager":"^3.290.0","@backstage/plugin-catalog-common":"^1.0.19","@aws/plugin-aws-apps-common-for-backstage":"^0.2.0"},"publishConfig":{"main":"dist/index.cjs.js","types":"dist/index.d.ts","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^0.49.0","supertest":"^6.2.4","@backstage/cli":"^0.25.0","@types/supertest":"^2.0.8","@backstage/plugin-scaffolder-common":"^1.4.4"},"_npmOperationalInternal":{"tmp":"tmp/plugin-aws-apps-backend-for-backstage_0.3.0_1706044436374_0.032731150417106836","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"@aws/plugin-aws-apps-backend-for-backstage","version":"0.3.1","author":{"url":"http://aws.amazon.com","name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws/plugin-aws-apps-backend-for-backstage@0.3.1","maintainers":[{"name":"awsacw","email":"watsoac@amazon.com"},{"name":"awsjim","email":"jimmcvea@amazon.com"},{"name":"z-sourcecode","email":"bstzahi@gmail.com"}],"homepage":"https://github.com/awslabs/app-development-for-backstage-io-on-aws#readme","bugs":{"url":"https://github.com/awslabs/app-development-for-backstage-io-on-aws/issues"},"dist":{"shasum":"7e1e7d306d327781e4a664acaebf769bc1537f91","tarball":"https://registry.npmjs.org/@aws/plugin-aws-apps-backend-for-backstage/-/plugin-aws-apps-backend-for-backstage-0.3.1.tgz","fileCount":6,"integrity":"sha512-PI81VCvHoNCIIVp6funcw1IvYFtG+At78obWiYEGp7I1KiKi5K32SU3WD6qbmEezo9AEtbxp7rHdcgUTrhFSeA==","signatures":[{"sig":"MEQCIBvX8X4AKCFOpXWU0i8f3Xgkn9Ua6L6GHuxoXD4Af5NFAiAC5yUTJw7BUcXW0JBCw7+yxjpY9nZkZnQ8u7O9SWFGzg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":320913},"main":"src/index.ts","types":"src/index.ts","gitHead":"a506b5b7f23fd5a60c049a247d7fbb80addb75fa","scripts":{"lint":"backstage-cli package lint","test":"backstage-cli package test","build":"backstage-cli package build","clean":"backstage-cli package clean","start":"backstage-cli package start","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"_npmUser":{"name":"awsjim","email":"jimmcvea@amazon.com"},"backstage":{"role":"backend-plugin"},"repository":{"url":"git+https://github.com/awslabs/app-development-for-backstage-io-on-aws.git","type":"git","directory":"backstage-plugins/plugins/aws-apps-backend"},"_npmVersion":"9.8.1","description":"App Development for Backstage.io on AWS Backend plugin","directories":{},"_nodeVersion":"18.18.2","dependencies":{"yn":"^4.0.0","yaml":"^2.0.0","express":"^4.17.3","winston":"^3.2.1","@aws-sdk/types":"^3.290.0","@types/express":"*","@backstage/types":"^1.1.1","@backstage/config":"^1.1.1","@aws-sdk/client-s3":"^3.290.0","@aws-sdk/client-ecs":"^3.290.0","@aws-sdk/client-eks":"^3.405.0","@aws-sdk/client-ssm":"^3.290.0","@aws-sdk/client-sts":"^3.290.0","@aws-sdk/client-lambda":"^3.290.0","express-promise-router":"^4.1.0","@kubernetes/client-node":"^0.18.1","@aws-sdk/client-dynamodb":"^3.290.0","@aws-sdk/util-arn-parser":"^3.310.0","@backstage/catalog-model":"^1.4.3","@backstage/backend-common":"^0.20.0","@backstage/plugin-auth-node":"^0.4.2","@aws-sdk/client-cloudformation":"^3.290.0","@backstage/plugin-catalog-node":"^1.6.0","@aws-sdk/client-cloudwatch-logs":"^3.359.0","@aws-sdk/client-resource-groups":"^3.296.0","@aws-sdk/client-secrets-manager":"^3.290.0","@backstage/plugin-catalog-common":"^1.0.19","@aws/plugin-aws-apps-common-for-backstage":"^0.3.1"},"publishConfig":{"main":"dist/index.cjs.js","types":"dist/index.d.ts","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^0.49.0","supertest":"^6.2.4","@backstage/cli":"^0.25.0","@types/supertest":"^2.0.8","@backstage/plugin-scaffolder-common":"^1.4.4"},"_npmOperationalInternal":{"tmp":"tmp/plugin-aws-apps-backend-for-backstage_0.3.1_1706144594513_0.2555213393498368","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"@aws/plugin-aws-apps-backend-for-backstage","version":"0.3.2","author":{"url":"http://aws.amazon.com","name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws/plugin-aws-apps-backend-for-backstage@0.3.2","maintainers":[{"name":"awsacw","email":"watsoac@amazon.com"},{"name":"awsjim","email":"jimmcvea@amazon.com"},{"name":"z-sourcecode","email":"bstzahi@gmail.com"}],"homepage":"https://github.com/awslabs/app-development-for-backstage-io-on-aws#readme","bugs":{"url":"https://github.com/awslabs/app-development-for-backstage-io-on-aws/issues"},"dist":{"shasum":"a56449f16080c946e09fe7c5aeed5c807c33e273","tarball":"https://registry.npmjs.org/@aws/plugin-aws-apps-backend-for-backstage/-/plugin-aws-apps-backend-for-backstage-0.3.2.tgz","fileCount":6,"integrity":"sha512-/B+JeKvB6jgGvNGu80+yUSuGXqT6XTpwNlvyCu3Wt5KoifgMZ4gQcOlt65F42xWhCtz5NLYJL52VngrZlYDReg==","signatures":[{"sig":"MEQCIBXfVSDYHoikv3aNFx9hohFzgFFZiEKMJxjWSE9+xuYyAiAOFAxkXVpz7H9oSOzi4e0Kk5GKFimpH2uzqnSpGHpIUA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":321080},"main":"src/index.ts","types":"src/index.ts","gitHead":"d192aa7eff9efc97f98d077120f4e30f62670050","scripts":{"lint":"backstage-cli package lint","test":"backstage-cli package test","build":"backstage-cli package build","clean":"backstage-cli package clean","start":"backstage-cli package start","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"_npmUser":{"name":"awsjim","email":"jimmcvea@amazon.com"},"backstage":{"role":"backend-plugin"},"repository":{"url":"git+https://github.com/awslabs/app-development-for-backstage-io-on-aws.git","type":"git","directory":"backstage-plugins/plugins/aws-apps-backend"},"_npmVersion":"10.2.4","description":"App Development for Backstage.io on AWS Backend plugin","directories":{},"_nodeVersion":"18.19.1","dependencies":{"yn":"^4.0.0","yaml":"^2.0.0","express":"^4.17.3","winston":"^3.2.1","@aws-sdk/types":"^3.290.0","@types/express":"*","@backstage/types":"^1.1.1","@backstage/config":"^1.1.1","@aws-sdk/client-s3":"^3.290.0","@aws-sdk/client-ecs":"^3.290.0","@aws-sdk/client-eks":"^3.405.0","@aws-sdk/client-ssm":"^3.290.0","@aws-sdk/client-sts":"^3.290.0","@aws-sdk/client-lambda":"^3.290.0","express-promise-router":"^4.1.0","@kubernetes/client-node":"^0.18.1","@aws-sdk/client-dynamodb":"^3.290.0","@aws-sdk/util-arn-parser":"^3.310.0","@backstage/catalog-model":"^1.4.3","@backstage/backend-common":"^0.20.0","@backstage/plugin-auth-node":"^0.4.2","@aws-sdk/client-cloudformation":"^3.290.0","@backstage/plugin-catalog-node":"^1.6.0","@aws-sdk/client-cloudwatch-logs":"^3.359.0","@aws-sdk/client-resource-groups":"^3.296.0","@aws-sdk/client-secrets-manager":"^3.290.0","@backstage/plugin-catalog-common":"^1.0.19","@aws/plugin-aws-apps-common-for-backstage":"^0.3.2"},"publishConfig":{"main":"dist/index.cjs.js","types":"dist/index.d.ts","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^0.49.0","supertest":"^6.2.4","@backstage/cli":"^0.25.0","@types/supertest":"^2.0.8","@backstage/plugin-scaffolder-common":"^1.4.4"},"_npmOperationalInternal":{"tmp":"tmp/plugin-aws-apps-backend-for-backstage_0.3.2_1708982659343_0.15586192802734233","host":"s3://npm-registry-packages"}},"0.3.4":{"name":"@aws/plugin-aws-apps-backend-for-backstage","version":"0.3.4","author":{"url":"http://aws.amazon.com","name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws/plugin-aws-apps-backend-for-backstage@0.3.4","maintainers":[{"name":"awsacw","email":"watsoac@amazon.com"},{"name":"awsjim","email":"jimmcvea@amazon.com"},{"name":"z-sourcecode","email":"bstzahi@gmail.com"}],"homepage":"https://github.com/awslabs/app-development-for-backstage-io-on-aws#readme","bugs":{"url":"https://github.com/awslabs/app-development-for-backstage-io-on-aws/issues"},"dist":{"shasum":"51c1216e8eb3a4dd2835480c86ae53ed18f2613d","tarball":"https://registry.npmjs.org/@aws/plugin-aws-apps-backend-for-backstage/-/plugin-aws-apps-backend-for-backstage-0.3.4.tgz","fileCount":6,"integrity":"sha512-k1R5EQ0ykam8aHIBu4/amfwUjpXIYRHuZsGS60mbhV9sYMuEGl2os+tV823RMq8vxH8q2freGu+qlqBBhv4CiQ==","signatures":[{"sig":"MEYCIQDYeotAYMasjHaeeUw25xW/xW9HKo1ElxKPnzc+7uCGwwIhANUXNkg+OINV4mlSX+C1jeQZmXP9fKTdAv7qxyZbvXXw","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":298281},"main":"src/index.ts","types":"src/index.ts","gitHead":"95f1beae78610d29fee7c3089e8bb3ec4bf81b78","scripts":{"lint":"backstage-cli package lint","test":"backstage-cli package test","build":"backstage-cli package build","clean":"backstage-cli package clean","start":"backstage-cli package start","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack"},"_npmUser":{"name":"z-sourcecode","email":"bstzahi@gmail.com"},"backstage":{"role":"backend-plugin","pluginId":"aws-apps-backend","pluginPackages":["@backstage/plugin-catalog"]},"repository":{"url":"git+https://github.com/awslabs/app-development-for-backstage-io-on-aws.git","type":"git","directory":"backstage-plugins/plugins/aws-apps-backend"},"_npmVersion":"10.7.0","description":"App Development for Backstage.io on AWS Backend plugin","directories":{},"_nodeVersion":"18.20.4","dependencies":{"yn":"^4.0.0","yaml":"^2.0.0","express":"^4.17.1","octokit":"^3.1.2","winston":"^3.2.1","node-fetch":"^2.6.7","@aws-sdk/types":"^3.609.0","@backstage/config":"^1.2.0","@aws-sdk/client-s3":"^3.623.0","@aws-sdk/client-ecs":"^3.623.0","@aws-sdk/client-eks":"^3.623.0","@aws-sdk/client-ssm":"^3.623.0","@aws-sdk/client-sts":"^3.623.0","@aws-sdk/client-lambda":"^3.623.0","express-promise-router":"^4.1.0","@aws-sdk/client-dynamodb":"^3.623.0","@aws-sdk/util-arn-parser":"^3.568.0","@backstage/backend-common":"^0.23.3","@backstage/backend-defaults":"^0.4.0","@backstage/backend-plugin-api":"^0.7.0","octokit-commit-multiple-files":"^5.0.2","@aws-sdk/client-cloudformation":"^3.623.0","@aws-sdk/client-cloudwatch-logs":"^3.623.0","@aws-sdk/client-resource-groups":"^3.623.0","@aws-sdk/client-secrets-manager":"^3.623.0","@aws-sdk/credential-provider-node":"^3.623.0","@aws/plugin-aws-apps-common-for-backstage":"^0.3.4"},"publishConfig":{"main":"dist/index.cjs.js","types":"dist/index.d.ts","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^2.3.1","supertest":"^6.2.4","@backstage/cli":"^0.26.11","@types/express":"*","@types/supertest":"^2.0.12","@backstage/backend-test-utils":"^0.4.4","@backstage/plugin-auth-backend":"^0.22.9","@backstage/plugin-auth-backend-module-guest-provider":"^0.1.8"},"_npmOperationalInternal":{"tmp":"tmp/plugin-aws-apps-backend-for-backstage_0.3.4_1723835140806_0.027670875697788366","host":"s3://npm-registry-packages"}},"0.4.0":{"name":"@aws/plugin-aws-apps-backend-for-backstage","version":"0.4.0","author":{"url":"https://aws.amazon.com","name":"Amazon Web Services"},"license":"Apache-2.0","_id":"@aws/plugin-aws-apps-backend-for-backstage@0.4.0","maintainers":[{"name":"awsjim","email":"jimmcvea@amazon.com"},{"name":"awsacw","email":"watsoac@amazon.com"},{"name":"z-sourcecode","email":"bstzahi@gmail.com"}],"homepage":"https://github.com/awslabs/harmonix#readme","bugs":{"url":"https://github.com/awslabs/harmonix-backend/issues"},"dist":{"shasum":"383c697709581df80ecf2c399bb3eb9d54f533de","tarball":"https://registry.npmjs.org/@aws/plugin-aws-apps-backend-for-backstage/-/plugin-aws-apps-backend-for-backstage-0.4.0.tgz","fileCount":29,"integrity":"sha512-dSCng2qYz1J+5YSM6rSty8/Qve/gqnJ3m1Xp2o69xthPQYe36FJ1G667PrjjHFL8digQ9gAe+INL+HS7C9oxyg==","signatures":[{"sig":"MEUCIQDDCEXJKDkGbO8biqQl95TxwGalJL034UjBuDR0201LBwIgRKRvE19BOul8Sgbh5epsjerKp2aZlO9s4qJ8E4QSi30=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":288734},"main":"src/index.ts","types":"src/index.ts","gitHead":"6c8cb9afc53c93bdcdd05e6c02b93908608fd0dd","scripts":{"tsc":"tsc","lint":"backstage-cli package lint","test":"backstage-cli package test--all --watchAll=false","build":"backstage-cli package build","clean":"backstage-cli package clean","start":"backstage-cli package start","prepack":"backstage-cli package prepack","postpack":"backstage-cli package postpack","tsc-config":"tsc --showConfig"},"_npmUser":{"name":"z-sourcecode","email":"bstzahi@gmail.com"},"backstage":{"role":"backend-plugin","pluginId":"harmonix-backend","pluginPackages":["@aws/plugin-aws-apps-backend-for-backstage"]},"repository":{"url":"git+https://github.com/awslabs/harmonix.git","type":"git","directory":"backstage-plugins/plugins/harmonix-backend"},"_npmVersion":"10.8.2","description":"<!--  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0  --> # Harmonix on AWS Backend","directories":{},"_nodeVersion":"22.7.0","dependencies":{"yn":"^4.0.0","yaml":"^2.7.1","express":"^4.17.1","octokit":"^3.1.2","node-fetch":"^2.6.7","@octokit/rest":">=20.0.1","@aws-sdk/types":"^3.775.0","@backstage/config":"^1.3.2","@backstage/errors":"^1.2.7","@aws-sdk/client-s3":"^3.777.0","@aws-sdk/client-ecs":"^3.777.0","@aws-sdk/client-eks":"^3.777.0","@aws-sdk/client-ssm":"^3.777.0","@aws-sdk/client-sts":"^3.777.0","@aws-sdk/client-lambda":"^3.777.0","express-promise-router":"^4.1.0","@aws-sdk/client-dynamodb":"^3.777.0","@aws-sdk/util-arn-parser":"^3.723.0","@backstage/backend-common":"^0.25.0","@backstage/catalog-client":"^1.9.1","@backstage/backend-defaults":"^0.9.0","@backstage/backend-plugin-api":"^1.3.0","octokit-commit-multiple-files":"^5.0.2","@aws-sdk/client-cloudformation":"^3.777.0","@backstage/plugin-catalog-node":"^1.16.3","@aws-sdk/client-cloudwatch-logs":"^3.777.0","@aws-sdk/client-resource-groups":"^3.777.0","@aws-sdk/client-secrets-manager":"^3.777.0","@aws-sdk/credential-provider-node":"^3.777.0","@aws/plugin-aws-apps-common-for-backstage":"^0.4.0"},"publishConfig":{"main":"dist/index.cjs.js","types":"dist/index.d.ts","access":"public"},"_hasShrinkwrap":false,"devDependencies":{"msw":"^1.0.0","supertest":"^6.2.4","typescript":"~5.8.0","@backstage/cli":"^0.32.0","@types/express":"^4.17.6","@types/supertest":"^2.0.12","@backstage/backend-test-utils":"^1.4.0","@backstage/plugin-auth-backend":"^0.24.4","@aws/plugin-aws-apps-common-for-backstage":"^0.4.0","@backstage/plugin-auth-backend-module-guest-provider":"^0.2.6"},"_npmOperationalInternal":{"tmp":"tmp/plugin-aws-apps-backend-for-backstage_0.4.0_1745005467523_0.9264481644255749","host":"s3://npm-registry-packages-npm-production"}}},"time":{"created":"2023-05-09T14:04:07.383Z","modified":"2026-06-19T19:26:29.565Z","0.1.0":"2023-05-09T14:04:07.711Z","0.1.2":"2023-05-10T19:24:41.229Z","0.2.0":"2023-09-27T22:19:16.432Z","0.3.0":"2024-01-23T21:13:56.520Z","0.3.1":"2024-01-25T01:03:14.731Z","0.3.2":"2024-02-26T21:24:19.528Z","0.3.4":"2024-08-16T19:05:41.097Z","0.4.0":"2025-04-18T19:44:27.731Z"},"bugs":{"url":"https://github.com/awslabs/harmonix-backend/issues"},"author":{"url":"https://aws.amazon.com","name":"Amazon Web Services"},"license":"Apache-2.0","homepage":"https://github.com/awslabs/harmonix#readme","repository":{"url":"git+https://github.com/awslabs/harmonix.git","type":"git","directory":"backstage-plugins/plugins/harmonix-backend"},"description":"<!--  Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. SPDX-License-Identifier: Apache-2.0  --> # Harmonix on AWS Backend","maintainers":[{"email":"jimmcvea@amazon.com","name":"awsjim"},{"email":"bstzahi@gmail.com","name":"z-sourcecode"}],"readme":"<!-- \nCopyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\nSPDX-License-Identifier: Apache-2.0 \n-->\n# Harmonix on AWS Backend\n\nThis is the backend part of the Harmonix on AWS plugin.  Its key responsibilities:\n\n1. **Catalog contributions** - the plugin provides the AWSEnvironment and AWSEnvironmentProvider entity Kinds, including processing and validation of the entities.\n2. **Authentication / Authorization** - the plugin assumes defined roles with permisisons for provisioning infrastructure resources for a target environment account.\n3. **Audit** - the plugin provides services to record requested actions, user id and IAM role, timestamps, success/failure results, and additional information for the purpose of capturing audit-level information about the actions performed by the AWS Apps Backstage plugin against AWS.\n4. **Proxying AWS requests** - the plugin provides API endpoints for specific AWS service actions.  It receives requests on these endpoints, validates the request, and proxies the request and response between Backstage and a specified AWS account and region.\n\n## Installation\n\n```sh\n# From your Backstage root directory\nyarn add --cwd packages/backend @aws/plugin-aws-apps-backend-for-backstage@0.2.0\n```\n\n## Configuration\n\nSetup for the AWS Apps backend requires a router for Backstage, making the catalog aware of the new entity kinds.\n\n### Configure a router\n\nCreate a `awsApps.ts` file in the `packages/backend/src/plugins/`directory.  This file creates a router for the Harmonix on AWS backend.\n\n```ts\n// packages/backend/src/plugins/awsApps.ts\n\nimport {createRouter} from '@aws/plugin-aws-apps-backend-for-backstage'\nimport { Router } from 'express';\nimport { PluginEnvironment } from '../types';\nimport {DefaultIdentityClient } from '@backstage/plugin-auth-node';\n\nexport default async function createPlugin({\n  logger,\n  discovery,\n  config,\n  permissions,\n}: PluginEnvironment): Promise<Router> {\n  return await createRouter({\n    logger: logger,\n    userIdentity: DefaultIdentityClient.create({\n      discovery,\n      issuer: await discovery.getExternalBaseUrl('auth'),\n    }),\n    config,\n    permissions,\n  });\n}\n```\n\nYou can now add the router to Backstage in the `packages/backend/src/plugins/index.ts` file\n\n```diff\n...\n+ import awsApps from './plugins/awsApps'\n\n...\n// add the environment and router\n  const catalogEnv = useHotMemoize(module, () => createEnv('catalog'));\n  const scaffolderEnv = useHotMemoize(module, () => createEnv('scaffolder'));\n  const authEnv = useHotMemoize(module, () => createEnv('auth'));\n  const proxyEnv = useHotMemoize(module, () => createEnv('proxy'));\n  const techdocsEnv = useHotMemoize(module, () => createEnv('techdocs'));\n  const searchEnv = useHotMemoize(module, () => createEnv('search'));\n  const appEnv = useHotMemoize(module, () => createEnv('app'));\n+  const awsAppsEnv = useHotMemoize(module, () => createEnv('aws-apps-backend'));\n\n  const apiRouter = Router();\n  apiRouter.use('/catalog', await catalog(catalogEnv));\n  apiRouter.use('/scaffolder', await scaffolder(scaffolderEnv));\n  apiRouter.use('/auth', await auth(authEnv));\n  apiRouter.use('/techdocs', await techdocs(techdocsEnv));\n  apiRouter.use('/proxy', await proxy(proxyEnv));\n  apiRouter.use('/search', await search(searchEnv));\n+ apiRouter.use('/aws-apps-backend', await awsApps(awsAppsEnv));\n\n...\n```\n\n### Configure the catalog\n\nAdd to the Backstage catalog so that it's aware of the processors for the AWSEnvironment and AWSEnvironmentProvider entity kinds.\n\n```diff\n// packages/backend/src/plugins/catalog.ts\n\nimport { CatalogBuilder } from '@backstage/plugin-catalog-backend';\nimport { ScaffolderEntitiesProcessor } from '@backstage/plugin-catalog-backend-module-scaffolder-entity-model';\nimport { Router } from 'express';\nimport { PluginEnvironment } from '../types';\n+ import { AWSEnvironmentEntitiesProcessor, AWSEnvironmentProviderEntitiesProcessor} from '@aws/plugin-aws-apps-backend-for-backstage';\n\nexport default async function createPlugin(\n  env: PluginEnvironment,\n): Promise<Router> {\n  const builder = await CatalogBuilder.create(env);\n  \n  builder.addProcessor(new ScaffolderEntitiesProcessor());\n\n+ // Custom processors\n+ builder.addProcessor(new AWSEnvironmentEntitiesProcessor());\n+ builder.addProcessor(new AWSEnvironmentProviderEntitiesProcessor());\n\n  const { processingEngine, router } = await builder.build();\n\n  await processingEngine.start();\n\n  return router;\n```\n\n### Permission Framework Policy\n\nThe Harmonix on AWS backend plugin leverages the [Backstage permissions framework](https://backstage.io/docs/permissions/overview) to contribute a permission decision for access to audit entries.  If you would like to implement a policy for your Backstage instance to control access to audit entries you will start with the [Permission framework getting started documentation](https://backstage.io/docs/permissions/getting-started) to set up the base framework.  \nWith the framework in place, you can leverage the `readOpaAppAuditPermission` permission in your policy definition to restrict access to audit entries.\n\n```ts\n// Example of policy decision in a policy\n\nimport { readOpaAppAuditPermission } from '@aws/plugin-aws-apps-common-for-backstage';\n...\n\nexport class permissionPolicy implements PermissionPolicy {\n  async handle(\n    request: PolicyQuery,\n    user?: BackstageIdentityResponse\n  ): Promise<PolicyDecision> {\n    ...\n    // restrict access to audit entries if the user is only a member of the Villians group\n    const VILLIANS_GROUP = stringifyEntityRef({ kind: 'Group', namespace: DEFAULT_NAMESPACE, name: \"villians\" });\n    const ownershipGroups = user?.identity.ownershipEntityRefs || [];\n    if (\n      isPermission(request.permission, readOpaAppAuditPermission) && \n      ownershipGroups.length === 1 && \n      ownershipGroups.includes(VILLIANS_GROUP)\n    ) {\n      return { result: AuthorizationResult.DENY };\n    }\n\n    ...\n  }\n}\n\n```\n\nAdditional permission decisions and resources are planned for future releases.","readmeFilename":"README.md"}