Skip to main content
Skip to main content

Output Samples

Explore different output formats available in CDK Insights. See how analysis results are presented in table, JSON, markdown, and summary formats to choose the best option for your workflow.

Available Output Formats

Table

Human-readable tabular format for terminal display

Best for:

Interactive analysis and quick reviews

npx cdk-insights scan --output-format table

Features:

  • Color-coded severity levels
  • Grouped by service type
  • Easy to scan visually
  • Terminal-friendly formatting

JSON

Structured data format for programmatic processing

Best for:

CI/CD integration and automated processing

npx cdk-insights scan --output-format json

Features:

  • Machine-readable format
  • Complete analysis data
  • Easy to parse programmatically
  • Suitable for API integration

Markdown

Documentation-friendly format for reports

Best for:

Documentation and sharing with teams

npx cdk-insights scan --output-format markdown

Features:

  • GitHub-compatible formatting
  • Rich text formatting
  • Easy to include in documentation
  • Professional report appearance

Summary

High-level overview with key metrics

Best for:

Executive summaries and quick status checks

npx cdk-insights scan --output-format summary

Features:

  • Concise overview
  • Key statistics only
  • Perfect for dashboards
  • Quick decision making

Table Format Example

πŸ“Š Overall Analysis Summary

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Resource         β”‚ Severity β”‚ Service     β”‚ Issue                                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ ApiRole          β”‚ πŸ”΄ CRIT  β”‚ IAM Role    β”‚ IAM policy allows full access            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ DataBucket       β”‚ πŸ”΄ CRIT  β”‚ S3 Bucket   β”‚ Bucket allows public read access         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ DataBucket       β”‚ πŸ”Ά HIGH  β”‚ S3 Bucket   β”‚ Bucket lacks encryption                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ ProcessorFn      β”‚ πŸ”Ά HIGH  β”‚ Lambda      β”‚ Function missing dead letter queue       β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ DataBucket       β”‚ 🟑 MED   β”‚ S3 Bucket   β”‚ Versioning not enabled                   β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ WebDistribution  β”‚ 🟑 MED   β”‚ CloudFront  β”‚ Missing security headers                 β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ DataBucket       β”‚ 🟒 LOW   β”‚ S3 Bucket   β”‚ Not using Intelligent-Tiering            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ ProcessorFn      β”‚ 🟒 LOW   β”‚ Lambda      β”‚ Missing environment variables            β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Stack: WebappStack  |  Total Issues: 8  |  Resources Scanned: 45

Table format provides a clean, scannable view of all findings with color-coded severity levels and grouped information.

JSON Format Example

{
  "stackName": "SampleWebappStack",
  "generatedAt": "2024-01-15T14:30:22.000Z",
  "version": "1.0.0",
  "summary": {
    "totalResources": 45,
    "resourcesWithIssues": 4,
    "percentWithIssues": 8.9,
    "totalIssues": 8,
    "severityCounts": {
      "CRITICAL": 2,
      "HIGH": 2,
      "MEDIUM": 2,
      "LOW": 2
    },
    "wafIssues": {
      "Operational Excellence": 2,
      "Security": 4,
      "Cost Optimization": 2,
      "Reliability": 0,
      "Performance Efficiency": 0,
      "Sustainability": 0
    },
    "generatedBy": "cdk-insights",
    "generatedAt": "2024-01-15T14:30:22.000Z"
  },
  "recommendations": [
    {
      "resourceId": "LambdaExecutionRole41A4AD76",
      "cdkName": "LambdaExecutionRole41A4AD76",
      "cdkPath": "SampleWebappStack/LambdaExecutionRole41A4AD76",
      "issues": [
        {
          "issue": "IAM policy allows full access to all resources.",
          "recommendation": "Restrict IAM policies to least privilege access.",
          "severity": "CRITICAL",
          "wafPillar": "Security",
          "foundBy": "cdkInsights"
        }
      ]
    },
    {
      "resourceId": "WebsiteBucketF68F3FF0",
      "cdkName": "WebsiteBucketF68F3FF0",
      "cdkPath": "SampleWebappStack/WebsiteBucketF68F3FF0",
      "issues": [
        {
          "issue": "S3 Bucket lacks encryption.",
          "recommendation": "Enable encryption at rest for better security.",
          "severity": "HIGH",
          "wafPillar": "Security",
          "foundBy": "cdkInsights"
        },
        {
          "issue": "S3 Bucket has no versioning enabled.",
          "recommendation": "Enable versioning to protect against accidental deletions.",
          "severity": "MEDIUM",
          "wafPillar": "Operational Excellence",
          "foundBy": "cdkInsights"
        },
        {
          "issue": "S3 Bucket does not use Intelligent-Tiering. Consider enabling it for cost optimization.",
          "recommendation": "Enable Intelligent-Tiering for automatic cost optimization of infrequently accessed objects.",
          "severity": "LOW",
          "wafPillar": "Cost Optimization",
          "foundBy": "cdkInsights"
        }
      ]
    },
    {
      "resourceId": "DataProcessorFunctionABC123",
      "cdkName": "DataProcessorFunctionABC123",
      "cdkPath": "SampleWebappStack/DataProcessorFunctionABC123",
      "issues": [
        {
          "issue": "Lambda function missing dead letter queue.",
          "recommendation": "Configure a dead letter queue to capture failed invocations.",
          "severity": "HIGH",
          "wafPillar": "Reliability",
          "foundBy": "cdkInsights"
        }
      ]
    }
  ]
}

