CloudBurn Logo
CloudBurnHome
  • Cost estimation

    • AWS Simple Pricing CalculatorEstimate your AWS stack
    • IaC Cost EstimatorReview costs before merge

    Cost analysis

    • AWS Cost TreeSee where your spend went

    Cost Optimization

    • Unused resourcesFind resources to remove
    • Resource efficiencyImprove what you keep
    • Commitment savingsReview plans and reservations
    • Cost GovernanceBudgets, alerts, and tags

    Product

    • RoadmapWhat's coming next
    • ChangelogProduct updates
    • DocsGuides and reference
    • AboutWhy CloudBurn exists
  • Pricing
  • Blog
  • Tools
Join the CloudBurn Discord community
Join the waitlistWaitlist
Join the CloudBurn Discord community1.8k
Navigation
    • Overview
    • Installation
    • Configuration
    • GitHub Action
    • MCP Plugin
    • VS Code Extension
      • Scan IaC Files
      • Discover AWS
      • scan
      • discover
      • config
      • rules list
      • completion
      • estimate
      • Exit Codes
      • Output Formats
      • CI/CD Integration
      • Resource Explorer Setup
    • Overview
    • Connect an AWS Account
    • Set Up PR Cost Estimation
    • Plans and Billing
    • Workspaces and Members
    • AWS Cost Tree
      • Usage Assumptions
      • Examples
      • Unused Resources
      • Resource Efficiency
      • Commitment Savings
      • Cost Governance
    • Overview
    • Understanding Rules
      • CloudFront
      • CloudTrail
      • CloudWatch
      • AWS Config
      • Cost Explorer
      • Cost Guardrails
      • Cost Optimization Hub
      • DynamoDB
      • EBS
      • EC2
      • ECR
      • ECS
      • EKS
      • ElastiCache
      • ELB
      • EMR
      • KMS
      • Lambda
      • RDS
      • Redshift
      • Route 53
      • S3
      • SageMaker
      • Secrets Manager
      • Tagging
    • Overview
    • Installation
      • Static IaC Scan
      • Discovery Scan
      • CloudBurnClient
      • Types
      • Package Exports
      • Custom Config
      • AWS Credentials
    • Overview
    • Installation
    • Configuration
    • GitHub Action
    • MCP Plugin
    • VS Code Extension
      • Scan IaC Files
      • Discover AWS
      • scan
      • discover
      • config
      • rules list
      • completion
      • estimate
      • Exit Codes
      • Output Formats
      • CI/CD Integration
      • Resource Explorer Setup
    • Overview
    • Connect an AWS Account
    • Set Up PR Cost Estimation
    • Plans and Billing
    • Workspaces and Members
    • AWS Cost Tree
      • Usage Assumptions
      • Examples
      • Unused Resources
      • Resource Efficiency
      • Commitment Savings
      • Cost Governance
    • Overview
    • Understanding Rules
      • CloudFront
      • CloudTrail
      • CloudWatch
      • AWS Config
      • Cost Explorer
      • Cost Guardrails
      • Cost Optimization Hub
      • DynamoDB
      • EBS
      • EC2
      • ECR
      • ECS
      • EKS
      • ElastiCache
      • ELB
      • EMR
      • KMS
      • Lambda
      • RDS
      • Redshift
      • Route 53
      • S3
      • SageMaker
      • Secrets Manager
      • Tagging
    • Overview
    • Installation
      • Static IaC Scan
      • Discovery Scan
      • CloudBurnClient
      • Types
      • Package Exports
      • Custom Config
      • AWS Credentials
Loading documentation page
CloudBurn Logo
CloudBurn

Open-source AWS cost checks and an upcoming platform for cost estimation, optimization, and governance.

1.8k

Product

  • Pricing
  • Roadmap
  • Changelog
  • About
  • Blog
  • Waitlist
  • Docs
  • Contact

Free Tools

  • EC2 Pricing Calculator
  • S3 Pricing Calculator
  • Bedrock Pricing Calculator
  • Fargate Pricing Calculator
  • RDS Pricing Calculator
  • ECS Pricing Calculator
  • Aurora Pricing Calculator
  • All AWS pricing calculators →

CloudBurn Platform · early 2027

Price changes before you deploy. Fix the waste after.

Join now for 30% off, for as long as you keep your plan.

Join the waitlist

Two emails a month at most. Unsubscribe anytime. By signing up you agree to the privacy policy.

CloudBurn © 2026 | Terms & Privacy

