From 7980aa96a8f4d87cff912962b68edfab5801c1b5 Mon Sep 17 00:00:00 2001 From: Mitchell Hashimoto Date: Thu, 12 Jun 2014 23:22:28 -0700 Subject: [PATCH] rpc: use a transport that supports nil pointers --- rpc/resource_provider.go | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/rpc/resource_provider.go b/rpc/resource_provider.go index dcd51eb85..8ab0471d2 100644 --- a/rpc/resource_provider.go +++ b/rpc/resource_provider.go @@ -15,7 +15,11 @@ type ResourceProvider struct { func (p *ResourceProvider) Validate(c *terraform.ResourceConfig) ([]string, []error) { var resp ResourceProviderValidateResponse - err := p.Client.Call(p.Name+".Validate", c, &resp) + args := ResourceProviderValidateArgs{ + Config: c, + } + + err := p.Client.Call(p.Name+".Validate", &args, &resp) if err != nil { return nil, []error{err} } @@ -95,15 +99,19 @@ type ResourceProviderDiffResponse struct { Error *BasicError } +type ResourceProviderValidateArgs struct { + Config *terraform.ResourceConfig +} + type ResourceProviderValidateResponse struct { Warnings []string Errors []*BasicError } func (s *ResourceProviderServer) Validate( - config *terraform.ResourceConfig, + args *ResourceProviderValidateArgs, reply *ResourceProviderValidateResponse) error { - warns, errs := s.Provider.Validate(config) + warns, errs := s.Provider.Validate(args.Config) berrs := make([]*BasicError, len(errs)) for i, err := range errs { berrs[i] = NewBasicError(err)