JSON format includes complete analysis metadata, detailed findings, and structured data perfect for programmatic processing.

Markdown Format Example

# SampleWebappStack
_Generated by cdk-insights v1.0.0 on 2024-01-15T14:30:22.000Z_

CDK Insights has found **8 issues** in **45 resources** scanned.

## Table of Contents
- [WebsiteBucketF68F3FF0](#samplewebappstackwebsitebucketf68f3ff0)
- [LambdaExecutionRole41A4AD76](#samplewebappstacklambdaexecutionrole41a4ad76)
- [DataProcessorFunction](#samplewebappstackdataprocessorfunction)
- [DistributionCFDistribution](#samplewebappstackdistributioncfdistribution)

---

**Executive Summary:**
We discovered **8 total issues** across **45 resources** (8.9% with issues).

**Top Priorities:**
πŸ”΄ 2 Critical severity issues
🟠 2 High severity issues

| Metric                      | Count |
| --------------------------- | :---: |
| Resources scanned           | 45    |
| Resources with issues       | 4     |
| Total issues found          | 8     |
| % of resources with issues  | 8.9%  |

### WAF Pillar Impact
- **Operational Excellence**: 2
- **Security**: 4
- **Cost Optimization**: 2
- **Reliability**: 0
- **Performance Efficiency**: 0
- **Sustainability**: 0


### Next Steps
1. Triage πŸ”΄ critical issues first
2. Fix 🟠 high‐impact items next
3. Schedule 🟑 medium‐priority tasks
4. Plan 🟒 low‐priority enhancements

---

<h2 id="samplewebappstackwebsitebucketf68f3ff0">Resource: WebsiteBucketF68F3FF0</h2>


**CDK Insights Issues:**

### 🟠🟠🟠 HIGH Severity Issue 🟠🟠🟠

- **Issue:** S3 Bucket lacks encryption.
- **Recommendation:** Enable encryption at rest for better security.
- **πŸ“ Source Location:** `lib/webapp-stack.ts:45:12`
- **Source Path:** `SampleWebappStack/WebsiteBucketF68F3FF0`
- **WAF Pillar:** [Security](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/)

### 🟑🟑🟑 MEDIUM Severity Issue 🟑🟑🟑

- **Issue:** S3 Bucket has no versioning enabled.
- **Recommendation:** Enable versioning to protect against accidental deletions.
- **πŸ“ Source Location:** `lib/webapp-stack.ts:45:12`
- **Source Path:** `SampleWebappStack/WebsiteBucketF68F3FF0`
- **WAF Pillar:** [Operational Excellence](https://docs.aws.amazon.com/wellarchitected/latest/operational-excellence-pillar/)

**CDK Nag Issues:**

- _(no CDK Nag issues)_

---

<h2 id="samplewebappstacklambdaexecutionrole41a4ad76">Resource: LambdaExecutionRole41A4AD76</h2>


**CDK Insights Issues:**

### πŸ”΄πŸ”΄πŸ”΄ CRITICAL Severity Issue πŸ”΄πŸ”΄πŸ”΄

- **Issue:** IAM policy allows full access to all resources.
- **Recommendation:** Restrict IAM policies to least privilege access.
- **πŸ“ Source Location:** `lib/webapp-stack.ts:26:5`
- **Source Path:** `SampleWebappStack/LambdaExecutionRole41A4AD76`
- **WAF Pillar:** [Security](https://docs.aws.amazon.com/wellarchitected/latest/security-pillar/)

**CDK Nag Issues:**

- _(no CDK Nag issues)_

Markdown format creates professional reports suitable for documentation, GitHub issues, and team sharing.

Summary Format Example

πŸ“Š Overall Analysis Summary

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Resource         β”‚ Severity β”‚ Service     β”‚ Issue                                    β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ ApiRole          β”‚ πŸ”΄ CRIT  β”‚ IAM Role    β”‚ IAM policy allows full access            β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ DataBucket       β”‚ πŸ”΄ CRIT  β”‚ S3 Bucket   β”‚ Bucket allows public read access         β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ DataBucket       β”‚ πŸ”Ά HIGH  β”‚ S3 Bucket   β”‚ Bucket lacks encryption                  β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ ProcessorFn      β”‚ πŸ”Ά HIGH  β”‚ Lambda      β”‚ Function missing dead letter queue       β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Stack: WebappStack  |  Total Issues: 8  |  Resources Scanned: 45

Summary format provides a concise overview perfect for dashboards, executive reports, and quick status checks.

Choosing the Right Format

Interactive Development

  • Use Table format for quick scans
  • Use Summary for dashboard overviews

Automation & Integration

  • Use JSON for CI/CD pipelines
  • Use Markdown for documentation

Ready to Generate Your Own Reports?

Try different output formats with your own CDK projects to find the best format for your workflow.