Transform: AWS::Serverless-2016-10-31 Resources: ResourceFunction: Type: AWS::Serverless::Function Properties: Runtime: python3.6 CodeUri: lambda Handler: resource.handler Policies: CloudWatchFullAccess MacroFunction: Type: AWS::Serverless::Function Properties: Runtime: python3.6 CodeUri: lambda Handler: index.handler Macro: Type: AWS::CloudFormation::Macro Properties: Name: StackMetrics FunctionName: !GetAtt MacroFunction.Arn Dashboard: Type: AWS::CloudWatch::Dashboard Properties: DashboardName: CloudFormation-Stacks DashboardBody: | { "widgets": [ { "type": "metric", "x": 0, "y": 0, "width": 12, "height": 12, "properties": { "view": "timeSeries", "stacked": false, "metrics": [ [ "CloudFormation", "ResourceCount" ] ], "region": "eu-west-1", "title": "Resources created", "period": 300, "stat": "Sum" } }, { "type": "metric", "x": 12, "y": 0, "width": 12, "height": 12, "properties": { "view": "timeSeries", "stacked": true, "title": "Stack operations", "metrics": [ [ "CloudFormation", "Create" ], [ ".", "Delete" ], [ ".", "Update" ] ], "region": "eu-west-1", "period": 300, "stat": "Sum" } } ] } Outputs: ResourceFunction: Value: !GetAtt ResourceFunction.Arn Export: Name: StackMetricsMacroFunction