tfplan2cai/converters/google/resources/getconfig.go (36 lines of code) (raw):

package google import ( "context" "net/http" "github.com/pkg/errors" transport_tpg "github.com/hashicorp/terraform-provider-google-beta/google-beta/transport" ) func NewConfig(ctx context.Context, project, zone, region string, offline bool, userAgent string, client *http.Client) (*transport_tpg.Config, error) { cfg := &transport_tpg.Config{ Project: project, Zone: zone, Region: region, UserAgent: userAgent, } // Search for default credentials cfg.Credentials = transport_tpg.MultiEnvSearch([]string{ "GOOGLE_CREDENTIALS", "GOOGLE_CLOUD_KEYFILE_JSON", "GCLOUD_KEYFILE_JSON", }) cfg.AccessToken = transport_tpg.MultiEnvSearch([]string{ "GOOGLE_OAUTH_ACCESS_TOKEN", }) cfg.ImpersonateServiceAccount = transport_tpg.MultiEnvSearch([]string{ "GOOGLE_IMPERSONATE_SERVICE_ACCOUNT", }) transport_tpg.ConfigureBasePaths(cfg) if !offline { if err := cfg.LoadAndValidate(ctx); err != nil { return nil, errors.Wrap(err, "load and validate config") } if client != nil { cfg.Client = client } } return cfg, nil }