iam-floyd
Version:
AWS IAM policy statement generator with fluent interface
33 lines • 2.47 kB
JavaScript
;
// This file is used in the base variant of the package: iam-floyd
Object.defineProperty(exports, "__esModule", { value: true });
exports.PolicyStatementBase = void 0;
/**
* Base class for the Policy Statement
*/
class PolicyStatementBase {
constructor(sid) {
this.sid = '';
/**
* Holds the prefix of the service actions, e.g. `ec2`
*/
this.servicePrefix = '';
if (typeof sid !== 'undefined') {
this.sid = sid;
}
}
/**
* JSON-ify the policy statement
*
* Used when JSON.stringify() is called
*/
toJSON() {
const statement = {};
if (this.sid.length) {
statement.Sid = this.sid;
}
return statement;
}
}
exports.PolicyStatementBase = PolicyStatementBase;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiMS1iYXNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiMS1iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxrRUFBa0U7OztBQUVsRTs7R0FFRztBQUNILE1BQWEsbUJBQW1CO0lBUTlCLFlBQVksR0FBWTtRQVBqQixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBRWhCOztXQUVHO1FBQ0ksa0JBQWEsR0FBRyxFQUFFLENBQUM7UUFHeEIsSUFBSSxPQUFPLEdBQUcsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUMvQixJQUFJLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQztRQUNqQixDQUFDO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFFSSxNQUFNO1FBQ1gsTUFBTSxTQUFTLEdBQVEsRUFBRSxDQUFDO1FBRTFCLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNwQixTQUFTLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7UUFDM0IsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7Q0FDRjtBQTdCRCxrREE2QkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBUaGlzIGZpbGUgaXMgdXNlZCBpbiB0aGUgYmFzZSB2YXJpYW50IG9mIHRoZSBwYWNrYWdlOiBpYW0tZmxveWRcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciB0aGUgUG9saWN5IFN0YXRlbWVudFxuICovXG5leHBvcnQgY2xhc3MgUG9saWN5U3RhdGVtZW50QmFzZSB7XG4gIHB1YmxpYyBzaWQgPSAnJztcblxuICAvKipcbiAgICogSG9sZHMgdGhlIHByZWZpeCBvZiB0aGUgc2VydmljZSBhY3Rpb25zLCBlLmcuIGBlYzJgXG4gICAqL1xuICBwdWJsaWMgc2VydmljZVByZWZpeCA9ICcnO1xuXG4gIGNvbnN0cnVjdG9yKHNpZD86IHN0cmluZykge1xuICAgIGlmICh0eXBlb2Ygc2lkICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgdGhpcy5zaWQgPSBzaWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEpTT04taWZ5IHRoZSBwb2xpY3kgc3RhdGVtZW50XG4gICAqXG4gICAqIFVzZWQgd2hlbiBKU09OLnN0cmluZ2lmeSgpIGlzIGNhbGxlZFxuICAgKi9cblxuICBwdWJsaWMgdG9KU09OKCk6IGFueSB7XG4gICAgY29uc3Qgc3RhdGVtZW50OiBhbnkgPSB7fTtcblxuICAgIGlmICh0aGlzLnNpZC5sZW5ndGgpIHtcbiAgICAgIHN0YXRlbWVudC5TaWQgPSB0aGlzLnNpZDtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGVtZW50O1xuICB9XG59XG4iXX0=