Cloud cost estimates for Terraform in your CLI and pull requests πŸ’°πŸ“‰

Overview

Infracost logo

Community Slack channel Build Status Docker Image Tweet

Getting started

Infracost shows cloud cost estimates for Terraform projects. It helps developers, devops and others to quickly see the cost breakdown and compare different options upfront.

Example Infracost output

Installation

  1. Assuming Terraform is already installed, get the latest Infracost release:

    macOS Homebrew:

    brew install infracost

    Linux/macOS manual:

    os=$(uname | tr '[:upper:]' '[:lower:]') && \
    curl -s -L https://github.com/infracost/infracost/releases/latest/download/infracost-$os-amd64.tar.gz | tar xz -C /tmp && \
    sudo mv /tmp/infracost-$os-amd64 /usr/local/bin/infracost

    Docker and Windows users see here.

  2. Use our free Cloud Pricing API by registering for an API key:

    infracost register

    The key is saved in ~/.config/infracost/credentials.yml. If you prefer, you can run your own Cloud Pricing API.

  3. Run infracost using our example Terraform project to see how it works.

    git clone https://github.com/infracost/example-terraform.git
    cd example-terraform
    
    # You can play with `aws/main.tf` and `aws/infracost-usage.yml`, and re-run infracost to compare costs
    infracost --terraform-dir aws --usage-file aws/infracost-usage.yml

Please watch/star this repo as we add new cloud resources every week or so.

Basic usage

There are 4 usage methods for Infracost depending on your use-case. The following is the default method. Point to the Terraform directory using --terraform-dir and pass any required Terraform flags using --terraform-plan-flags. Internally Infracost runs Terraform init, plan and show; init requires cloud credentials to be set, e.g. via the usual AWS_ACCESS_KEY_ID environment variables. This method works with remote state too.

infracost --terraform-dir /path/to/code --terraform-plan-flags "-var-file=myvars.tfvars"

Read the getting started docs for details, including notes for Terragrunt and Terraform Cloud users.

As mentioned in the FAQ, you can run Infracost in your Terraform directories without worrying about security or privacy issues as no cloud credentials, secrets, tags or Terraform resource identifiers are sent to the open-source Cloud Pricing API. Infracost does not make any changes to your Terraform state or cloud resources.

CI/CD integrations

The following CI/CD integrations can be used to automatically add a comment showing the cost estimate diff between a pull request and the master branch:

If you run into any issues with CI/CD integrations, please join our community Slack channel, we'd be happy to guide you through it.

Example infracost diff usage

Supported clouds and resources

Infracost supports over 70 AWS and Google resources, Azure is planned. The quickest way to find out if your Terraform resources are supported is to run Infracost with the --show-skipped option. This shows the unsupported resources, some of which might be free. Please watch this repo for new releases as we add new cloud resources every week or so.

See this page for details on cost estimation of usage-based resources.

Contributing

Issues and pull requests are welcome! For development details, see the contributing file. For major changes, please open an issue first to discuss what you would like to change.

Join our community Slack channel, we are a friendly bunch and happy to help you get started :)

License

Apache License 2.0

