Environment Variables

Gradle execution environment is not passed down to the Terraform/OpenTofu by default. The exception is specific platform-dependent variables as defined by the following logic:

if (OS.windows) {
    [
        TEMP        : System.getenv('TEMP'),
        TMP         : System.getenv('TMP'),
        HOMEDRIVE   : System.getenv('HOMEDRIVE'),
        HOMEPATH    : System.getenv('HOMEPATH'),
        USERPROFILE : System.getenv('USERPROFILE'),
        (OS.pathVar): System.getenv(OS.pathVar)
    ] as Map<String, Object>
} else {
    [
        HOME        : System.getProperty('user.home'),
        (OS.pathVar): System.getenv(OS.pathVar)
    ] as Map<String, Object>
}

Additional, non-sensitive, environment variables are defined on the source set

sourceSets {
  main {
    environment( foo1: 'bar1', foo2: 'bar2') (1)
    environment 'foo1', 'bar1' ) (2)
    addEnvironmentProvider( provider { -> [ foo1: 'bar1', foo2: 'bar2' ]}) (3)
  }
}
1 A map of environment variables.
2 A single environment variables passed as key and value.
3 A provider of additional, non-sensitive, environment variables