{"_id":"@aligent/serverless-access-roles-generator","_rev":"7-427ed67120607ca2532e17de6f6d1c35","name":"@aligent/serverless-access-roles-generator","dist-tags":{"latest":"0.0.1"},"versions":{"0.0.1":{"name":"@aligent/serverless-access-roles-generator","version":"0.0.1","author":{"name":"Aligent Consulting"},"license":"MIT","_id":"@aligent/serverless-access-roles-generator@0.0.1","maintainers":[{"name":"torbjorn.vanheeswijck","email":"torbjorn.vanheeswijck@aligent.com.au"},{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},{"name":"aligent-danielvanderploeg","email":"daniel.vanderploeg@aligent.com.au"},{"name":"luke-denton-aligent","email":"luke.denton@aligent.com.au"},{"name":"jarrod.swift","email":"jarrod.swift@aligent.com.au"}],"dist":{"shasum":"dba60e42703bc2d002e4804899fd97ab2433e063","tarball":"https://registry.npmjs.org/@aligent/serverless-access-roles-generator/-/serverless-access-roles-generator-0.0.1.tgz","fileCount":6,"integrity":"sha512-yqHxs2/chAPKteLJuMY4IaYEC6PVMGAVXmOa8JOqq4yd+m0L3rgEnLmxIzZBX7D8NYeKtPzdra8aVesEh25Bjg==","signatures":[{"sig":"MEUCIQCjvRmQ74+5GsK951jbGQ/hrpoKxTMGikmhQ87nzFaVcQIgMnPwRjQ2PDJH6k3CelZ+9NVIejm3oS9HBTGeQeRAwjU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":51888},"main":"dist/index.js","types":"dist/index.d.ts","engines":{"npm":">=9.0.0","node":"^18.16.0"},"gitHead":"7648a3140d3a74d7058d1b3d1f85e89ba5a2b05c","scripts":{"dev":"node ./esbuild.mjs","test":"echo \"Error: no test specified\" && exit 1","build":"tsc -p tsconfig.lib.json","prepublish":"tsc -p tsconfig.lib.json"},"_npmUser":{"name":"aligent-bot","email":"devops+npm@aligent.com.au"},"_npmVersion":"9.8.1","description":"A Serverless framework plugin for creating roles to access resources in AWS","directories":{},"_nodeVersion":"18.18.2","_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.50.0","vitest":"0.34.6","ts-node":"^10.9.1","prettier":"3.0.2","typescript":"^5.2.2","@types/node":"^18.16.19","@tsconfig/node18":"^18.2.0","@types/serverless":"^3.12.17","@tsconfig/strictest":"^2.0.1","eslint-config-prettier":"^9.0.0","@typescript-eslint/parser":"^6.7.3","@vitest/coverage-istanbul":"^0.34.5","@typescript-eslint/eslint-plugin":"^6.7.3"},"peerDependencies":{"serverless":"3.x"},"_npmOperationalInternal":{"tmp":"tmp/serverless-access-roles-generator_0.0.1_1700794801405_0.2889423376133402","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-11-24T03:00:01.186Z","modified":"2026-05-22T06:21:23.569Z","0.0.1":"2023-11-24T03:00:01.654Z"},"author":{"name":"Aligent Consulting"},"license":"MIT","description":"A Serverless framework plugin for creating roles to access resources in AWS","maintainers":[{"email":"jarrod.swift@aligent.com.au","name":"jarrod.swift"},{"email":"devops+npm@aligent.com.au","name":"aligent-bot"},{"email":"tom.thorogood@aligent.com.au","name":"tom.thorogood"}],"readme":"# Serverless Access Roles Generator\n\nA [Serverless framework](https://www.serverless.com) plugin for:\n\n- Generate access roles for exported services (generated by [serverless-export-resources](https://github.com/aligent/serverless-export-resources) plugin).\n- Collect and export the result to a specific file.\n\n## Serverless configuration\n\nThe plugin is configured within the `serverless.yaml` by providing configuration values as the example below\n\n```yaml\ncustom:\n  accessRolesGenerator:\n    principalAccountId: principal_aws_account_id\n    principalRoleName: principal_role_name\n    externalId: ${self:service}-${self:provider.stage}\n```\n\n### Variables\n\n| Variable           | Usage                                                                                                                                                  |\n| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| principalAccountId | Principal Account Id that is used to generate access role.                                                                                             |\n| principalRoleName  | Principal Role Name that is used to generate access role.                                                                                              |\n| externalId         | A string to identify the app. Can be a random string.                                                                                                  |\n| exportPrefix       | A string to filter the exported services. Default to `aser`. If provided, make sure it match the configuration in `serverless-export-resources` plugin |\n| outDir             | Destination folder for exporting services' arn, description, and role. Default to `dist/data`                                                          |\n| outFilename        | Name of the file that services will be exported to. Default to `service-outputs.json`                                                                  |\n\n## References:\n\n- For more information about principal account & role name, check this [AWS document](https://aws.amazon.com/blogs/security/how-to-use-trust-policies-with-iam-roles/)\n- More information about `externalId`, check this [AWS document](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html)\n","readmeFilename":"README.md"}