github.com/hugorut/terraform@v1.1.3/website/docs/language/configuration-0-11/load.mdx (about)

     1  ---
     2  page_title: Load Order and Semantics - 0.11 Configuration Language
     3  description: >-
     4    When invoking any command that loads the Terraform configuration, Terraform
     5    loads all configuration files within the directory specified in alphabetical
     6    order.
     7  ---
     8  
     9  # Load Order and Semantics
    10  
    11  -> **Note:** This page is about Terraform 0.11 and earlier. For Terraform 0.12
    12  and later, see
    13  [Configuration Language](/language).
    14  
    15  When invoking any command that loads the Terraform configuration,
    16  Terraform loads all configuration files within the directory
    17  specified in alphabetical order.
    18  
    19  The files loaded must end in
    20  either `.tf` or `.tf.json` to specify the format that is in use.
    21  Otherwise, the files are ignored. Multiple file formats can
    22  be present in the same directory; it is okay to have one Terraform
    23  configuration file be Terraform syntax and another be JSON.
    24  
    25  [Override](/language/configuration-0-11/override)
    26  files are the exception, as they're loaded after all non-override
    27  files, in alphabetical order.
    28  
    29  The configuration within the loaded files are appended to each
    30  other. This is in contrast to being merged. This means that two
    31  resources with the same name are not merged, and will instead
    32  cause a validation error. This is in contrast to
    33  [overrides](/language/configuration-0-11/override),
    34  which do merge.
    35  
    36  The order of variables, resources, etc. defined within the
    37  configuration doesn't matter. Terraform configurations are
    38  [declarative](https://en.wikipedia.org/wiki/Declarative_programming),
    39  so references to other resources and variables do not depend
    40  on the order they're defined.