Socket
Socket
Sign inDemoInstall

serverless-plugin-cloudwatch

Package Overview
Dependencies
Maintainers
1
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

serverless-plugin-cloudwatch - npm Package Compare versions

Comparing version 0.1.1 to 0.1.2

2

package.json
{
"name": "serverless-plugin-cloudwatch",
"version": "0.1.1",
"version": "0.1.2",
"description": "Generate CloudWatch Dashboard including widgets with configured metrics",

@@ -5,0 +5,0 @@ "main": "src/DashboardPlugin.js",

@@ -22,9 +22,10 @@ 'use strict'

constructor(serverless, options) {
this.logger = msg => serverless.cli.log('[serverless-plugin-cloudwatch]: ' + msg)
this.logger = msg => serverless.cli.log('[serverless-plugin-cloudwatch]: ' + msg);
// Serverless service: whole serverless.yml
this.service = serverless.service
this.service = serverless.service;
this.options = options;
// for ex, eu-central-1
this.region = this.service.provider.region
this.region = this.service.provider.region;
this.stage = this.service.provider.stage
this.stage = this.getDeploymentStage();

@@ -46,11 +47,11 @@ this.hooks = {

addDashboard() {
const dashboard = this.createDashboard()
const dashboard = this.createDashboard();
if (!ObjectUtil.isEmpty(dashboard)) {
const resourceName = 'ProjectOverviewDashboard'
var dashboardResource = {}
const resourceName = 'ProjectOverviewDashboard';
var dashboardResource = {};
dashboardResource[resourceName] = dashboard;
const template = this.service.provider.compiledCloudFormationTemplate
template.Resources = Object.assign(dashboardResource, template.Resources)
this.service.provider.compiledCloudFormationTemplate = template
const template = this.service.provider.compiledCloudFormationTemplate;
template.Resources = Object.assign(dashboardResource, template.Resources);
this.service.provider.compiledCloudFormationTemplate = template;
}

@@ -65,21 +66,21 @@ }

// get dashboard config from serverless.yml
const dashboardConfig = this.getDashboardConfig()
const dynamoDBConfig = dashboardConfig.dynamoDB || {}
const lambdaConfig = dashboardConfig.lambda || {}
const s3Config = dashboardConfig.s3 || {}
const apiGatewayConfig = dashboardConfig.apiGateway || {}
const dashboardConfig = this.getDashboardConfig();
const dynamoDBConfig = dashboardConfig.dynamoDB || {};
const lambdaConfig = dashboardConfig.lambda || {};
const s3Config = dashboardConfig.s3 || {};
const apiGatewayConfig = dashboardConfig.apiGateway || {};
// get Resources (S3 AND DynamoDB)
const serverlessResources = this.service.resources || {}
const cfResources = serverlessResources.Resources || {}
const serverlessResources = this.service.resources || {};
const cfResources = serverlessResources.Resources || {};
// get Lamda functions
const functions = this.service.functions || {}
const functions = this.service.functions || {};
// create new dashboard (only one for the current stage)
const widgetFactory = new WidgetFactory(this.logger, this.region, dynamoDBConfig, lambdaConfig, s3Config, apiGatewayConfig, cfResources, functions)
const dashboardWidgets = widgetFactory.createWidgets()
const widgetFactory = new WidgetFactory(this.logger, this.region, dynamoDBConfig, lambdaConfig, s3Config, apiGatewayConfig, cfResources, functions);
const dashboardWidgets = widgetFactory.createWidgets();
if (ArrayUtil.notEmpty(dashboardWidgets)) {
const dashboardName = this.service.service + '-' + this.stage
const dashboard = new Dashboard(dashboardName, dashboardWidgets)
const dashboardName = this.service.service + '-' + this.stage;
const dashboard = new Dashboard(dashboardName, dashboardWidgets);
return dashboard.create();

@@ -95,7 +96,16 @@ }

getDashboardConfig() {
const customConfig = this.service.custom || {}
return customConfig.dashboard || {}
const customConfig = this.service.custom || {};
return customConfig.dashboard || {};
}
/**
* Get the stage properly resolved
* See https://github.com/serverless/serverless/issues/2631
*
* @return {string} - Stage option
* */
getDeploymentStage() {
return this.options.stage || 'dev'
}
}
module.exports = DashboardPlugin
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc