diff --git a/builtin/providers/openstack/config.go b/builtin/providers/openstack/config.go index 142672af5f..8a2ced2ec1 100644 --- a/builtin/providers/openstack/config.go +++ b/builtin/providers/openstack/config.go @@ -11,6 +11,7 @@ import ( "github.com/gophercloud/gophercloud/openstack" "github.com/gophercloud/gophercloud/openstack/objectstorage/v1/swauth" "github.com/hashicorp/terraform/helper/pathorcontents" + "github.com/hashicorp/terraform/terraform" ) type Config struct { @@ -69,6 +70,9 @@ func (c *Config) loadAndValidate() error { return err } + // Set UserAgent + client.UserAgent.Prepend(terraform.UserAgentString()) + config := &tls.Config{} if c.CACertFile != "" { caCert, _, err := pathorcontents.Read(c.CACertFile) diff --git a/terraform/user_agent.go b/terraform/user_agent.go new file mode 100644 index 0000000000..700be2ae20 --- /dev/null +++ b/terraform/user_agent.go @@ -0,0 +1,14 @@ +package terraform + +import ( + "fmt" + "runtime" +) + +// The standard Terraform User-Agent format +const UserAgent = "Terraform %s (%s)" + +// Generate a UserAgent string +func UserAgentString() string { + return fmt.Sprintf(UserAgent, VersionString(), runtime.Version()) +}