Skip to content

When disabling sort the providers order becomes inconsistent #622

@mcwarman

Description

@mcwarman

Describe the bug

When disabling sort (so the inputs are in order of the variables.tf), the provider order becomes inconsistent from execution to execution.

Flipping between:

| Name | Version |
|------|---------|
| <a name="provider_google"></a> [google](#provider\_google) | >= 4.5.0 |
| <a name="provider_google-beta"></a> [google-beta](#provider\_google-beta) | >= 4.5.0 |
| Name | Version |
|------|---------|
| <a name="provider_google-beta"></a> [google-beta](#provider\_google-beta) | >= 4.5.0 |
| <a name="provider_google"></a> [google](#provider\_google) | >= 4.5.0 |

How can we reproduce it?

#main.tf
terraform {
  required_providers {
    google = {
      source  = "hashicorp/google"
      version = ">= 4.5.0"
    }
    google-beta = {
      source  = "hashicorp/google-beta"
      version = ">= 4.5.0"
    }
  }
}

resource "google_container_node_pool" "node_pool_1" {
}

resource "google_container_node_pool" "node_pool_2" {
  provider = google-beta
}

resource "google_container_node_pool" "node_pool_3" {
}

Run the following repeatably observing output:

terraform-docs markdown table . --sort=false

Alternatively:

docker run --rm --volume "$(PWD):/terraform-docs" --workdir /terraform-docs quay.io/terraform-docs/terraform-docs:0.16.0 markdown table . --sort=false

Environment information

Tested with both docker (quay.io/terraform-docs/terraform-docs:0.16.0) and windows:

terraform-docs --version
terraform-docs version v0.16.0 1f686b1 windows/amd64

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions