Giter Club home page Giter Club logo

terraform-aws-budgets's Issues

Incompatible provider version

Describe the Bug

Module appears to not be usable on darwin_arm64.

There is an incompatible provider version error when using this module with the latest versions of terraform and aws provider.

Expected Behavior

Module should work ion darwin_arm64

Steps to Reproduce

terraform {
  required_version = ">= 1.3.6"

  required_providers {
    aws = {
      source = "hashicorp/aws"
      version = "~> 4.45"
    }
  }
}

provider "aws" {
  region  = us-east-01
  profile = default
}

module "budgets" {
  source  = "cloudposse/budgets/aws"
  version = "0.1.3"
  budgets = {}
  notifications_enabled = false
  encryption_enabled = false
  name = "example"
}

Error

Initializing provider plugins...
- Finding hashicorp/aws versions matching ">= 2.0.0, >= 2.35.0, >= 3.0.0, >= 3.19.0, >= 3.64.0, ~> 4.45"...
- Finding hashicorp/local versions matching ">= 1.0.0, >= 1.3.0"...
- Finding hashicorp/archive versions matching ">= 1.3.0"...
- Finding hashicorp/template versions matching ">= 2.0.0"...
- Finding hashicorp/null versions matching ">= 2.0.0"...
- Finding hashicorp/random versions matching ">= 2.0.0"...
- Finding hashicorp/external versions matching ">= 1.0.0"...
- Installing hashicorp/null v3.2.1...
- Installed hashicorp/null v3.2.1 (signed by HashiCorp)
- Installing hashicorp/random v3.4.3...
- Installed hashicorp/random v3.4.3 (signed by HashiCorp)
- Installing hashicorp/external v2.2.3...
- Installed hashicorp/external v2.2.3 (signed by HashiCorp)
- Installing hashicorp/aws v4.45.0...
- Installed hashicorp/aws v4.45.0 (signed by HashiCorp)
- Installing hashicorp/local v2.2.3...
- Installed hashicorp/local v2.2.3 (signed by HashiCorp)
- Installing hashicorp/archive v2.2.0...
- Installed hashicorp/archive v2.2.0 (signed by HashiCorp)
╷
│ Error: Incompatible provider version
│
│ Provider registry.terraform.io/hashicorp/template v2.2.0 does not have a package available for your current platform, darwin_arm64.
│
│ Provider releases are separate from Terraform CLI releases, so not all providers are available for all platforms. Other versions of this provider may have different platforms supported.

Environment

  • OS: macOS
  • Version: 12.2.1
└> terraform --version
Terraform v1.3.6
on darwin_arm64

Current work around

  • writing my own module w/o the underlying dependencies.

Thanks.

Dependency Dashboard

This issue lists Renovate updates and detected dependencies. Read the Dependency Dashboard docs to learn more.

Open

These updates have all been created already. Click a checkbox below to force a retry/rebase of any.

Ignored or Blocked

These are blocked by an existing closed PR and will not be recreated unless you click a checkbox below.

Detected dependencies

terraform
examples/complete/main.tf
examples/complete/providers.tf
examples/complete/versions.tf
  • aws >= 3.0
  • hashicorp/terraform >= 1.0
main.tf
  • cloudposse/kms-key/aws 0.12.1
  • cloudposse/sns-lambda-notify-slack/aws 0.7.0
  • cloudposse/sns-topic/aws 0.21.0
versions.tf
  • aws >= 3.0
  • hashicorp/terraform >= 1.0

  • Check this box to trigger a request for Renovate to run again on this repository

Don't enforce unchangeable naming conventions on the budget name

Describe the Feature

Don't enforce unchangeable naming conventions on the budget name. It limits the flexibility of the original resource's definition and it may not work with pre-existing budgets in many organizations if it's needed to import those into state using this module.

name              = format("%s-%s", module.this.id, each.value.name)

Expected Behavior

The expectation would be that there would be a completely open input for name that wouldn't force a name"-"name naming scheme.

Use Case

Let's say I have a bunch of pre-existing budgets in an org. They've all got some specific naming scheme but they weren't originally created with terraform. I want to import them into state, but I can't do that when this module doesn't allow budgets to have a name outside of the name"-"name format.

Describe Ideal Solution

The ideal solution to this would just to have the name piece be an input string, but I can understand that since you can define multiple alerts under a single module definition, the reason it is written this way is so that each sub-alert with be separated with that naming convention "-".

name              = format("%s-%s", module.this.id, each.value.name)
  name = "test"

  budgets = [
    {
      name            = "example"

      budget_type     = "COST"
      limit_amount    = "5000"
      limit_unit      = "USD"
      // time_period_end = "2087-06-15_00:00"
      time_unit       = "MONTHLY"

      cost_filter = { }

As it stands right now, I'll get a budget called 'test-example`

But if I want a budget just called example I can't have that by leaving out name = "test" , what will instead happen is I'll get a budget called -example like so

  # aws_budgets_budget.default["0"] will be created
  + resource "aws_budgets_budget" "default" {
      + name              = "-example"

If you want to maintain all of the logic being the same you could just remove the "-" so that if I choose not to specify the first name I am not left with a hanging dash on my actual budget name like so:

name              = format("%s%s", module.this.id, each.value.name)

And this would product the desired effect.

  # aws_budgets_budget.default["0"] will be created
  + resource "aws_budgets_budget" "default" {
      + name              = "example"

Alternatives Considered

No response

Additional Context

No response

Addition of auto_adjust_data attribute in budget resource

Describe the Feature

The parameters that determine the budget amount for an auto-adjusting budget.

auto_adjust_type (Required) - The string that defines whether your budget auto-adjusts based on forecasted data

Expected Behavior

It will auto adjust the budget based on forecast

Use Case

yes i need to use in my project and its much required as we need to set up the auto adjustment

Describe Ideal Solution

We can add this attribute from terraform documentation. I have raised the PR and tested this . it wont break anything as its an optional attribute from terraform docs and i have added the docs link in the PR
here is the PR : #29

Alternatives Considered

No response

Additional Context

No response

Please resync your module in TF registry

Describe the Bug

https://registry.terraform.io/modules/cloudposse/budgets/aws/0.4.0

This should be 0.4.1 as the latest in TF registry instead of 0.4.0

Expected Behavior

There should be 0.4.1 in TF registry which can be shown , you just need to login to TF registry and there is a button called resync module which will fetch the latest tag in registry again

Steps to Reproduce

Checkout
https://registry.terraform.io/modules/cloudposse/budgets/aws/0.4.0

Screenshots

No response

Environment

No response

Additional Context

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.