Comments
  • HCL parsing does not work with Terragrunt project that use dependency outputs

    HCL parsing does not work with Terragrunt project that use dependency outputs

    As far as I understand it should be possible to run i.e. infracost breakdown --path=. --terraform-parse-hcl but I get following error:

    infracost breakdown --path=. --terraform-parse-hcl 
    Detected Terragrunt directory (HCL) at .
    
    Error: 5 errors occurred:
            * fork/exec : no such file or directory
            * fork/exec : no such file or directory
            * fork/exec : no such file or directory
            * fork/exec : no such file or directory
            * fork/exec : no such file or directory
    

    Just for your information, I know this is still experimental.

    The .infracost folder is created btw. If you need more information I'm happy to help.

    bug 
    opened by fellnerse 53
  • Error: Failed to parse the Terragrunt code using the Terragrunt library:

    Error: Failed to parse the Terragrunt code using the Terragrunt library:

    Hello and thank you for this great tool. I have been using infracost with my cloud provider credentials and wanted to update to hcl paring for faster analysis. I am having a problem with CIDR blocks.

    Here is the output for terragrunt output on my vpc. image

    Note that I can successfully execute terragrunt plan with the following config. image

    Here is my terragrunt config which causes infracost to throw the following error

    image

    * Recovering panic while parsing '/Users/denizgokcin/codes/fulfillment-api/terragrunt/app/qa/sg/rds/fulfillment/terragrunt.hcl'. Got error of type 'string': unknown type implementation

    If I comment out the cidr block line, infracost works fine. image

    What might be the reason for hcl parsing to behave like this? Any help is appreciated!!

    bug 
    opened by dgokcin 22
  • Review/fix case sensitive Terraform inputs

    Review/fix case sensitive Terraform inputs

    • [x] Google
    • [x] Azure
    • [x] AWS

    Terraform ignores case sensitivity in most cases for AWS, GCP and Azure (I haven't checked other providers). The aim of this GH issue is to review and update all existing cloud resources to ensure that:

    1. case-insensitive string comparison are used, e.g.: Bad: input == "large" Good: strings.ToLower(input) == "large" We might be able to grep for something like == " to review/fix them all.

    2. case-insensitive Value or ValueRegex price filters are used for any user input, e.g.: Bad: {Key: "virtualInterfaceType", ValueRegex: strPtr(fmt.Sprintf("/%s/", virtualInterfaceType))}, Good: {Key: "virtualInterfaceType", ValueRegex: strPtr(fmt.Sprintf("/%s/i", virtualInterfaceType))}, # notice the/iin the regex We might be able to grep for something like , Value to review/fix them all.

    As part of this issue, we should also update the contributing guide.

    bug good first issue 
    opened by alikhajeh1 21
  • Enhancement: Allow to specify a custom text for comments to Pull requests

    Enhancement: Allow to specify a custom text for comments to Pull requests

    Hi team,

    Let me give you the following use case:

    • Single project
    • Terraform code using single module (root)
    • Multiple environments specified by distinct terraform input var files

    When I run Infracost under PR, I'm running it for all environments, meaning, specifying different input var files.

    What happens when pushing comments back to devops is this: image

    I know by order of execution which one is it, but would be really cool to have the chance to add a customized text or more detail to this comment to help distinguish between them

    Regards and keep up with awesome work

    bug 
    opened by pacorreia 18
  • User defined project names (`--project-name` and `name` in config-file)

    User defined project names (`--project-name` and `name` in config-file)

    It would be nice if we could add a name parameter to the list of projects to provide a "friendly name". Instead of printing src/something/something/staging-plan.json it should then print the provided name instead (e.g. staging).

    enhancement next release 
    opened by syphernl 18
  • [WIP] Package manager chocolately

    [WIP] Package manager chocolately

    Objective: Fixes: https://github.com/infracost/infracost/issues/798

    Add package manager support for chocolately

    For windows

    cd scripts\chocolately\
    .\build.ps1
    

    Output

    No .nupkg files (or more than 1) were found to build in 'C:\Users\Rupan\ops\infracost\scripts\chocolately'. 
    Please specify the .nupkg file or try in a different directory
    

    Status: Added chocolately folder under scripts with related files

    • build.ps1
    • nuspec
    • tools folder where the binary will be packaged

    Issues: Not able to create nupkg file by choco pack command. I think the problem is with nuspec where I define the src and target. I ended up looking at below mentioned link but couldn't understand what should be done next:

    Useful links: From a convention-based working directory: https://docs.microsoft.com/en-us/nuget/create-packages/creating-a-package#from-a-convention-based-working-directory

    opened by saltperfect 18
  • HCL parsing does not work with modules that have a `source` in a private Terraform registry

    HCL parsing does not work with modules that have a `source` in a private Terraform registry

    HCL parsing does not work if the Terraform code contains a module with a source in a private Terraform registry. Private git modules work ok.

    Example this code:

    provider "aws" {
      region                      = "us-east-1"
      skip_credentials_validation = true
      skip_requesting_account_id  = true
      access_key                  = "mock_access_key"
      secret_key                  = "mock_secret_key"
    }
    
    module "ec2_cluster" {
      source  = "app.terraform.io/infracost/ec2-instance/aws"
      version = "~> 2.0"
    
      name           = "my-cluster"
      instance_count = 5
    
      ami                    = "ami-ebd02392"
      instance_type          = "t2.micro"
      key_name               = "user1"
      monitoring             = true
      vpc_security_group_ids = ["sg-12345678"]
      subnet_id              = "subnet-eddcdzz4"
    }
    

    Shows this error:

    Error: Error loading Terraform modules: error downloading 'file:///examples/terraform/.infracost/terraform_modules/ec2_cluster/app.terraform.io/infracost/ec2-instance/aws': source path error: stat /examples/terraform/.infracost/terraform_modules/ec2_cluster/app.terraform.io/infracost/ec2-instance/aws: no such file or directory
    

    There's two issues which are causing this:

    1. Our code assumes that the module API is always at <host>/v1/modules but this can be different for different registries. We should use the terraform-svchost package to discover the correct service URLs
    2. Our code does not pass through any credentials when pulling remote registry modules.

    I've created a work in progress branch here.

    bug 
    opened by aliscott 17
  • Pricing discrepancy between HCL parser and state file breakdowns

    Pricing discrepancy between HCL parser and state file breakdowns

    Bug report: I did experience something weird when testing the HCL parser feature. The displayed price was more than twice that was accused by the breakdown on the state file itself.

    Here's the infracost breakdown I've run on the state file:

    $ infracost breakdown --terraform-use-state --path=.
    Detected Terraform directory at .
      βœ” Running terraform show
      βœ” Extracting only cost-related params from terraform
      βœ” Retrieving cloud prices to calculate costs
    
    Project: REDACTED
    
     Name                                                                                     Monthly Qty  Unit                      Monthly Cost
    
     aws_dms_replication_instance.REDACTED
     └─ Instance (t3.large)                                                                           730  hours                          $108.70
    
     aws_route53_record.REDACTED
     β”œβ”€ Standard queries (first 1B)                                                    Monthly cost depends on usage: $0.40 per 1M queries
     β”œβ”€ Latency based routing queries (first 1B)                                       Monthly cost depends on usage: $0.60 per 1M queries
     └─ Geo DNS queries (first 1B)                                                     Monthly cost depends on usage: $0.70 per 1M queries
    
     aws_route53_record.REDACTED["smtp1"]
     β”œβ”€ Standard queries (first 1B)                                                    Monthly cost depends on usage: $0.40 per 1M queries
     β”œβ”€ Latency based routing queries (first 1B)                                       Monthly cost depends on usage: $0.60 per 1M queries
     └─ Geo DNS queries (first 1B)                                                     Monthly cost depends on usage: $0.70 per 1M queries
    
     aws_route53_record.REDACTED["smtp2"]
     β”œβ”€ Standard queries (first 1B)                                                    Monthly cost depends on usage: $0.40 per 1M queries
     β”œβ”€ Latency based routing queries (first 1B)                                       Monthly cost depends on usage: $0.60 per 1M queries
     └─ Geo DNS queries (first 1B)                                                     Monthly cost depends on usage: $0.70 per 1M queries
    
     aws_route53_record.REDACTED
     β”œβ”€ Standard queries (first 1B)                                                    Monthly cost depends on usage: $0.40 per 1M queries
     β”œβ”€ Latency based routing queries (first 1B)                                       Monthly cost depends on usage: $0.60 per 1M queries
     └─ Geo DNS queries (first 1B)                                                     Monthly cost depends on usage: $0.70 per 1M queries
    
     aws_route53_record.REDACTED
     β”œβ”€ Standard queries (first 1B)                                                    Monthly cost depends on usage: $0.40 per 1M queries
     β”œβ”€ Latency based routing queries (first 1B)                                       Monthly cost depends on usage: $0.60 per 1M queries
     └─ Geo DNS queries (first 1B)                                                     Monthly cost depends on usage: $0.70 per 1M queries
    
     aws_s3_bucket.REDACTED
     └─ Standard
        β”œβ”€ Storage                                                                     Monthly cost depends on usage: $0.023 per GB
        β”œβ”€ PUT, COPY, POST, LIST requests                                              Monthly cost depends on usage: $0.005 per 1k requests
        β”œβ”€ GET, SELECT, and all other requests                                         Monthly cost depends on usage: $0.0004 per 1k requests
        β”œβ”€ Select data scanned                                                         Monthly cost depends on usage: $0.002 per GB
        └─ Select data returned                                                        Monthly cost depends on usage: $0.0007 per GB
    
     aws_s3_bucket.REDACTED
     └─ Standard
        β”œβ”€ Storage                                                                     Monthly cost depends on usage: $0.023 per GB
        β”œβ”€ PUT, COPY, POST, LIST requests                                              Monthly cost depends on usage: $0.005 per 1k requests
        β”œβ”€ GET, SELECT, and all other requests                                         Monthly cost depends on usage: $0.0004 per 1k requests
        β”œβ”€ Select data scanned                                                         Monthly cost depends on usage: $0.002 per GB
        └─ Select data returned                                                        Monthly cost depends on usage: $0.0007 per GB
    
     google_bigquery_dataset.REDACTED
     └─ Queries (on-demand)                                                            Monthly cost depends on usage: $5.00 per TB
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, preemptible, n2-standard-16)                                    1,460  hours                          $274.46
     └─ Standard provisioned storage (pd-standard)                                                    200  GiB                              $8.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, preemptible, n2d-highmem-2)                                     2,190  hours                           $60.40
     └─ Standard provisioned storage (pd-standard)                                                    300  GiB                             $12.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n2-standard-16)                                      2,920  hours                        $1,814.94
     └─ Standard provisioned storage (pd-standard)                                                    400  GiB                             $16.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n2-highcpu-32)                                       1,460  hours                        $1,339.85
     └─ Standard provisioned storage (pd-standard)                                                    200  GiB                              $8.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n2-standard-4)                                         730  hours                        $1,361.21
     └─ Standard provisioned storage (pd-standard)                                                    100  GiB                              $4.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, preemptible, n1-standard-16)                                   14,600  hours                        $2,336.00
     └─ Standard provisioned storage (pd-standard)                                                  2,000  GiB                             $80.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n2-standard-16)                                      5,840  hours                        $3,629.88
     └─ Standard provisioned storage (pd-standard)                                                    800  GiB                             $32.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n2-highmem-32)                                         730  hours                        $1,224.19
     └─ Standard provisioned storage (pd-standard)                                                    100  GiB                              $4.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-standard-8)                                       2,920  hours                          $776.72
     └─ Standard provisioned storage (pd-standard)                                                    400  GiB                             $16.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, preemptible, n1-standard-4)                                       730  hours                           $29.20
     └─ Standard provisioned storage (pd-standard)                                                    100  GiB                              $4.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-standard-2)                                         730  hours                           $48.54
     └─ SSD provisioned storage (pd-ssd)                                                               50  GiB                              $8.50
    
     google_pubsub_subscription.REDACTED
     β”œβ”€ Message delivery data                                                          Monthly cost depends on usage: $40.00 per TiB
     β”œβ”€ Retained acknowledged message storage                                          Monthly cost depends on usage: $0.27 per GiB
     └─ Snapshot message backlog storage                                               Monthly cost depends on usage: $0.27 per GiB
    
     google_pubsub_subscription.REDACTED
     β”œβ”€ Message delivery data                                                          Monthly cost depends on usage: $40.00 per TiB
     β”œβ”€ Retained acknowledged message storage                                          Monthly cost depends on usage: $0.27 per GiB
     └─ Snapshot message backlog storage                                               Monthly cost depends on usage: $0.27 per GiB
    
     google_pubsub_subscription.REDACTED
     β”œβ”€ Message delivery data                                                          Monthly cost depends on usage: $40.00 per TiB
     β”œβ”€ Retained acknowledged message storage                                          Monthly cost depends on usage: $0.27 per GiB
     └─ Snapshot message backlog storage                                               Monthly cost depends on usage: $0.27 per GiB
    
     google_pubsub_subscription.REDACTED
     β”œβ”€ Message delivery data                                                          Monthly cost depends on usage: $40.00 per TiB
     β”œβ”€ Retained acknowledged message storage                                          Monthly cost depends on usage: $0.27 per GiB
     └─ Snapshot message backlog storage                                               Monthly cost depends on usage: $0.27 per GiB
    
     google_pubsub_subscription.REDACTED
     β”œβ”€ Message delivery data                                                          Monthly cost depends on usage: $40.00 per TiB
     β”œβ”€ Retained acknowledged message storage                                          Monthly cost depends on usage: $0.27 per GiB
     └─ Snapshot message backlog storage                                               Monthly cost depends on usage: $0.27 per GiB
    
     google_pubsub_topic.REDACTED
     └─ Message ingestion data                                                         Monthly cost depends on usage: $40.00 per TiB
    
     google_pubsub_topic.REDACTED
     └─ Message ingestion data                                                         Monthly cost depends on usage: $40.00 per TiB
    
     google_pubsub_topic.REDACTED
     └─ Message ingestion data                                                         Monthly cost depends on usage: $40.00 per TiB
    
     google_pubsub_topic.REDACTED
     └─ Message ingestion data                                                         Monthly cost depends on usage: $40.00 per TiB
    
     google_sql_database_instance.REDACTED
     β”œβ”€ SQL instance (db-f1-micro, zonal)                                                             730  hours                            $7.67
     β”œβ”€ Storage (SSD, zonal)                                                                           10  GB                               $1.70
     β”œβ”€ Backups                                                                        Monthly cost depends on usage: $0.08 per GB
     β”œβ”€ IP address (if unused)                                                                        730  hours                            $7.30
     └─ Replica
        β”œβ”€ SQL instance (db-f1-micro, zonal)                                                          730  hours                            $7.67
        └─ Storage (SSD, zonal)                                                                        10  GB                               $1.70
    
     google_sql_database_instance.REDACTED
     β”œβ”€ SQL instance (db-g1-small, zonal)                                                             730  hours                           $25.55
     β”œβ”€ Storage (SSD, zonal)                                                                           10  GB                               $1.70
     β”œβ”€ Backups                                                                        Monthly cost depends on usage: $0.08 per GB
     β”œβ”€ IP address (if unused)                                                                        730  hours                            $7.30
     └─ Replica
        β”œβ”€ SQL instance (db-g1-small, zonal)                                                          730  hours                           $25.55
        └─ Storage (SSD, zonal)                                                                        10  GB                               $1.70
    
     google_storage_bucket.REDACTED
     β”œβ”€ Storage (standard)                                                             Monthly cost depends on usage: $0.026 per GiB
     β”œβ”€ Object adds, bucket/object list (class A)                                      Monthly cost depends on usage: $0.05 per 10k operations
     β”œβ”€ Object gets, retrieve bucket/object metadata (class B)                         Monthly cost depends on usage: $0.004 per 10k operations
     └─ Network egress
        β”œβ”€ Data transfer in same continent                                             Monthly cost depends on usage: $0.01 per GB
        β”œβ”€ Data transfer to worldwide excluding Asia, Australia (first 1TB)            Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to Asia excluding China, but including Hong Kong (first 1TB)  Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to China excluding Hong Kong (first 1TB)                      Monthly cost depends on usage: $0.23 per GB
        └─ Data transfer to Australia (first 1TB)                                      Monthly cost depends on usage: $0.19 per GB
    
     google_storage_bucket.REDACTED
     β”œβ”€ Storage (standard)                                                             Monthly cost depends on usage: $0.026 per GiB
     β”œβ”€ Object adds, bucket/object list (class A)                                      Monthly cost depends on usage: $0.05 per 10k operations
     β”œβ”€ Object gets, retrieve bucket/object metadata (class B)                         Monthly cost depends on usage: $0.004 per 10k operations
     └─ Network egress
        β”œβ”€ Data transfer in same continent                                             Monthly cost depends on usage: $0.01 per GB
        β”œβ”€ Data transfer to worldwide excluding Asia, Australia (first 1TB)            Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to Asia excluding China, but including Hong Kong (first 1TB)  Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to China excluding Hong Kong (first 1TB)                      Monthly cost depends on usage: $0.23 per GB
        └─ Data transfer to Australia (first 1TB)                                      Monthly cost depends on usage: $0.19 per GB
    
     google_storage_bucket.REDACTED
     β”œβ”€ Storage (standard)                                                             Monthly cost depends on usage: $0.026 per GiB
     β”œβ”€ Object adds, bucket/object list (class A)                                      Monthly cost depends on usage: $0.05 per 10k operations
     β”œβ”€ Object gets, retrieve bucket/object metadata (class B)                         Monthly cost depends on usage: $0.004 per 10k operations
     └─ Network egress
        β”œβ”€ Data transfer in same continent                                             Monthly cost depends on usage: $0.01 per GB
        β”œβ”€ Data transfer to worldwide excluding Asia, Australia (first 1TB)            Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to Asia excluding China, but including Hong Kong (first 1TB)  Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to China excluding Hong Kong (first 1TB)                      Monthly cost depends on usage: $0.23 per GB
        └─ Data transfer to Australia (first 1TB)                                      Monthly cost depends on usage: $0.19 per GB
    
     module.REDACTED.google_container_cluster.primary
     β”œβ”€ Cluster management fee                                                                        730  hours                           $73.00
     β”œβ”€ node_pool[0]
     β”‚  β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-highmem-2)                                       730  hours                           $95.96
     β”‚  └─ Standard provisioned storage (pd-standard)                                                 100  GiB                              $6.00
     └─ node_pool[1]
        β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-standard-4)                                    4,380  hours                          $924.69
        └─ Standard provisioned storage (pd-standard)                                                 600  GiB                             $36.00
    
     module.REDACTED.google_container_node_pool.main[0]
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-standard-4)                                       4,380  hours                          $924.69
     └─ Standard provisioned storage (pd-standard)                                                    600  GiB                             $36.00
    
     module.REDACTED.google_container_node_pool.monitoring[0]
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-highmem-2)                                          730  hours                           $95.96
     └─ Standard provisioned storage (pd-standard)                                                    100  GiB                              $6.00
    
     module.REDACTED.google_container_registry.registry
     β”œβ”€ Storage (standard)                                                             Monthly cost depends on usage: $0.026 per GiB
     β”œβ”€ Object adds, bucket/object list (class A)                                      Monthly cost depends on usage: $0.05 per 10k operations
     β”œβ”€ Object gets, retrieve bucket/object metadata (class B)                         Monthly cost depends on usage: $0.004 per 10k operations
     └─ Network egress
        β”œβ”€ Data transfer in same continent                                             Monthly cost depends on usage: $0.01 per GB
        β”œβ”€ Data transfer to worldwide excluding Asia, Australia (first 1TB)            Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to Asia excluding China, but including Hong Kong (first 1TB)  Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to China excluding Hong Kong (first 1TB)                      Monthly cost depends on usage: $0.23 per GB
        └─ Data transfer to Australia (first 1TB)                                      Monthly cost depends on usage: $0.19 per GB
    
     module.REDACTED.google_container_cluster.primary
     β”œβ”€ Cluster management fee                                                                        730  hours                           $73.00
     └─ node_pool[0]
        β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-standard-2)                                    2,190  hours                          $145.63
        └─ Standard provisioned storage (pd-standard)                                                 300  GiB                             $12.00
    
     module.REDACTED.google_container_node_pool.main[0]
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-standard-2)                                       2,190  hours                          $145.63
     └─ Standard provisioned storage (pd-standard)                                                    300  GiB                             $12.00
    
     module.REDACTED.google_container_registry.registry
     β”œβ”€ Storage (standard)                                                             Monthly cost depends on usage: $0.026 per GiB
     β”œβ”€ Object adds, bucket/object list (class A)                                      Monthly cost depends on usage: $0.05 per 10k operations
     β”œβ”€ Object gets, retrieve bucket/object metadata (class B)                         Monthly cost depends on usage: $0.004 per 10k operations
     └─ Network egress
        β”œβ”€ Data transfer in same continent                                             Monthly cost depends on usage: $0.01 per GB
        β”œβ”€ Data transfer to worldwide excluding Asia, Australia (first 1TB)            Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to Asia excluding China, but including Hong Kong (first 1TB)  Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to China excluding Hong Kong (first 1TB)                      Monthly cost depends on usage: $0.23 per GB
        └─ Data transfer to Australia (first 1TB)                                      Monthly cost depends on usage: $0.19 per GB
    
     OVERALL TOTAL                                                                                                                     $15,870.99
    ──────────────────────────────────
    266 cloud resources were detected, rerun with --show-skipped to see details:
    βˆ™ 43 were estimated, 42 include usage-based costs, see https://infracost.io/usage-file
    βˆ™ 2 weren't estimated, report them in https://github.com/infracost/infracost
    βˆ™ 221 were free
    
    Update: A new version of Infracost is available: v0.9.18 β†’ v0.9.19
      $ curl -fsSL https://raw.githubusercontent.com/infracost/infracost/master/scripts/install.sh | sh
    
    

    Now, the HCL parser output:

    # Breakdown from .tf files
    $ infracost breakdown --path=. --terraform-parse-hcl
    Detected Terraform directory (HCL) at .
      βœ” Retrieving cloud prices to calculate costs
    
    Project: REDACTED
    
     Name                                                                                     Monthly Qty  Unit                      Monthly Cost
    
     aws_dms_replication_instance.REDACTED
     └─ Instance (t3.large)                                                                           730  hours                            $0.00
    
     aws_route53_record.REDACTED
     β”œβ”€ Standard queries (first 1B)                                                    Monthly cost depends on usage: $0.40 per 1M queries
     β”œβ”€ Latency based routing queries (first 1B)                                       Monthly cost depends on usage: $0.60 per 1M queries
     └─ Geo DNS queries (first 1B)                                                     Monthly cost depends on usage: $0.70 per 1M queries
    
     aws_route53_record.REDACTED["smtp1"]
     β”œβ”€ Standard queries (first 1B)                                                    Monthly cost depends on usage: $0.40 per 1M queries
     β”œβ”€ Latency based routing queries (first 1B)                                       Monthly cost depends on usage: $0.60 per 1M queries
     └─ Geo DNS queries (first 1B)                                                     Monthly cost depends on usage: $0.70 per 1M queries
    
     aws_route53_record.REDACTED["smtp2"]
     β”œβ”€ Standard queries (first 1B)                                                    Monthly cost depends on usage: $0.40 per 1M queries
     β”œβ”€ Latency based routing queries (first 1B)                                       Monthly cost depends on usage: $0.60 per 1M queries
     └─ Geo DNS queries (first 1B)                                                     Monthly cost depends on usage: $0.70 per 1M queries
    
     aws_route53_record.REDACTED
     β”œβ”€ Standard queries (first 1B)                                                    Monthly cost depends on usage: $0.40 per 1M queries
     β”œβ”€ Latency based routing queries (first 1B)                                       Monthly cost depends on usage: $0.60 per 1M queries
     └─ Geo DNS queries (first 1B)                                                     Monthly cost depends on usage: $0.70 per 1M queries
    
     aws_route53_record.REDACTED
     β”œβ”€ Standard queries (first 1B)                                                    Monthly cost depends on usage: $0.40 per 1M queries
     β”œβ”€ Latency based routing queries (first 1B)                                       Monthly cost depends on usage: $0.60 per 1M queries
     └─ Geo DNS queries (first 1B)                                                     Monthly cost depends on usage: $0.70 per 1M queries
    
     aws_s3_bucket.REDACTED
     └─ Standard
        β”œβ”€ Storage                                                                     Monthly cost depends on usage: $0.00 per GB
        β”œβ”€ PUT, COPY, POST, LIST requests                                              Monthly cost depends on usage: $0.00 per 1k requests
        β”œβ”€ GET, SELECT, and all other requests                                         Monthly cost depends on usage: $0.00 per 1k requests
        β”œβ”€ Select data scanned                                                         Monthly cost depends on usage: $0.00 per GB
        └─ Select data returned                                                        Monthly cost depends on usage: $0.00 per GB
    
     aws_s3_bucket.REDACTED
     └─ Standard
        β”œβ”€ Storage                                                                     Monthly cost depends on usage: $0.00 per GB
        β”œβ”€ PUT, COPY, POST, LIST requests                                              Monthly cost depends on usage: $0.00 per 1k requests
        β”œβ”€ GET, SELECT, and all other requests                                         Monthly cost depends on usage: $0.00 per 1k requests
        β”œβ”€ Select data scanned                                                         Monthly cost depends on usage: $0.00 per GB
        └─ Select data returned                                                        Monthly cost depends on usage: $0.00 per GB
    
     google_bigquery_dataset.REDACTED
     └─ Queries (on-demand)                                                            Monthly cost depends on usage: $5.00 per TB
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, preemptible, n2-standard-16)                                    4,380  hours                          $823.37
     └─ Standard provisioned storage (pd-standard)                                                    600  GiB                             $24.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, preemptible, n2d-highmem-2)                                     6,570  hours                          $181.21
     └─ Standard provisioned storage (pd-standard)                                                    900  GiB                             $36.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n2-standard-16)                                      8,760  hours                        $5,444.82
     └─ Standard provisioned storage (pd-standard)                                                  1,200  GiB                             $48.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n2-highcpu-32)                                       4,380  hours                        $4,019.56
     └─ Standard provisioned storage (pd-standard)                                                    600  GiB                             $24.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n2-standard-4)                                       2,190  hours                          $340.30
     └─ Standard provisioned storage (pd-standard)                                                    300  GiB                             $12.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, preemptible, n1-standard-16)                                   43,800  hours                        $7,008.00
     └─ Standard provisioned storage (pd-standard)                                                  6,000  GiB                            $240.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n2-standard-16)                                     17,520  hours                       $10,889.65
     └─ Standard provisioned storage (pd-standard)                                                  2,400  GiB                             $96.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n2-highmem-32)                                       2,190  hours                        $3,672.58
     └─ Standard provisioned storage (pd-standard)                                                    300  GiB                             $12.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-standard-8)                                       8,760  hours                        $2,330.15
     └─ Standard provisioned storage (pd-standard)                                                  1,200  GiB                             $48.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, preemptible, n1-standard-4)                                     2,190  hours                           $87.60
     └─ Standard provisioned storage (pd-standard)                                                    300  GiB                             $12.00
    
     google_container_node_pool.REDACTED
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-standard-2)                                       2,190  hours                          $145.63
     └─ SSD provisioned storage (pd-ssd)                                                              150  GiB                             $25.50
    
     google_pubsub_subscription.REDACTED
     β”œβ”€ Message delivery data                                                          Monthly cost depends on usage: $40.00 per TiB
     β”œβ”€ Retained acknowledged message storage                                          Monthly cost depends on usage: $0.27 per GiB
     └─ Snapshot message backlog storage                                               Monthly cost depends on usage: $0.27 per GiB
    
     google_pubsub_subscription.REDACTED
     β”œβ”€ Message delivery data                                                          Monthly cost depends on usage: $40.00 per TiB
     β”œβ”€ Retained acknowledged message storage                                          Monthly cost depends on usage: $0.27 per GiB
     └─ Snapshot message backlog storage                                               Monthly cost depends on usage: $0.27 per GiB
    
     google_pubsub_subscription.REDACTED
     β”œβ”€ Message delivery data                                                          Monthly cost depends on usage: $40.00 per TiB
     β”œβ”€ Retained acknowledged message storage                                          Monthly cost depends on usage: $0.27 per GiB
     └─ Snapshot message backlog storage                                               Monthly cost depends on usage: $0.27 per GiB
    
     google_pubsub_subscription.REDACTED
     β”œβ”€ Message delivery data                                                          Monthly cost depends on usage: $40.00 per TiB
     β”œβ”€ Retained acknowledged message storage                                          Monthly cost depends on usage: $0.27 per GiB
     └─ Snapshot message backlog storage                                               Monthly cost depends on usage: $0.27 per GiB
    
     google_pubsub_subscription.REDACTED
     β”œβ”€ Message delivery data                                                          Monthly cost depends on usage: $40.00 per TiB
     β”œβ”€ Retained acknowledged message storage                                          Monthly cost depends on usage: $0.27 per GiB
     └─ Snapshot message backlog storage                                               Monthly cost depends on usage: $0.27 per GiB
    
     google_pubsub_topic.REDACTED
     └─ Message ingestion data                                                         Monthly cost depends on usage: $40.00 per TiB
    
     google_pubsub_topic.REDACTED
     └─ Message ingestion data                                                         Monthly cost depends on usage: $40.00 per TiB
    
     google_pubsub_topic.REDACTED
     └─ Message ingestion data                                                         Monthly cost depends on usage: $40.00 per TiB
    
     google_pubsub_topic.REDACTED
     └─ Message ingestion data                                                         Monthly cost depends on usage: $40.00 per TiB
    
     google_sql_database_instance.REDACTED
     β”œβ”€ SQL instance (db-f1-micro, zonal)                                                             730  hours                            $7.67
     β”œβ”€ Storage (SSD, zonal)                                                                           10  GB                               $1.70
     β”œβ”€ Backups                                                                        Monthly cost depends on usage: $0.08 per GB
     └─ IP address (if unused)                                                                        730  hours                            $7.30
    
     google_sql_database_instance.REDACTED
     β”œβ”€ SQL instance (db-g1-small, zonal)                                                             730  hours                           $25.55
     β”œβ”€ Storage (SSD, zonal)                                                                           10  GB                               $1.70
     β”œβ”€ Backups                                                                        Monthly cost depends on usage: $0.08 per GB
     └─ IP address (if unused)                                                                        730  hours                            $7.30
    
     google_storage_bucket.REDACTED
     β”œβ”€ Storage (standard)                                                             Monthly cost depends on usage: $0.026 per GiB
     β”œβ”€ Object adds, bucket/object list (class A)                                      Monthly cost depends on usage: $0.05 per 10k operations
     β”œβ”€ Object gets, retrieve bucket/object metadata (class B)                         Monthly cost depends on usage: $0.004 per 10k operations
     └─ Network egress
        β”œβ”€ Data transfer in same continent                                             Monthly cost depends on usage: $0.01 per GB
        β”œβ”€ Data transfer to worldwide excluding Asia, Australia (first 1TB)            Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to Asia excluding China, but including Hong Kong (first 1TB)  Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to China excluding Hong Kong (first 1TB)                      Monthly cost depends on usage: $0.23 per GB
        └─ Data transfer to Australia (first 1TB)                                      Monthly cost depends on usage: $0.19 per GB
    
     google_storage_bucket.REDACTED
     β”œβ”€ Storage (standard)                                                             Monthly cost depends on usage: $0.026 per GiB
     β”œβ”€ Object adds, bucket/object list (class A)                                      Monthly cost depends on usage: $0.05 per 10k operations
     β”œβ”€ Object gets, retrieve bucket/object metadata (class B)                         Monthly cost depends on usage: $0.004 per 10k operations
     └─ Network egress
        β”œβ”€ Data transfer in same continent                                             Monthly cost depends on usage: $0.01 per GB
        β”œβ”€ Data transfer to worldwide excluding Asia, Australia (first 1TB)            Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to Asia excluding China, but including Hong Kong (first 1TB)  Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to China excluding Hong Kong (first 1TB)                      Monthly cost depends on usage: $0.23 per GB
        └─ Data transfer to Australia (first 1TB)                                      Monthly cost depends on usage: $0.19 per GB
    
     google_storage_bucket.REDACTED
     β”œβ”€ Storage (standard)                                                             Monthly cost depends on usage: $0.026 per GiB
     β”œβ”€ Object adds, bucket/object list (class A)                                      Monthly cost depends on usage: $0.05 per 10k operations
     β”œβ”€ Object gets, retrieve bucket/object metadata (class B)                         Monthly cost depends on usage: $0.004 per 10k operations
     └─ Network egress
        β”œβ”€ Data transfer in same continent                                             Monthly cost depends on usage: $0.01 per GB
        β”œβ”€ Data transfer to worldwide excluding Asia, Australia (first 1TB)            Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to Asia excluding China, but including Hong Kong (first 1TB)  Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to China excluding Hong Kong (first 1TB)                      Monthly cost depends on usage: $0.23 per GB
        └─ Data transfer to Australia (first 1TB)                                      Monthly cost depends on usage: $0.19 per GB
    
     module.REDACTED.google_container_cluster.primary
     └─ Cluster management fee                                                                        730  hours                           $73.00
    
     module.REDACTED.google_container_node_pool.main[0]
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-standard-4)                                       4,380  hours                          $924.69
     └─ Standard provisioned storage (pd-standard)                                                    600  GiB                             $36.00
    
     module.REDACTED.google_container_node_pool.monitoring[0]
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-highmem-2)                                          730  hours                           $95.96
     └─ Standard provisioned storage (pd-standard)                                                    100  GiB                              $6.00
    
     module.REDACTED.google_container_registry.registry
     β”œβ”€ Storage (standard)                                                             Monthly cost depends on usage: $0.026 per GiB
     β”œβ”€ Object adds, bucket/object list (class A)                                      Monthly cost depends on usage: $0.05 per 10k operations
     β”œβ”€ Object gets, retrieve bucket/object metadata (class B)                         Monthly cost depends on usage: $0.004 per 10k operations
     └─ Network egress
        β”œβ”€ Data transfer in same continent                                             Monthly cost depends on usage: $0.01 per GB
        β”œβ”€ Data transfer to worldwide excluding Asia, Australia (first 1TB)            Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to Asia excluding China, but including Hong Kong (first 1TB)  Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to China excluding Hong Kong (first 1TB)                      Monthly cost depends on usage: $0.23 per GB
        └─ Data transfer to Australia (first 1TB)                                      Monthly cost depends on usage: $0.19 per GB
    
     module.REDACTED.google_container_cluster.primary
     └─ Cluster management fee                                                                        730  hours                           $73.00
    
     module.REDACTED.google_container_node_pool.main[0]
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, n1-standard-2)                                       2,190  hours                          $145.63
     └─ Standard provisioned storage (pd-standard)                                                    300  GiB                             $12.00
    
     module.REDACTED.google_container_registry.registry
     β”œβ”€ Storage (standard)                                                             Monthly cost depends on usage: $0.026 per GiB
     β”œβ”€ Object adds, bucket/object list (class A)                                      Monthly cost depends on usage: $0.05 per 10k operations
     β”œβ”€ Object gets, retrieve bucket/object metadata (class B)                         Monthly cost depends on usage: $0.004 per 10k operations
     └─ Network egress
        β”œβ”€ Data transfer in same continent                                             Monthly cost depends on usage: $0.01 per GB
        β”œβ”€ Data transfer to worldwide excluding Asia, Australia (first 1TB)            Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to Asia excluding China, but including Hong Kong (first 1TB)  Monthly cost depends on usage: $0.12 per GB
        β”œβ”€ Data transfer to China excluding Hong Kong (first 1TB)                      Monthly cost depends on usage: $0.23 per GB
        └─ Data transfer to Australia (first 1TB)                                      Monthly cost depends on usage: $0.19 per GB
    
     OVERALL TOTAL                                                                                                                     $36,937.88
    ──────────────────────────────────
    266 cloud resources were detected, rerun with --show-skipped to see details:
    βˆ™ 43 were estimated, 42 include usage-based costs, see https://infracost.io/usage-file
    βˆ™ 2 weren't estimated, report them in https://github.com/infracost/infracost
    βˆ™ 221 were free
    
    Add cost estimates to your pull requests: https://infracost.io/cicd
    
    
    bug 
    opened by 7onn 17
  • Update `infracost register` to let users know upfront if they already have an API key

    Update `infracost register` to let users know upfront if they already have an API key

    I've seen many users with multiple keys soon after they register. I wonder if it's because when they run infracost register, it creates the API key then checks/informs them if one already exists. We should change this so the first step in register is to check for an existing key, and tell them that it's saved in ~/.config/infracost/credentials.yml, then ask if they'd like to create a new key.

    enhancement 
    opened by alikhajeh1 17
  • Infracost Appears Broken with terragrunt v0.37.1 + Terraform v1.2.1

    Infracost Appears Broken with terragrunt v0.37.1 + Terraform v1.2.1

    System Info:

    Infracost v0.10.0
    Terraform v1.2.1
    terragrunt version v0.37.1
    

    I have been happily using infracost for a few weeks. I recently updated to the latest version of Terraform + Terragrunt, and when I attempt to run Infracost, I now get the following panic/exit:

    ❯ infracost breakdown --path .
    Detected Terragrunt directory at .
    panic: must not call MapVal with empty map
    
    goroutine 82 [running]:
    github.com/zclconf/go-cty/cty.MapVal(0x140001ee770?)
    	github.com/zclconf/[email protected]/cty/value_init.go:212 +0x4ac
    github.com/infracost/infracost/internal/providers/terraform.(*TerragruntHCLProvider).fetchDependencyOutputs(0x1400078e210, 0x140001b8900)
    	github.com/infracost/infracost/internal/providers/terraform/terragrunt_hcl_provider.go:316 +0x4d0
    github.com/infracost/infracost/internal/providers/terraform.(*TerragruntHCLProvider).runTerragrunt(0x1400078e210, 0x140001b8900)
    	github.com/infracost/infracost/internal/providers/terraform/terragrunt_hcl_provider.go:183 +0x48
    github.com/infracost/infracost/internal/providers/terraform.(*TerragruntHCLProvider).prepWorkingDirs.func1(0x140004c0930?)
    	github.com/infracost/infracost/internal/providers/terraform/terragrunt_hcl_provider.go:141 +0x34
    github.com/gruntwork-io/terragrunt/configstack.(*runningModule).runNow(0x14000063540)
    	github.com/gruntwork-io/[email protected]/configstack/running_module.go:239 +0x10c
    github.com/gruntwork-io/terragrunt/configstack.(*runningModule).runModuleWhenReady(0x0?, 0x1400018e420)
    	github.com/gruntwork-io/[email protected]/configstack/running_module.go:202 +0x84
    github.com/gruntwork-io/terragrunt/configstack.runModules.func1(0x1400056e9c0?)
    	github.com/gruntwork-io/[email protected]/configstack/running_module.go:172 +0x54
    created by github.com/gruntwork-io/terragrunt/configstack.runModules
    	github.com/gruntwork-io/[email protected]/configstack/running_module.go:170 +0x78
    

    Please advise. Thank you!

    bug 
    opened by armenr 16
  • new resource for azure: azurerm_synapse_workspace

    new resource for azure: azurerm_synapse_workspace

    Ii would like to add the resources that are attached to synapse analytics:

    terraform resource: azurerm_synapse_workspace https://azure.microsoft.com/en-us/pricing/calculator/

    supporting resources:

    • azurerm_synapse_private_link_hub
    • azurerm_synapse_spark_pool
    • azurerm_synapse_sql_pool
    • azurerm_synapse_managed_private_endpoint

    image

    new resources azure 
    opened by dgcaron 16
  • Add monthly_hrs to aws_db_instance

    Add monthly_hrs to aws_db_instance

    We shutdown EC2 and RDS SQL server instances when not-in-use. Can the ability to calculate costs based on number of uptime hours per month be added please for EC2 and RDS instances using the usage-based-resources concept. Thank you!

    new resources aws 
    opened by saucecon-aanand 3
  • Add support for Snowflake

    Add support for Snowflake

    Is there any interest in adding support for [snowflake][(https://registry.terraform.io/providers/Snowflake-Labs/snowflake/latest/docs/resources/database) as a supported platform? I'm presuming that it would heavily rely on user supplied estimations. Being able to estimate costs of warehouses, snowpipes, data storage (based on retention time) would be nice to see in a PR!

    One limitation that I could see is they keep the pricing structure based on credits, rather than dollar amounts. I'm also not sure if they expose their credit pricing through an API, or just through their website.

    I know this is categorized as a new cloud provider, but seeing as it operates on AWS, GCP and Azure, I imagine there would be a fair bit of overlap in the community

    Note for community

    Please πŸ‘ if you'd like to upvote this or receive updates.

    enhancement new resources 
    opened by ianwesleyarmstrong 1
  • Support for Azure Reserved Instances

    Support for Azure Reserved Instances

    Hi,

    it seems that Azure Reserved Instances are currently not supported for Azure Virtual Machine Terraform Resources by infracost according to the documentation https://www.infracost.io/docs/supported_resources/azure/.

    Low priority, Spot and Reserved instances are not supported.

    Are there any plans to add support for Azure Reserved Instances?

    Thanks


    Note for community

    Please πŸ‘ if you'd like to upvote this or receive updates. Add a comment if you'd like to contribute.

    new resources azure needs details 
    opened by arogic 1
  • Incorrect node count for node pool when using `terraform-google-modules`

    Incorrect node count for node pool when using `terraform-google-modules`

    HCL parsing is returning an incorrect node count when defining a node pool against a cluster created by the terraform-google-modules/kubernetes-engine module.

    It seems that it is unable to resolve module.gke-cluster.name which means the node pool is not able to detect that the cluster is zonal (not regional) and therefore assumes 3 zones by default.

    Example code

    provider "google" {
      credentials = "{\"type\":\"service_account\"}"
      region      = "us-central1"
      project     = "my-project-abc"
    }
    
    module "gke_cluser" {
      source            = "terraform-google-modules/kubernetes-engine/google//modules/beta-private-cluster"
      version           = "23.1.0"
      project_id        = "my-project-abc"
      name              = "gke-cluster"
      regional          = false
      zones             = ["us-central1-a"]
      network           = "default"
      subnetwork        = "gke"
      ip_range_pods     = "gke-pods"
      ip_range_services = "gke-services"
    
      node_pools = [
        {
          name               = "node-pool-a"
          machine_type       = "e2-small"
          node_locations     = "us-central1a"
          min_count          = 1
          max_count          = 1
          preemptible        = false
          initial_node_count = 1
        },
      ]
    }
    
    resource "google_container_node_pool" "node_pool_b" {
      project    = "my-project-abc"
      name       = "node-pool-b"
      location   = "us-central1-a"
      cluster    = module.gke-cluster.name
      node_count = 1
    
      node_config {
        preemptible  = false
        machine_type = "e2-small"
      }
    
      autoscaling {
        min_node_count = 1
        max_node_count = 1
      }
    }
    

    Result

     Name                                                               Monthly Qty  Unit   Monthly Cost
    
     google_container_node_pool.node_pool_b
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, e2-small)                      2,190  hours        $36.69
     └─ Standard provisioned storage (pd-standard)                              300  GB           $12.00
    
     module.gke_cluser.google_container_cluster.primary
     β”œβ”€ Cluster management fee                                                  730  hours        $73.00
    
     module.gke_cluser.google_container_node_pool.pools["node-pool-a"]
     β”œβ”€ Instance usage (Linux/UNIX, on-demand, e2-small)                        730  hours        $12.23
     └─ Standard provisioned storage (pd-standard)                              100  GB            $4.00
    
     OVERALL TOTAL                                                                               $137.92
    

    Expected result

    Since the cluster is not a regional cluster, we'd expect node_pool_b to have 1 instance (730 hours) instead of 3 instances (2,190 hours), similar to node-pool-a

    Workarounds

    There's two workarounds:

    1. Define the node pool inline as part of the module inputs, as per the node-pool-a in the example
    2. Specify the name of the cluster directly to the node pool, e.g. instead of cluster = module.gke-cluster.name use cluster = "gke-cluster".
    bug google 
    opened by aliscott 0
  • chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.54.4 to 1.56.0

    chore(deps): bump github.com/aws/aws-sdk-go-v2/service/ec2 from 1.54.4 to 1.56.0

    Bumps github.com/aws/aws-sdk-go-v2/service/ec2 from 1.54.4 to 1.56.0.

    Changelog

    Sourced from github.com/aws/aws-sdk-go-v2/service/ec2's changelog.

    Release (2022-09-16)

    Module Highlights

    • github.com/aws/aws-sdk-go-v2/service/codestarnotifications: v1.13.0
      • Feature: This release adds tag based access control for the UntagResource API.
    • github.com/aws/aws-sdk-go-v2/service/ecs: v1.18.21
      • Documentation: This release supports new task definition sizes.

    Release (2022-09-15)

    General Highlights

    • Dependency Update: Updated to the latest SDK module versions

    Module Highlights

    • github.com/aws/aws-sdk-go-v2/service/dynamodb: v1.17.0
      • Feature: Increased DynamoDB transaction limit from 25 to 100.
    • github.com/aws/aws-sdk-go-v2/service/ec2: v1.56.0
      • Feature: This feature allows customers to create tags for vpc-endpoint-connections and vpc-endpoint-service-permissions.
    • github.com/aws/aws-sdk-go-v2/service/sagemaker: v1.43.0
      • Feature: Amazon SageMaker Automatic Model Tuning now supports specifying Hyperband strategy for tuning jobs, which uses a multi-fidelity based tuning strategy to stop underperforming hyperparameter configurations early.

    Release (2022-09-14)

    General Highlights

    • Dependency Update: Updated to the latest SDK module versions

    Module Highlights

    • github.com/aws/aws-sdk-go-v2/feature/rds/auth: v1.2.0
      • Feature: Updated BuildAuthToken to validate the provided endpoint contains a port.
    • github.com/aws/aws-sdk-go-v2/internal/v4a: v1.0.13
      • Bug Fix: Fixes an issues where an error from an underlying SigV4 credential provider would not be surfaced from the SigV4a credential provider. Contribution by sakthipriyan-aqfer.
    • github.com/aws/aws-sdk-go-v2/service/acmpca: v1.18.0
      • Feature: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
    • github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder: v1.7.0
      • Feature: Amplify Studio UIBuilder is introducing forms functionality. Forms can be configured from Data Store models, JSON, or from scratch. These forms can then be generated in your project and used like any other React components.
    • github.com/aws/aws-sdk-go-v2/service/appconfig: v1.14.0
      • Feature: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
    • github.com/aws/aws-sdk-go-v2/service/appflow: v1.17.0
      • Feature: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
    • github.com/aws/aws-sdk-go-v2/service/appmesh: v1.16.0
      • Feature: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
    • github.com/aws/aws-sdk-go-v2/service/cloudtrail: v1.17.0
      • Feature: This release adds CloudTrail getChannel and listChannels APIs to allow customer to view the ServiceLinkedChannel configurations.
    • github.com/aws/aws-sdk-go-v2/service/codestar: v1.12.0
      • Feature: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
    • github.com/aws/aws-sdk-go-v2/service/codestarnotifications: v1.12.0
      • Feature: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
    • github.com/aws/aws-sdk-go-v2/service/cognitoidentity: v1.14.0
      • Feature: Fixed a bug in the API client generation which caused some operation parameters to be incorrectly generated as value types instead of pointer types. The service API always required these affected parameters to be nilable. This fixes the SDK client to match the expectations of the the service API.
    • github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider: v1.20.0

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 0
Releases(v0.10.11)
The Cloud Posse Terraform Provider for various utilities (E.g. deep merging)

terraform-provider-utils Terraform provider to add additional missing functionality to Terraform This project is part of our comprehensive "SweetOps"

Cloud Posse 64 Sep 22, 2022
Terraform Provider for Confluent Cloud

Terraform Provider for Confluent Cloud The Terraform Confluent Cloud provider is a plugin for Terraform that allows for the lifecycle management of Co

Confluent Inc. 51 Jul 19, 2022
Contentrouter - Protect static content via Firebase Hosting with Cloud Run and Google Cloud Storage

contentrouter A Cloud Run service to gate static content stored in Google Cloud

G. Hussain Chinoy 0 Jan 2, 2022
TurtleDex is a decentralized cloud storage platform that radically alters the landscape of cloud storage.

TurtleDex is a decentralized cloud storage platform that radically alters the landscape of cloud storage. By leveraging smart contracts, client-side e

TurtleDev 18 Feb 17, 2021
Cloudpods is a cloud-native open source unified multi/hybrid-cloud platform developed with Golang

Cloudpods is a cloud-native open source unified multi/hybrid-cloud platform developed with Golang, i.e. Cloudpods is a cloud on clouds. Cloudpods is able to manage not only on-premise KVM/baremetals, but also resources from many cloud accounts across many cloud providers. It hides the differences of underlying cloud providers and exposes one set of APIs that allow programatically interacting with these many clouds.

null 1 Jan 11, 2022
A Cloud Foundry cli plugin that offers a faster and customizable alternative for cf apps

Panzer cf cli plugin A plugin for faster interaction (less API calls) with Cloud Foundry, and choose the columns you want in your output. Instead of "

Harry Metske 0 Feb 14, 2022
Fleex allows you to create multiple VPS on cloud providers and use them to distribute your workload.

Fleex allows you to create multiple VPS on cloud providers and use them to distribute your workload. Run tools like masscan, puredns, ffuf, httpx or anything you need and get results quickly!

null 170 Sep 28, 2022
A Cloud Native Buildpack that contributes the Syft CLI which can be used to generate SBoM information

gcr.io/paketo-buildpacks/syft The Paketo Syft Buildpack is a Cloud Native Buildpack that contributes the Syft CLI which can be used to generate SBoM i

Paketo Buildpacks 3 Sep 23, 2022
The extensible SQL interface to your favorite cloud APIs.

The extensible SQL interface to your favorite cloud APIs.

Turbot 3.3k Oct 3, 2022
Unofficial Terraform Provider for Zscaler Private Access

Terraform Provider for ☁️ Zscaler Private Access ☁️ ⚠️ Attention: This provider is not affiliated with, nor supported by Zscaler in any way. Website:

William Guilherme 38 Sep 22, 2022
β˜οΈπŸƒ Get up and running with Go on Google Cloud.

Get up and running with Go and gRPC on Google Cloud Platform, with this lightweight, opinionated, batteries-included service SDK.

Einride 21 Sep 25, 2022
Elkeid is a Cloud-Native Host-Based Intrusion Detection solution project to provide next-generation Threat Detection and Behavior Audition with modern architecture.

Elkeid is a Cloud-Native Host-Based Intrusion Detection solution project to provide next-generation Threat Detection and Behavior Audition with modern architecture.

Bytedance Inc. 1.4k Sep 27, 2022
Sample apps and code written for Google Cloud in the Go programming language.

Google Cloud Platform Go Samples This repository holds sample code written in Go that demonstrates the Google Cloud Platform. Some samples have accomp

Google Cloud Platform 3.6k Sep 27, 2022
Use Google Cloud KMS as an io.Reader and rand.Source.

Google Cloud KMS Go io.Reader and rand.Source This package provides a struct that implements Go's io.Reader and math/rand.Source interfaces, using Goo

Seth Vargo 4 Sep 23, 2022
A Cloud Native Buildpack that contributes SDKMAN and uses it to install dependencies like the Java Virtual Machine

gcr.io/paketo-buildpacks/sdkman A Cloud Native Buildpack that contributes SDKMAN and uses it to install dependencies like the Java Virtual Machine. Be

Daniel Mikusa 1 Jan 8, 2022
Lightweight Cloud Instance Contextualizer

Flamingo Flamingo is a lightweight contextualization tool that aims to handle initialization of cloud instances. It is meant to be a replacement for c

Tamer Tas 36 Jun 18, 2022
Go language interface to Swift / Openstack Object Storage / Rackspace cloud files (golang)

Swift This package provides an easy to use library for interfacing with Swift / Openstack Object Storage / Rackspace cloud files from the Go Language

Nick Craig-Wood 292 Jun 30, 2022
Cloud-native way to provide elastic Jupyter Notebook services on Kubernetes

elastic-jupyter-operator: Elastic Jupyter on Kubernetes Kubernetes εŽŸη”Ÿηš„εΌΉζ€§ Jupyter 即服劑 介绍 δΈΊη”¨ζˆ·ζŒ‰ιœ€ζδΎ›εΌΉζ€§ηš„ Jupyter Notebook ζœεŠ‘γ€‚elastic-jupyter-operator 提供δ»₯下特性

TKEStack 132 Sep 21, 2022
Google Cloud Client Libraries for Go.

Google Cloud Client Libraries for Go.

Google APIs 3k Sep 23, 2022