Skip to content

Commit 192fdcd

Browse files
authored
SCALRCORE-35338 The scalr_wokspace_ids data source must request only those attributes it uses. (#437)
* SCALRCORE-35338 The scalr_wokspace_ids data source must request only those attributes that it uses. Provider utilises the filter[workspaces] sparse field to request only specific attributes or relationships from a resource, rather than the entire set of data. * SCALRCORE-35338 updated CHANGELOG.md * SCALRCORE-35338 typo
1 parent 0972d0b commit 192fdcd

File tree

7 files changed

+20
-13
lines changed

7 files changed

+20
-13
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
### Fixed
11+
12+
- `scalr_wokspace_ids` data source must request only those attributes it uses. ([#437](https://github.com/Scalr/terraform-provider-scalr/pull/437))
13+
1014
## [3.4.0] - 2025-07-11
1115

1216
### Added

docs/data-sources/workspace_ids.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,4 @@ data "scalr_workspace_ids" "all" {
3535
### Read-Only
3636

3737
- `id` (String) The ID of this resource.
38-
- `ids` (Map of String) A map of workspace names and their opaque IDs, in the format `env_id/name`.
38+
- `ids` (Map of String) A map of workspace names and their opaque IDs, in the format `id/name`.

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ require (
1616
github.com/hashicorp/terraform-plugin-sdk/v2 v2.35.0
1717
github.com/hashicorp/terraform-plugin-testing v1.11.0
1818
github.com/hashicorp/terraform-svchost v0.1.1
19-
github.com/scalr/go-scalr v0.0.0-20250709084620-8b3fc4d46833
19+
github.com/scalr/go-scalr v0.0.0-20250712001519-9f42032f4be3
2020
)
2121

2222
require (

go.sum

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -203,6 +203,8 @@ github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3V
203203
github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY=
204204
github.com/scalr/go-scalr v0.0.0-20250709084620-8b3fc4d46833 h1:ecfQzig7ry0tSQEPo5/dIG8kLP3qjWeI6MpKt5lppnY=
205205
github.com/scalr/go-scalr v0.0.0-20250709084620-8b3fc4d46833/go.mod h1:Om3UIkHGeOcUK72OzjWI1GlS/hFyY8RRLxgbO0ZPsn4=
206+
github.com/scalr/go-scalr v0.0.0-20250712001519-9f42032f4be3 h1:adgID8xOmBR3uu7gpUo0mZlzNEkhpsQkPdPfCDwSIsw=
207+
github.com/scalr/go-scalr v0.0.0-20250712001519-9f42032f4be3/go.mod h1:Om3UIkHGeOcUK72OzjWI1GlS/hFyY8RRLxgbO0ZPsn4=
206208
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3 h1:n661drycOFuPLCN3Uc8sB6B/s6Z4t2xvBgU1htSHuq8=
207209
github.com/sergi/go-diff v1.3.2-0.20230802210424-5b0b94c5c0d3/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4=
208210
github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o=

internal/provider/data_source_scalr_workspace_ids.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ func dataSourceScalrWorkspaceIDs() *schema.Resource {
3030
},
3131

3232
"ids": {
33-
Description: "A map of workspace names and their opaque IDs, in the format `env_id/name`.",
33+
Description: "A map of workspace names and their opaque IDs, in the format `id/name`.",
3434
Type: schema.TypeMap,
3535
Computed: true,
3636
},
@@ -57,6 +57,7 @@ func dataSourceScalrWorkspaceIDsRead(ctx context.Context, d *schema.ResourceData
5757

5858
options := scalr.WorkspaceListOptions{
5959
Filter: &scalr.WorkspaceFilter{Environment: &environmentID},
60+
Fields: &scalr.WorkspaceSparseFields{Workspaces: "id,name"},
6061
}
6162
for {
6263
wl, err := scalrClient.Workspaces.List(ctx, options)

internal/provider/data_source_scalr_workspace_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ func TestAccScalrWorkspaceDataSource_basic(t *testing.T) {
3939
resource.TestCheckResourceAttr(
4040
"data.scalr_workspace.test", "auto_apply", "true"),
4141
resource.TestCheckResourceAttr(
42-
"data.scalr_workspace.test", "terraform_version", "1.1.9"),
42+
"data.scalr_workspace.test", "terraform_version", "1.5.7"),
4343
resource.TestCheckResourceAttr(
4444
"data.scalr_workspace.test", "iac_platform", "terraform"),
4545
resource.TestCheckResourceAttr(
@@ -118,7 +118,7 @@ resource scalr_workspace test {
118118
name = "workspace-test-%[1]d"
119119
environment_id = scalr_environment.test.id
120120
auto_apply = true
121-
terraform_version = "1.1.9"
121+
terraform_version = "1.5.7"
122122
iac_platform = "terraform"
123123
working_directory = "terraform/test"
124124
type = "production"

internal/provider/workspace_resource_test.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ func TestAccScalrWorkspace_update(t *testing.T) {
176176
resource.TestCheckResourceAttr(
177177
"scalr_workspace.test", "execution_mode", string(scalr.WorkspaceExecutionModeLocal)),
178178
resource.TestCheckResourceAttr(
179-
"scalr_workspace.test", "terraform_version", "1.1.9"),
179+
"scalr_workspace.test", "terraform_version", "1.5.7"),
180180
resource.TestCheckResourceAttr(
181181
"scalr_workspace.test", "iac_platform", string(scalr.WorkspaceIaCPlatformTerraform)),
182182
resource.TestCheckResourceAttr(
@@ -217,7 +217,7 @@ func TestAccScalrWorkspace_update(t *testing.T) {
217217
resource.TestCheckResourceAttr(
218218
"scalr_workspace.test", "execution_mode", string(scalr.WorkspaceExecutionModeLocal)),
219219
resource.TestCheckResourceAttr(
220-
"scalr_workspace.test", "terraform_version", "1.1.9"),
220+
"scalr_workspace.test", "terraform_version", "1.5.7"),
221221
resource.TestCheckResourceAttr(
222222
"scalr_workspace.test", "iac_platform", string(scalr.WorkspaceIaCPlatformTerraform)),
223223
resource.TestCheckResourceAttr(
@@ -525,7 +525,7 @@ func testAccCheckScalrWorkspaceAttributesUpdated(
525525
return fmt.Errorf("Bad execution mode: %s", workspace.ExecutionMode)
526526
}
527527

528-
if workspace.TerraformVersion != "1.1.9" {
528+
if workspace.TerraformVersion != "1.5.7" {
529529
return fmt.Errorf("Bad Terraform version: %s", workspace.TerraformVersion)
530530
}
531531

@@ -757,7 +757,7 @@ resource "scalr_workspace" "test" {
757757
environment_id = scalr_environment.test.id
758758
auto_apply = false
759759
execution_mode = "%s"
760-
terraform_version = "1.1.9"
760+
terraform_version = "1.5.7"
761761
working_directory = "terraform/test"
762762
run_operation_timeout = 200
763763
deletion_protection_enabled = true
@@ -782,7 +782,7 @@ resource "scalr_workspace" "test" {
782782
environment_id = scalr_environment.test.id
783783
auto_apply = false
784784
execution_mode = "%s"
785-
terraform_version = "1.1.9"
785+
terraform_version = "1.5.7"
786786
working_directory = "terraform/test"
787787
vcs_repo {
788788
identifier = "TestRepo/local"
@@ -800,7 +800,7 @@ resource "scalr_workspace" "test" {
800800
environment_id = scalr_environment.test.id
801801
auto_apply = false
802802
execution_mode = "%s"
803-
terraform_version = "1.1.9"
803+
terraform_version = "1.5.7"
804804
working_directory = "terraform/test"
805805
vcs_provider_id = "test_provider_id"
806806
}`, scalr.WorkspaceExecutionModeLocal),
@@ -815,7 +815,7 @@ resource "scalr_workspace" "test" {
815815
environment_id = scalr_environment.test.id
816816
auto_apply = false
817817
execution_mode = "%s"
818-
terraform_version = "1.1.9"
818+
terraform_version = "1.5.7"
819819
working_directory = "terraform/test"
820820
}`, scalr.WorkspaceExecutionModeLocal),
821821
)
@@ -829,7 +829,7 @@ resource "scalr_workspace" "test" {
829829
environment_id = scalr_environment.test.id
830830
auto_apply = false
831831
execution_mode = "%s"
832-
terraform_version = "1.1.9"
832+
terraform_version = "1.5.7"
833833
working_directory = ""
834834
hooks {
835835
pre_init = "./scripts/pre-init_updated.sh"

0 commit comments

Comments
 (0)