UNPKG

aws-iam-policy-tool

Version:
89 lines (88 loc) 2.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const iam_1 = require("./iam"); async function createRole(params) { const data = await iam_1.iam.createRole(params).promise(); return data.Role; } exports.createRole = createRole; async function getAttachedPoliciesByRole(roleName) { const params = { RoleName: roleName, MaxItems: 200, }; const data = await iam_1.iam.listAttachedRolePolicies(params).promise(); return data.AttachedPolicies; } exports.getAttachedPoliciesByRole = getAttachedPoliciesByRole; async function getRole(roleName) { try { const params = { RoleName: roleName }; const data = await iam_1.iam.getRole(params).promise(); return data.Role; } catch (err) { if (err.code === 'NoSuchEntity') return null; throw err; } } exports.getRole = getRole; async function getInstanceProfile(roleName) { try { const params = { InstanceProfileName: roleName }; const data = await iam_1.iam.getInstanceProfile(params).promise(); return data.InstanceProfile; } catch (err) { if (err.code === 'NoSuchEntity') return null; throw err; } } exports.getInstanceProfile = getInstanceProfile; async function listPolicyVersions(arn) { const params = { PolicyArn: arn, MaxItems: 10, }; const data = await iam_1.iam.listPolicyVersions(params).promise(); return data.Versions || []; } exports.listPolicyVersions = listPolicyVersions; async function getPolicy(arn) { const params = { PolicyArn: arn }; const data = await iam_1.iam.getPolicy(params).promise(); return data.Policy; } exports.getPolicy = getPolicy; async function getPolicyVersion(arn, verionId) { const params = { PolicyArn: arn, VersionId: verionId, }; const data = await iam_1.iam.getPolicyVersion(params).promise(); return data.PolicyVersion; } exports.getPolicyVersion = getPolicyVersion; async function createPolicy(params) { return iam_1.iam.createPolicy(params).promise(); } exports.createPolicy = createPolicy; async function createPolicyDefaultVersion(arn, doc) { const params = { PolicyArn: arn, PolicyDocument: doc, SetAsDefault: true, }; return iam_1.iam.createPolicyVersion(params).promise(); } exports.createPolicyDefaultVersion = createPolicyDefaultVersion; async function deletePolicyVersion(arn, versionId) { const params = { PolicyArn: arn, VersionId: versionId, }; return iam_1.iam.deletePolicyVersion(params).promise(); } exports.deletePolicyVersion = deletePolicyVersion;