diff --git a/builtin/providers/scaleway/config.go b/builtin/providers/scaleway/config.go index 5d321344a3..d82b36dda6 100644 --- a/builtin/providers/scaleway/config.go +++ b/builtin/providers/scaleway/config.go @@ -14,6 +14,7 @@ import ( type Config struct { Organization string APIKey string + Region string } // Client contains scaleway api clients @@ -27,6 +28,7 @@ func (c *Config) Client() (*Client, error) { c.Organization, c.APIKey, scwversion.UserAgent(), + c.Region, func(s *api.ScalewayAPI) { s.Logger = newTerraformLogger() }, diff --git a/builtin/providers/scaleway/provider.go b/builtin/providers/scaleway/provider.go index f2d417b813..2beea96063 100644 --- a/builtin/providers/scaleway/provider.go +++ b/builtin/providers/scaleway/provider.go @@ -21,6 +21,12 @@ func Provider() terraform.ResourceProvider { DefaultFunc: schema.EnvDefaultFunc("SCALEWAY_ORGANIZATION", nil), Description: "The Organization ID for Scaleway API operations.", }, + "region": &schema.Schema{ + Type: schema.TypeString, + Optional: true, + DefaultFunc: schema.EnvDefaultFunc("SCALEWAY_REGION", "par1"), + Description: "The Scaleway API region to use.", + }, }, ResourcesMap: map[string]*schema.Resource{ @@ -40,6 +46,7 @@ func providerConfigure(d *schema.ResourceData) (interface{}, error) { config := Config{ Organization: d.Get("organization").(string), APIKey: d.Get("access_key").(string), + Region: d.Get("region").(string), } return config.Client()