diff --git a/vendor/github.com/hashicorp/terraform/config/interpolate_funcs.go b/vendor/github.com/hashicorp/terraform/config/interpolate_funcs.go index 72be817a..b94fca88 100644 --- a/vendor/github.com/hashicorp/terraform/config/interpolate_funcs.go +++ b/vendor/github.com/hashicorp/terraform/config/interpolate_funcs.go @@ -1698,7 +1698,7 @@ func interpolationFuncRsaDecrypt() ast.Function { b, err := base64.StdEncoding.DecodeString(s) if err != nil { - return "", fmt.Errorf("Failed to decode input %q: cipher text must be base64-encoded", key) + return "", fmt.Errorf("Failed to decode input %q: cipher text must be base64-encoded", s) } block, _ := pem.Decode([]byte(key)) diff --git a/vendor/github.com/hashicorp/terraform/config/module/storage.go b/vendor/github.com/hashicorp/terraform/config/module/storage.go index c1588d68..4b828dcb 100644 --- a/vendor/github.com/hashicorp/terraform/config/module/storage.go +++ b/vendor/github.com/hashicorp/terraform/config/module/storage.go @@ -11,7 +11,6 @@ import ( getter "github.com/hashicorp/go-getter" "github.com/hashicorp/terraform/registry" "github.com/hashicorp/terraform/registry/regsrc" - "github.com/hashicorp/terraform/svchost/auth" "github.com/hashicorp/terraform/svchost/disco" "github.com/mitchellh/cli" ) @@ -64,22 +63,19 @@ type Storage struct { // StorageDir is the full path to the directory where all modules will be // stored. StorageDir string - // Services is a required *disco.Disco, which may have services and - // credentials pre-loaded. - Services *disco.Disco - // Creds optionally provides credentials for communicating with service - // providers. - Creds auth.CredentialsSource + // Ui is an optional cli.Ui for user output Ui cli.Ui + // Mode is the GetMode that will be used for various operations. Mode GetMode registry *registry.Client } -func NewStorage(dir string, services *disco.Disco, creds auth.CredentialsSource) *Storage { - regClient := registry.NewClient(services, creds, nil) +// NewStorage returns a new initialized Storage object. +func NewStorage(dir string, services *disco.Disco) *Storage { + regClient := registry.NewClient(services, nil) return &Storage{ StorageDir: dir, diff --git a/vendor/github.com/hashicorp/terraform/helper/logging/transport.go b/vendor/github.com/hashicorp/terraform/helper/logging/transport.go index 44779248..bddabe64 100644 --- a/vendor/github.com/hashicorp/terraform/helper/logging/transport.go +++ b/vendor/github.com/hashicorp/terraform/helper/logging/transport.go @@ -1,9 +1,12 @@ package logging import ( + "bytes" + "encoding/json" "log" "net/http" "net/http/httputil" + "strings" ) type transport struct { @@ -15,7 +18,7 @@ func (t *transport) RoundTrip(req *http.Request) (*http.Response, error) { if IsDebugOrHigher() { reqData, err := httputil.DumpRequestOut(req, true) if err == nil { - log.Printf("[DEBUG] "+logReqMsg, t.name, string(reqData)) + log.Printf("[DEBUG] "+logReqMsg, t.name, prettyPrintJsonLines(reqData)) } else { log.Printf("[ERROR] %s API Request error: %#v", t.name, err) } @@ -29,7 +32,7 @@ func (t *transport) RoundTrip(req *http.Request) (*http.Response, error) { if IsDebugOrHigher() { respData, err := httputil.DumpResponse(resp, true) if err == nil { - log.Printf("[DEBUG] "+logRespMsg, t.name, string(respData)) + log.Printf("[DEBUG] "+logRespMsg, t.name, prettyPrintJsonLines(respData)) } else { log.Printf("[ERROR] %s API Response error: %#v", t.name, err) } @@ -42,6 +45,20 @@ func NewTransport(name string, t http.RoundTripper) *transport { return &transport{name, t} } +// prettyPrintJsonLines iterates through a []byte line-by-line, +// transforming any lines that are complete json into pretty-printed json. +func prettyPrintJsonLines(b []byte) string { + parts := strings.Split(string(b), "\n") + for i, p := range parts { + if b := []byte(p); json.Valid(b) { + var out bytes.Buffer + json.Indent(&out, b, "", " ") + parts[i] = out.String() + } + } + return strings.Join(parts, "\n") +} + const logReqMsg = `%s API Request Details: ---[ REQUEST ]--------------------------------------- %s diff --git a/vendor/github.com/hashicorp/terraform/helper/resource/testing.go b/vendor/github.com/hashicorp/terraform/helper/resource/testing.go index 27bfc9b5..af3d2dda 100644 --- a/vendor/github.com/hashicorp/terraform/helper/resource/testing.go +++ b/vendor/github.com/hashicorp/terraform/helper/resource/testing.go @@ -266,6 +266,15 @@ type TestStep struct { // below. PreConfig func() + // Taint is a list of resource addresses to taint prior to the execution of + // the step. Be sure to only include this at a step where the referenced + // address will be present in state, as it will fail the test if the resource + // is missing. + // + // This option is ignored on ImportState tests, and currently only works for + // resources in the root module path. + Taint []string + //--------------------------------------------------------------- // Test modes. One of the following groups of settings must be // set to determine what the test step will do. Ideally we would've diff --git a/vendor/github.com/hashicorp/terraform/helper/resource/testing_config.go b/vendor/github.com/hashicorp/terraform/helper/resource/testing_config.go index 300a9ea6..033f1266 100644 --- a/vendor/github.com/hashicorp/terraform/helper/resource/testing_config.go +++ b/vendor/github.com/hashicorp/terraform/helper/resource/testing_config.go @@ -1,6 +1,7 @@ package resource import ( + "errors" "fmt" "log" "strings" @@ -21,6 +22,14 @@ func testStep( opts terraform.ContextOpts, state *terraform.State, step TestStep) (*terraform.State, error) { + // Pre-taint any resources that have been defined in Taint, as long as this + // is not a destroy step. + if !step.Destroy { + if err := testStepTaint(state, step); err != nil { + return state, err + } + } + mod, err := testModule(opts, step) if err != nil { return state, err @@ -154,3 +163,19 @@ func testStep( // Made it here? Good job test step! return state, nil } + +func testStepTaint(state *terraform.State, step TestStep) error { + for _, p := range step.Taint { + m := state.RootModule() + if m == nil { + return errors.New("no state") + } + rs, ok := m.Resources[p] + if !ok { + return fmt.Errorf("resource %q not found in state", p) + } + log.Printf("[WARN] Test: Explicitly tainting resource %q", p) + rs.Taint() + } + return nil +} diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/data_source_resource_shim.go b/vendor/github.com/hashicorp/terraform/helper/schema/data_source_resource_shim.go index 5a03d2d8..8d93750a 100644 --- a/vendor/github.com/hashicorp/terraform/helper/schema/data_source_resource_shim.go +++ b/vendor/github.com/hashicorp/terraform/helper/schema/data_source_resource_shim.go @@ -32,7 +32,7 @@ func DataSourceResourceShim(name string, dataSource *Resource) *Resource { // FIXME: Link to some further docs either on the website or in the // changelog, once such a thing exists. - dataSource.deprecationMessage = fmt.Sprintf( + dataSource.DeprecationMessage = fmt.Sprintf( "using %s as a resource is deprecated; consider using the data source instead", name, ) diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/resource.go b/vendor/github.com/hashicorp/terraform/helper/schema/resource.go index 8f726bfb..d3be2d61 100644 --- a/vendor/github.com/hashicorp/terraform/helper/schema/resource.go +++ b/vendor/github.com/hashicorp/terraform/helper/schema/resource.go @@ -124,9 +124,7 @@ type Resource struct { Importer *ResourceImporter // If non-empty, this string is emitted as a warning during Validate. - // This is a private interface for now, for use by DataSourceResourceShim, - // and not for general use. (But maybe later...) - deprecationMessage string + DeprecationMessage string // Timeouts allow users to specify specific time durations in which an // operation should time out, to allow them to extend an action to suit their @@ -269,8 +267,8 @@ func (r *Resource) Diff( func (r *Resource) Validate(c *terraform.ResourceConfig) ([]string, []error) { warns, errs := schemaMap(r.Schema).Validate(c) - if r.deprecationMessage != "" { - warns = append(warns, r.deprecationMessage) + if r.DeprecationMessage != "" { + warns = append(warns, r.DeprecationMessage) } return warns, errs diff --git a/vendor/github.com/hashicorp/terraform/helper/schema/set.go b/vendor/github.com/hashicorp/terraform/helper/schema/set.go index bb194ee6..cba28903 100644 --- a/vendor/github.com/hashicorp/terraform/helper/schema/set.go +++ b/vendor/github.com/hashicorp/terraform/helper/schema/set.go @@ -17,6 +17,12 @@ func HashString(v interface{}) int { return hashcode.String(v.(string)) } +// HashInt hashes integers. If you want a Set of integers, this is the +// SchemaSetFunc you want. +func HashInt(v interface{}) int { + return hashcode.String(strconv.Itoa(v.(int))) +} + // HashResource hashes complex structures that are described using // a *Resource. This is the default set implementation used when a set's // element type is a full resource. diff --git a/vendor/github.com/hashicorp/terraform/registry/client.go b/vendor/github.com/hashicorp/terraform/registry/client.go index aefed84a..8e31a6a3 100644 --- a/vendor/github.com/hashicorp/terraform/registry/client.go +++ b/vendor/github.com/hashicorp/terraform/registry/client.go @@ -15,7 +15,6 @@ import ( "github.com/hashicorp/terraform/registry/regsrc" "github.com/hashicorp/terraform/registry/response" "github.com/hashicorp/terraform/svchost" - "github.com/hashicorp/terraform/svchost/auth" "github.com/hashicorp/terraform/svchost/disco" "github.com/hashicorp/terraform/version" ) @@ -37,19 +36,14 @@ type Client struct { // services is a required *disco.Disco, which may have services and // credentials pre-loaded. services *disco.Disco - - // Creds optionally provides credentials for communicating with service - // providers. - creds auth.CredentialsSource } -func NewClient(services *disco.Disco, creds auth.CredentialsSource, client *http.Client) *Client { +// NewClient returns a new initialized registry client. +func NewClient(services *disco.Disco, client *http.Client) *Client { if services == nil { - services = disco.NewDisco() + services = disco.New() } - services.SetCredentialsSource(creds) - if client == nil { client = httpclient.New() client.Timeout = requestTimeout @@ -60,7 +54,6 @@ func NewClient(services *disco.Disco, creds auth.CredentialsSource, client *http return &Client{ client: client, services: services, - creds: creds, } } @@ -137,11 +130,7 @@ func (c *Client) Versions(module *regsrc.Module) (*response.ModuleVersions, erro } func (c *Client) addRequestCreds(host svchost.Hostname, req *http.Request) { - if c.creds == nil { - return - } - - creds, err := c.creds.ForHost(host) + creds, err := c.services.CredentialsForHost(host) if err != nil { log.Printf("[WARN] Failed to get credentials for %s: %s (ignoring)", host, err) return diff --git a/vendor/github.com/hashicorp/terraform/svchost/auth/credentials.go b/vendor/github.com/hashicorp/terraform/svchost/auth/credentials.go index 0bc6db4f..0372c160 100644 --- a/vendor/github.com/hashicorp/terraform/svchost/auth/credentials.go +++ b/vendor/github.com/hashicorp/terraform/svchost/auth/credentials.go @@ -42,6 +42,9 @@ type HostCredentials interface { // receiving credentials. The usual behavior of this method is to // add some sort of Authorization header to the request. PrepareRequest(req *http.Request) + + // Token returns the authentication token. + Token() string } // ForHost iterates over the contained CredentialsSource objects and diff --git a/vendor/github.com/hashicorp/terraform/svchost/auth/token_credentials.go b/vendor/github.com/hashicorp/terraform/svchost/auth/token_credentials.go index 8f771b0d..9358bcb6 100644 --- a/vendor/github.com/hashicorp/terraform/svchost/auth/token_credentials.go +++ b/vendor/github.com/hashicorp/terraform/svchost/auth/token_credentials.go @@ -18,3 +18,8 @@ func (tc HostCredentialsToken) PrepareRequest(req *http.Request) { } req.Header.Set("Authorization", "Bearer "+string(tc)) } + +// Token returns the authentication token. +func (tc HostCredentialsToken) Token() string { + return string(tc) +} diff --git a/vendor/github.com/hashicorp/terraform/svchost/disco/disco.go b/vendor/github.com/hashicorp/terraform/svchost/disco/disco.go index 144384e0..7fc49da9 100644 --- a/vendor/github.com/hashicorp/terraform/svchost/disco/disco.go +++ b/vendor/github.com/hashicorp/terraform/svchost/disco/disco.go @@ -42,8 +42,15 @@ type Disco struct { Transport http.RoundTripper } -func NewDisco() *Disco { - return &Disco{} +// New returns a new initialized discovery object. +func New() *Disco { + return NewWithCredentialsSource(nil) +} + +// NewWithCredentialsSource returns a new discovery object initialized with +// the given credentials source. +func NewWithCredentialsSource(credsSrc auth.CredentialsSource) *Disco { + return &Disco{credsSrc: credsSrc} } // SetCredentialsSource provides a credentials source that will be used to @@ -55,6 +62,15 @@ func (d *Disco) SetCredentialsSource(src auth.CredentialsSource) { d.credsSrc = src } +// CredentialsForHost returns a non-nil HostCredentials if the embedded source has +// credentials available for the host, and a nil HostCredentials if it does not. +func (d *Disco) CredentialsForHost(host svchost.Hostname) (auth.HostCredentials, error) { + if d.credsSrc == nil { + return nil, nil + } + return d.credsSrc.ForHost(host) +} + // ForceHostServices provides a pre-defined set of services for a given // host, which prevents the receiver from attempting network-based discovery // for the given host. Instead, the given services map will be returned @@ -117,7 +133,7 @@ func (d *Disco) DiscoverServiceURL(host svchost.Hostname, serviceID string) *url func (d *Disco) discover(host svchost.Hostname) Host { discoURL := &url.URL{ Scheme: "https", - Host: string(host), + Host: host.String(), Path: discoPath, } @@ -144,15 +160,10 @@ func (d *Disco) discover(host svchost.Hostname) Host { URL: discoURL, } - if d.credsSrc != nil { - creds, err := d.credsSrc.ForHost(host) - if err == nil { - if creds != nil { - creds.PrepareRequest(req) // alters req to include credentials - } - } else { - log.Printf("[WARN] Failed to get credentials for %s: %s (ignoring)", host, err) - } + if creds, err := d.CredentialsForHost(host); err != nil { + log.Printf("[WARN] Failed to get credentials for %s: %s (ignoring)", host, err) + } else if creds != nil { + creds.PrepareRequest(req) // alters req to include credentials } log.Printf("[DEBUG] Service discovery for %s at %s", host, discoURL) @@ -166,6 +177,8 @@ func (d *Disco) discover(host svchost.Hostname) Host { log.Printf("[WARN] Failed to request discovery document: %s", err) return ret // empty } + defer resp.Body.Close() + if resp.StatusCode != 200 { log.Printf("[WARN] Failed to request discovery document: %s", resp.Status) return ret // empty diff --git a/vendor/github.com/hashicorp/terraform/version/version.go b/vendor/github.com/hashicorp/terraform/version/version.go index 3b982dbd..996bfa9a 100644 --- a/vendor/github.com/hashicorp/terraform/version/version.go +++ b/vendor/github.com/hashicorp/terraform/version/version.go @@ -1,7 +1,7 @@ // The version package provides a location to set the release versions for all // packages to consume, without creating import cycles. // -// This pckage should not import any other terraform packages. +// This package should not import any other terraform packages. package version import ( @@ -11,7 +11,7 @@ import ( ) // The main version number that is being run at the moment. -const Version = "0.11.7" +const Version = "0.11.8" // A pre-release marker for the version. If this is "" (empty string) // then it means that it is a final release. Otherwise, this is a pre-release diff --git a/vendor/vendor.json b/vendor/vendor.json index 33ed2a0e..9c39ab4a 100644 --- a/vendor/vendor.json +++ b/vendor/vendor.json @@ -537,242 +537,260 @@ "revisionTime": "2015-06-09T07:04:31Z" }, { - "checksumSHA1": "D2qVXjDywJu6wLj/4NCTsFnRrvw=", + "checksumSHA1": "MpMvoeVDNxeoOQTI+hUxt+0bHdY=", "path": "github.com/hashicorp/terraform/config", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "WzQP2WfiCYlaALKZVqEFsxZsG1o=", "path": "github.com/hashicorp/terraform/config/configschema", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "3V7300kyZF+AGy/cOKV0+P6M3LY=", "path": "github.com/hashicorp/terraform/config/hcl2shim", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { - "checksumSHA1": "HayBWvFE+t9aERoz9kpE2MODurk=", + "checksumSHA1": "/5UEeukyNbbP/j80Jht10AZ+Law=", "path": "github.com/hashicorp/terraform/config/module", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "mPbjVPD2enEey45bP4M83W2AxlY=", "path": "github.com/hashicorp/terraform/dag", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "P8gNPDuOzmiK4Lz9xG7OBy4Rlm8=", "path": "github.com/hashicorp/terraform/flatmap", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "zx5DLo5aV0xDqxGTzSibXg7HHAA=", "path": "github.com/hashicorp/terraform/helper/acctest", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "uT6Q9RdSRAkDjyUgQlJ2XKJRab4=", "path": "github.com/hashicorp/terraform/helper/config", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "qVmQPoZmJ2w2OnaxIheWfuwun6g=", "path": "github.com/hashicorp/terraform/helper/customdiff", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "FH5eOEHfHgdxPC/JnfmCeSBk66U=", "path": "github.com/hashicorp/terraform/helper/encryption", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "KNvbU1r5jv0CBeQLnEtDoL3dRtc=", "path": "github.com/hashicorp/terraform/helper/hashcode", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "B267stWNQd0/pBTXHfI/tJsxzfc=", "path": "github.com/hashicorp/terraform/helper/hilmapstructure", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { - "checksumSHA1": "BAXV9ruAyno3aFgwYI2/wWzB2Gc=", + "checksumSHA1": "j8XqkwLh2W3r3i6wnCRmve07BgI=", "path": "github.com/hashicorp/terraform/helper/logging", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "twkFd4x71kBnDfrdqO5nhs8dMOY=", "path": "github.com/hashicorp/terraform/helper/mutexkv", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "ImyqbHM/xe3eAT2moIjLI8ksuks=", "path": "github.com/hashicorp/terraform/helper/pathorcontents", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { - "checksumSHA1": "ryCWu7RtMlYrAfSevaI7RtaXe98=", + "checksumSHA1": "3ml5nA9mNVoK30lE2W0DxQIPWiw=", "path": "github.com/hashicorp/terraform/helper/resource", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { - "checksumSHA1": "JHxGzmxcIS8NyLX9pGhK5beIra4=", + "checksumSHA1": "zA2C6Pg+7DII0K3M0g49R/nRLvc=", "path": "github.com/hashicorp/terraform/helper/schema", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "Fzbv+N7hFXOtrR6E7ZcHT3jEE9s=", "path": "github.com/hashicorp/terraform/helper/structure", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "nEC56vB6M60BJtGPe+N9rziHqLg=", "path": "github.com/hashicorp/terraform/helper/validation", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "kD1ayilNruf2cES1LDfNZjYRscQ=", "path": "github.com/hashicorp/terraform/httpclient", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "yFWmdS6yEJZpRJzUqd/mULqCYGk=", "path": "github.com/hashicorp/terraform/moduledeps", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "DqaoG++NXRCfvH/OloneLWrM+3k=", "path": "github.com/hashicorp/terraform/plugin", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "tx5xrdiUWdAHqoRV5aEfALgT1aU=", "path": "github.com/hashicorp/terraform/plugin/discovery", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { - "checksumSHA1": "f6wDpr0uHKZqQw4ztvxMrtiuvQo=", + "checksumSHA1": "dD3uZ27A7V6r2ZcXabXbUwOxD2E=", "path": "github.com/hashicorp/terraform/registry", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "cR87P4V5aiEfvF+1qoBi2JQyQS4=", "path": "github.com/hashicorp/terraform/registry/regsrc", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "y9IXgIJQq9XNy1zIYUV2Kc0KsnA=", "path": "github.com/hashicorp/terraform/registry/response", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "VXlzRRDVOqeMvnnrbUcR9H64OA4=", "path": "github.com/hashicorp/terraform/svchost", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { - "checksumSHA1": "GzcKNlFL0N77JVjU8qbltXE4R3k=", + "checksumSHA1": "o6CMncmy6Q2F+r13sEOeT6R9GF8=", "path": "github.com/hashicorp/terraform/svchost/auth", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { - "checksumSHA1": "jiDWmQieUE6OoUBMs53hj9P/JDQ=", + "checksumSHA1": "uEzjKyPvbd8k5VGdgn4b/2rDDi0=", "path": "github.com/hashicorp/terraform/svchost/disco", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "lHCKONqlaHsn5cEaYltad7dvRq8=", "path": "github.com/hashicorp/terraform/terraform", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z", - "version": "v0.11.2", - "versionExact": "v0.11.2" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "+K+oz9mMTmQMxIA3KVkGRfjvm9I=", "path": "github.com/hashicorp/terraform/tfdiags", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { - "checksumSHA1": "+attjxAt9nwFpCjxWEL08YwpGD8=", + "checksumSHA1": "Q4ecxPd9vFU2UX32HtqsZDSS9Po=", "path": "github.com/hashicorp/terraform/version", - "revision": "41e50bd32a8825a84535e353c3674af8ce799161", - "revisionTime": "2018-04-10T16:50:42Z" + "revision": "6dfc4d748de9cda23835bc5704307ed45e839622", + "revisionTime": "2018-08-15T22:00:39Z", + "version": "v0.11.8", + "versionExact": "v0.11.8" }, { "checksumSHA1": "au+CDkddC4sVFV15UaPiI7FvSw0=",