diff --git a/client/deployment_create.go b/client/deployment_create.go index 60b60239..197ab75a 100644 --- a/client/deployment_create.go +++ b/client/deployment_create.go @@ -26,12 +26,12 @@ type CreateDeploymentRequest struct { Build struct { Environment map[string]string `json:"env,omitempty"` } `json:"build,omitempty"` - ProjectID string `json:"project,omitempty"` - ProjectSettings map[string]*string `json:"projectSettings,omitempty"` - Name string `json:"name"` - Regions []string `json:"regions,omitempty"` - Routes []interface{} `json:"routes,omitempty"` - Target string `json:"target,omitempty"` + ProjectID string `json:"project,omitempty"` + ProjectSettings map[string]interface{} `json:"projectSettings"` + Name string `json:"name"` + Regions []string `json:"regions,omitempty"` + Routes []interface{} `json:"routes,omitempty"` + Target string `json:"target,omitempty"` } type DeploymentResponse struct { @@ -130,7 +130,7 @@ func (c *Client) CreateDeployment(ctx context.Context, request CreateDeploymentR request.Name = request.ProjectID // Name is ignored if project is specified request.Build.Environment = request.Environment // Ensure they are both the same, as project environment variables are url := fmt.Sprintf("%s/v12/now/deployments?skipAutoDetectionConfirmation=1", c.baseURL) - tflog.Info(ctx, "creating deployment", "request", string(mustMarshal(request.Files))) + tflog.Info(ctx, "creating deployment", "request", string(mustMarshal(request))) if teamID != "" { url = fmt.Sprintf("%s&teamId=%s", url, teamID) } diff --git a/vercel/resource_deployment_model.go b/vercel/resource_deployment_model.go index 1b17d8d8..adeddc6e 100644 --- a/vercel/resource_deployment_model.go +++ b/vercel/resource_deployment_model.go @@ -30,7 +30,7 @@ type Deployment struct { URL types.String `tfsdk:"url"` } -func setIfNotUnknown(m map[string]*string, v types.String, name string) { +func setIfNotUnknown(m map[string]interface{}, v types.String, name string) { if v.Null { m[name] = nil } @@ -39,11 +39,13 @@ func setIfNotUnknown(m map[string]*string, v types.String, name string) { } } -func (p *ProjectSettings) toRequest() map[string]*string { +func (p *ProjectSettings) toRequest() map[string]interface{} { + res := map[string]interface{}{ + "sourceFilesOutsideRootDirectory": true, + } if p == nil { - return nil + return res } - res := map[string]*string{} setIfNotUnknown(res, p.BuildCommand, "buildCommand") setIfNotUnknown(res, p.Framework, "framework")