github.com/mponton/terratest@v0.44.0/modules/gcp/provider.go (about)

     1  package gcp
     2  
     3  import (
     4  	"github.com/mponton/terratest/modules/environment"
     5  	"github.com/mponton/terratest/modules/testing"
     6  )
     7  
     8  var credsEnvVars = []string{
     9  	"GOOGLE_APPLICATION_CREDENTIALS",
    10  	"GOOGLE_CREDENTIALS",
    11  	"GOOGLE_CLOUD_KEYFILE_JSON",
    12  	"GCLOUD_KEYFILE_JSON",
    13  	"GOOGLE_USE_DEFAULT_CREDENTIALS",
    14  }
    15  
    16  var projectEnvVars = []string{
    17  	"GOOGLE_PROJECT",
    18  	"GOOGLE_CLOUD_PROJECT",
    19  	"GOOGLE_CLOUD_PROJECT_ID",
    20  	"GCLOUD_PROJECT",
    21  	"CLOUDSDK_CORE_PROJECT",
    22  }
    23  
    24  var regionEnvVars = []string{
    25  	"GOOGLE_REGION",
    26  	"GCLOUD_REGION",
    27  	"CLOUDSDK_COMPUTE_REGION",
    28  }
    29  
    30  var googleIdentityEmailEnvVars = []string{
    31  	"GOOGLE_IDENTITY_EMAIL",
    32  }
    33  
    34  // GetGoogleCredentialsFromEnvVar returns the Credentials for use with testing.
    35  func GetGoogleCredentialsFromEnvVar(t testing.TestingT) string {
    36  	return environment.GetFirstNonEmptyEnvVarOrEmptyString(t, credsEnvVars)
    37  }
    38  
    39  // GetGoogleProjectIDFromEnvVar returns the Project Id for use with testing.
    40  func GetGoogleProjectIDFromEnvVar(t testing.TestingT) string {
    41  	return environment.GetFirstNonEmptyEnvVarOrFatal(t, projectEnvVars)
    42  }
    43  
    44  // GetGoogleRegionFromEnvVar returns the Region for use with testing.
    45  func GetGoogleRegionFromEnvVar(t testing.TestingT) string {
    46  	return environment.GetFirstNonEmptyEnvVarOrFatal(t, regionEnvVars)
    47  }
    48  
    49  // GetGoogleIdentityEmailEnvVar returns a Google identity (user) for use with testing.
    50  func GetGoogleIdentityEmailEnvVar(t testing.TestingT) string {
    51  	return environment.GetFirstNonEmptyEnvVarOrFatal(t, googleIdentityEmailEnvVars)
    52  }