UNPKG

deep-package-manager

Version:
111 lines (89 loc) 2.46 kB
/** * Created by CCristi <ccovali@mitocgroup.com> on 3/23/16. */ 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.CloudWatchEventsService = undefined; var _AbstractService = require('./AbstractService'); var _deepCore = require('deep-core'); var _deepCore2 = _interopRequireDefault(_deepCore); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * Cloud Watch Events Service */ class CloudWatchEventsService extends _AbstractService.AbstractService { /** * @param {Array} args */ constructor(...args) { super(...args); } /** * @returns {String} */ name() { return _deepCore2.default.AWS.Service.CLOUD_WATCH_EVENTS; } /** * @returns {String[]} */ static get AVAILABLE_REGIONS() { return [_deepCore2.default.AWS.Region.ANY]; } /** * @param {Core.Generic.ObjectStorage} services * @returns {CloudWatchEventsService} */ _setup(services) { // @todo: implement! if (this._isUpdate) { this._ready = true; return this; } this._ready = true; return this; } /** * @param {Core.Generic.ObjectStorage} services * @returns {CloudWatchEventsService} */ _postProvision(services) { // @todo: implement! if (this._isUpdate) { this._readyTeardown = true; return this; } this._readyTeardown = true; return this; } /** * @param {Core.Generic.ObjectStorage} services * @returns {CloudWatchEventsService} */ _postDeployProvision(services) { // @todo: implement! if (this._isUpdate) { this._ready = true; return this; } this._ready = true; return this; } /** * @param {Object[]} effects * @allowed: ['enable', 'disable', 'delete', 'describe'] * @returns {Core.AWS.IAM.Statement} */ generateAllowEffectEventsRulesStatement(effects = ['enable', 'disable']) { let policy = new _deepCore2.default.AWS.IAM.Policy(); let statement = policy.statement.add(); effects.forEach(effect => { statement.action.add(_deepCore2.default.AWS.Service.CLOUD_WATCH_EVENTS, `${effect}Rule`); }); statement.resource.add(_deepCore2.default.AWS.Service.CLOUD_WATCH_EVENTS, this.provisioning.cloudWatchEvents.config.region, this.awsAccountId, `rule/${this._getGlobalResourceMask()}`); return statement; } } exports.CloudWatchEventsService = CloudWatchEventsService;