From 0e75ea0f5af73d6c653978f2d4d59e0ffbd03a11 Mon Sep 17 00:00:00 2001 From: Matthew Sanabria Date: Fri, 13 Sep 2019 20:02:31 -0400 Subject: [PATCH 1/3] Adding support for configuring operations --- workspace.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/workspace.go b/workspace.go index e9c55d13b..648bcf1d6 100644 --- a/workspace.go +++ b/workspace.go @@ -179,6 +179,9 @@ type WorkspaceCreateOptions struct { // organization. Name *string `jsonapi:"attr,name"` + // Whether the workspace will use remote or local execution mode. + Operations *bool `jsonapi:"attr,operations,omitempty"` + // Whether to queue all runs. Unless this is set to true, runs triggered by // a webhook will not be queued until at least one run is manually queued. QueueAllRuns *bool `jsonapi:"attr,queue-all-runs,omitempty"` @@ -316,6 +319,9 @@ type WorkspaceUpdateOptions struct { // disabled, any push will trigger a run. FileTriggersEnabled *bool `jsonapi:"attr,file-triggers-enabled,omitempty"` + // Whether the workspace will use remote or local execution mode. + Operations *bool `jsonapi:"attr,operations,omitempty"` + // Whether to queue all runs. Unless this is set to true, runs triggered by // a webhook will not be queued until at least one run is manually queued. QueueAllRuns *bool `jsonapi:"attr,queue-all-runs,omitempty"` From fc0cd88bf74ebf68d4b4260155e6c0f3bd58730a Mon Sep 17 00:00:00 2001 From: Matthew Sanabria Date: Tue, 17 Sep 2019 01:08:53 -0400 Subject: [PATCH 2/3] Adding operations to tests --- workspace_test.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/workspace_test.go b/workspace_test.go index 50140c6c7..96e017208 100644 --- a/workspace_test.go +++ b/workspace_test.go @@ -90,6 +90,7 @@ func TestWorkspacesCreate(t *testing.T) { AutoApply: Bool(true), FileTriggersEnabled: Bool(true), QueueAllRuns: Bool(true), + Operations: Bool(true), TerraformVersion: String("0.11.0"), TriggerPrefixes: []string{"/modules", "/shared"}, WorkingDirectory: String("bar/"), @@ -111,6 +112,7 @@ func TestWorkspacesCreate(t *testing.T) { assert.Equal(t, *options.AutoApply, item.AutoApply) assert.Equal(t, *options.FileTriggersEnabled, item.FileTriggersEnabled) assert.Equal(t, *options.QueueAllRuns, item.QueueAllRuns) + assert.Equal(t, *options.Operations, item.Operations) assert.Equal(t, *options.TerraformVersion, item.TerraformVersion) assert.Equal(t, options.TriggerPrefixes, item.TriggerPrefixes) assert.Equal(t, *options.WorkingDirectory, item.WorkingDirectory) @@ -257,6 +259,7 @@ func TestWorkspacesUpdate(t *testing.T) { Name: String(wTest.Name), AutoApply: Bool(true), QueueAllRuns: Bool(true), + Operations: Bool(true), TerraformVersion: String("0.10.0"), } @@ -276,6 +279,7 @@ func TestWorkspacesUpdate(t *testing.T) { AutoApply: Bool(false), FileTriggersEnabled: Bool(true), QueueAllRuns: Bool(false), + Operations: Bool(false), TerraformVersion: String("0.11.1"), TriggerPrefixes: []string{"/modules", "/shared"}, WorkingDirectory: String("baz/"), @@ -296,6 +300,7 @@ func TestWorkspacesUpdate(t *testing.T) { assert.Equal(t, *options.AutoApply, item.AutoApply) assert.Equal(t, *options.FileTriggersEnabled, item.FileTriggersEnabled) assert.Equal(t, *options.QueueAllRuns, item.QueueAllRuns) + assert.Equal(t, *options.Operations, item.Operations) assert.Equal(t, *options.TerraformVersion, item.TerraformVersion) assert.Equal(t, options.TriggerPrefixes, item.TriggerPrefixes) assert.Equal(t, *options.WorkingDirectory, item.WorkingDirectory) @@ -337,6 +342,7 @@ func TestWorkspacesUpdateByID(t *testing.T) { Name: String(wTest.Name), AutoApply: Bool(true), QueueAllRuns: Bool(true), + Operations: Bool(true), TerraformVersion: String("0.10.0"), } @@ -356,6 +362,7 @@ func TestWorkspacesUpdateByID(t *testing.T) { AutoApply: Bool(false), FileTriggersEnabled: Bool(true), QueueAllRuns: Bool(false), + Operations: Bool(false), TerraformVersion: String("0.11.1"), TriggerPrefixes: []string{"/modules", "/shared"}, WorkingDirectory: String("baz/"), @@ -376,6 +383,7 @@ func TestWorkspacesUpdateByID(t *testing.T) { assert.Equal(t, *options.AutoApply, item.AutoApply) assert.Equal(t, *options.FileTriggersEnabled, item.FileTriggersEnabled) assert.Equal(t, *options.QueueAllRuns, item.QueueAllRuns) + assert.Equal(t, *options.Operations, item.Operations) assert.Equal(t, *options.TerraformVersion, item.TerraformVersion) assert.Equal(t, options.TriggerPrefixes, item.TriggerPrefixes) assert.Equal(t, *options.WorkingDirectory, item.WorkingDirectory) From 844f52ae5f75319e407c8d506555838971d2a078 Mon Sep 17 00:00:00 2001 From: Matthew Sanabria Date: Mon, 23 Sep 2019 23:04:14 -0400 Subject: [PATCH 3/3] Reordering for alphabetization --- workspace_test.go | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/workspace_test.go b/workspace_test.go index 96e017208..3b0148356 100644 --- a/workspace_test.go +++ b/workspace_test.go @@ -89,8 +89,8 @@ func TestWorkspacesCreate(t *testing.T) { Name: String("foo"), AutoApply: Bool(true), FileTriggersEnabled: Bool(true), - QueueAllRuns: Bool(true), Operations: Bool(true), + QueueAllRuns: Bool(true), TerraformVersion: String("0.11.0"), TriggerPrefixes: []string{"/modules", "/shared"}, WorkingDirectory: String("bar/"), @@ -111,8 +111,8 @@ func TestWorkspacesCreate(t *testing.T) { assert.Equal(t, *options.Name, item.Name) assert.Equal(t, *options.AutoApply, item.AutoApply) assert.Equal(t, *options.FileTriggersEnabled, item.FileTriggersEnabled) - assert.Equal(t, *options.QueueAllRuns, item.QueueAllRuns) assert.Equal(t, *options.Operations, item.Operations) + assert.Equal(t, *options.QueueAllRuns, item.QueueAllRuns) assert.Equal(t, *options.TerraformVersion, item.TerraformVersion) assert.Equal(t, options.TriggerPrefixes, item.TriggerPrefixes) assert.Equal(t, *options.WorkingDirectory, item.WorkingDirectory) @@ -258,8 +258,8 @@ func TestWorkspacesUpdate(t *testing.T) { options := WorkspaceUpdateOptions{ Name: String(wTest.Name), AutoApply: Bool(true), - QueueAllRuns: Bool(true), Operations: Bool(true), + QueueAllRuns: Bool(true), TerraformVersion: String("0.10.0"), } @@ -278,8 +278,8 @@ func TestWorkspacesUpdate(t *testing.T) { Name: String(randomString(t)), AutoApply: Bool(false), FileTriggersEnabled: Bool(true), - QueueAllRuns: Bool(false), Operations: Bool(false), + QueueAllRuns: Bool(false), TerraformVersion: String("0.11.1"), TriggerPrefixes: []string{"/modules", "/shared"}, WorkingDirectory: String("baz/"), @@ -299,8 +299,8 @@ func TestWorkspacesUpdate(t *testing.T) { assert.Equal(t, *options.Name, item.Name) assert.Equal(t, *options.AutoApply, item.AutoApply) assert.Equal(t, *options.FileTriggersEnabled, item.FileTriggersEnabled) - assert.Equal(t, *options.QueueAllRuns, item.QueueAllRuns) assert.Equal(t, *options.Operations, item.Operations) + assert.Equal(t, *options.QueueAllRuns, item.QueueAllRuns) assert.Equal(t, *options.TerraformVersion, item.TerraformVersion) assert.Equal(t, options.TriggerPrefixes, item.TriggerPrefixes) assert.Equal(t, *options.WorkingDirectory, item.WorkingDirectory) @@ -341,8 +341,8 @@ func TestWorkspacesUpdateByID(t *testing.T) { options := WorkspaceUpdateOptions{ Name: String(wTest.Name), AutoApply: Bool(true), - QueueAllRuns: Bool(true), Operations: Bool(true), + QueueAllRuns: Bool(true), TerraformVersion: String("0.10.0"), } @@ -361,8 +361,8 @@ func TestWorkspacesUpdateByID(t *testing.T) { Name: String(randomString(t)), AutoApply: Bool(false), FileTriggersEnabled: Bool(true), - QueueAllRuns: Bool(false), Operations: Bool(false), + QueueAllRuns: Bool(false), TerraformVersion: String("0.11.1"), TriggerPrefixes: []string{"/modules", "/shared"}, WorkingDirectory: String("baz/"), @@ -382,8 +382,8 @@ func TestWorkspacesUpdateByID(t *testing.T) { assert.Equal(t, *options.Name, item.Name) assert.Equal(t, *options.AutoApply, item.AutoApply) assert.Equal(t, *options.FileTriggersEnabled, item.FileTriggersEnabled) - assert.Equal(t, *options.QueueAllRuns, item.QueueAllRuns) assert.Equal(t, *options.Operations, item.Operations) + assert.Equal(t, *options.QueueAllRuns, item.QueueAllRuns) assert.Equal(t, *options.TerraformVersion, item.TerraformVersion) assert.Equal(t, options.TriggerPrefixes, item.TriggerPrefixes) assert.Equal(t, *options.WorkingDirectory, item.WorkingDirectory)