From 401c6a95a7d98004b2fa4d0f8d68fc4b95f870e9 Mon Sep 17 00:00:00 2001 From: Gavin Williams Date: Fri, 2 Jun 2017 05:12:25 +0100 Subject: [PATCH] provider/openstack: Add Terraform version to UserAgent string (#14955) * core: Add 'UserAgentString' helper function to generate a standard UserAgent string. Example generation: 'Terraform 0.9.7-dev (go1.8.1)' * provider/openstack: Add Terraform version to UserAgent string --- builtin/providers/openstack/config.go | 4 ++++ terraform/user_agent.go | 14 ++++++++++++++ 2 files changed, 18 insertions(+) create mode 100644 terraform/user_agent.go diff --git a/builtin/providers/openstack/config.go b/builtin/providers/openstack/config.go index 142672af5..8a2ced2ec 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 000000000..700be2ae2 --- /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()) +}