From 9e394237a1da788e242ff28e67e1885e20ccc25b Mon Sep 17 00:00:00 2001 From: Zhenguo Niu Date: Tue, 24 Dec 2024 16:21:54 +0800 Subject: [PATCH] feat(provider): add default value for shared config file --- huaweicloud/provider.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/huaweicloud/provider.go b/huaweicloud/provider.go index 72e2247395..e35e56b26e 100644 --- a/huaweicloud/provider.go +++ b/huaweicloud/provider.go @@ -6,6 +6,7 @@ import ( "fmt" "log" "os" + "runtime" "strings" "sync" @@ -2553,12 +2554,13 @@ func configureProvider(_ context.Context, d *schema.ResourceData, terraformVersi conf.Region = d.Get("region").(string) - if conf.SharedConfigFile != "" { + if conf.SharedConfigFile != "" || conf.Profile != "" { err := readConfig(&conf) if err != nil { return nil, diag.FromErr(err) } } + if conf.Region == "" { return nil, diag.Errorf("region should be provided") } @@ -2702,6 +2704,13 @@ func getCloudDomain(cloud, region string) string { } func readConfig(c *config.Config) error { + if c.SharedConfigFile == "" { + c.SharedConfigFile = fmt.Sprintf("%s/.hcloud/config.json", os.Getenv("HOME")) + if runtime.GOOS == "windows" { + c.SharedConfigFile = fmt.Sprintf("%s/.hcloud/config.json", os.Getenv("USERPROFILE")) + } + } + profilePath, err := homedir.Expand(c.SharedConfigFile) if err != nil { return err