Built with ❤️ by Towards the Cloud

  • Pricing
  • Blog
  • Tools
      • Overview
      • Installation
      • Configuration
      • GitHub Action
      • MCP Plugin
      • VS Code Extension
        • Exit Codes
        • Output Formats
        • CI/CD Integration
        • Resource Explorer Setup
      • Overview
      • Installation
      • Configuration
      • GitHub Action
      • MCP Plugin
      • VS Code Extension
        • Exit Codes
        • Output Formats
        • CI/CD Integration
        • Resource Explorer Setup
    CloudBurn CLI

    Exit Codes

    Understand CloudBurn CLI exit codes for successful scans, policy findings, invalid input, and AWS errors. Use them in CI pipelines and shell quality gates.

    CloudBurn uses consistent exit codes so you can integrate its output into CI/CD pipelines, shell scripts, and quality gates.

    Exit codes

    CodeConstantMeaning
    0EXIT_CODE_OKScan completed successfully with no active findings, or no policy gate was passed
    1EXIT_CODE_POLICY_VIOLATIONAn active finding satisfies --exit-code or --fail-on (or its iac.fail-on / discovery.fail-on config equivalent)
    2EXIT_CODE_RUNTIME_ERRORRuntime error or usage error — credentials missing, path not found, config invalid, discovery deadline expired, unknown option, invalid option argument, etc.

    Suppressed findings (from inline cloudburn-ignore comments) never trigger EXIT_CODE_POLICY_VIOLATION, even when --exit-code or --fail-on is set. See Suppressing findings inline.

    When to use --exit-code

    By default, CloudBurn exits 0 even when it finds issues. This lets you use CloudBurn for informational scans without breaking your build.

    Pass --exit-code when you want CloudBurn to act as a quality gate — for example, to block a pull request if cost issues are found:

    cloudburn scan --exit-code
    cloudburn discover --exit-code
    

    Gating on severity with --fail-on

    --exit-code fails on any active finding. Use --fail-on high|medium|low instead when you only want CI to fail above a specific severity — for example, to report low-severity findings without blocking the pipeline:

    cloudburn scan --fail-on high
    cloudburn discover --fail-on high
    

    --fail-on takes priority over --exit-code when both are passed. The same threshold can be set as iac.fail-on or discovery.fail-on in .cloudburn.yml — see Configuration.

    CI example

    - name: Run CloudBurn scan
      run: cloudburn scan --exit-code
    

    This step fails the CI job if any findings are returned. To allow the pipeline to continue and just report findings, omit --exit-code.

    Error output format

    Runtime errors caught by scan, discover, and config write a JSON error object to stderr and exit with code 2:

    {
      "error": {
        "code": "RUNTIME_ERROR",
        "message": "Config file not found: /path/to/.cloudburn.yml"
      }
    }
    

    code is one of:

    CodeMeaning
    CREDENTIALS_ERRORAWS credentials are missing or expired
    ACCESS_DENIEDThe identity lacks a permission the scan needs
    PATH_NOT_FOUNDA scan path does not exist (a missing --config file is a RUNTIME_ERROR)
    RESOURCE_EXPLORER_NOT_ENABLEDResource Explorer has not been set up in the account
    RESOURCE_EXPLORER_REGION_NOT_ENABLEDThe requested region has no Resource Explorer index
    RESOURCE_EXPLORER_AGGREGATOR_REQUIREDThe run needs an aggregator index, and the account has none reachable
    RESOURCE_EXPLORER_DEFAULT_VIEW_REQUIREDThe aggregator region has no default view
    RESOURCE_EXPLORER_FILTERED_VIEW_UNSUPPORTEDThe default view is filtered, so it cannot back a complete scan
    RESOURCE_EXPLORER_TAGS_VIEW_REQUIREDThe view does not include tags, which the tagging rule needs
    RESOURCE_EXPLORER_AGGREGATOR_SWITCH_REQUIRES_DELAYAWS enforces a 24-hour wait before promoting another aggregator
    INVALID_AWS_REGIONThe AWS region resolved during execution is not supported
    INVALID_RESOURCE_EXPLORER_RESOURCE_TYPEA requested resource type is not supported by Resource Explorer
    RUNTIME_ERROROther caught errors, including invalid config and an expired discovery deadline

    Messages are sanitized before they are written: instance metadata hosts, URL credentials, bearer tokens, and signature query parameters are redacted.

    Command-line parsing errors, such as an unknown flag or an invalid --region, --format, or --timeout value, also exit with code 2, but write plain-text error and help output to stderr. Do not assume every exit-code 2 response is JSON.

    Redirect stderr separately if you need to handle errors differently from findings:

    cloudburn --format json scan --exit-code ./iac 2>error.json
    

    What's next

    CI/CD IntegrationFull GitHub Actions and GitLab CI pipeline examples
    Output FormatsUse JSON output for structured error handling
    cloudburn scanAll scan flags including --exit-code
    ← PreviousestimateNext →Output Formats

    CloudBurn Platform · early 2027

    Price changes before you deploy. Fix the waste after.

    Join now for 30% off, for as long as you keep your plan.

    Join the waitlist

    Two emails a month at most. Unsubscribe anytime. By signing up you agree to the privacy policy.