aws-iam-policy-tool
Version:
AWS IAM role/policy management cli tool
89 lines (88 loc) • 2.69 kB
JavaScript
;
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;