Skip to content

Commit 9a5e157

Browse files
committed
fix(container): use project_id from provider configuration
1 parent ee4eaf3 commit 9a5e157

23 files changed

+7725
-9589
lines changed

internal/services/container/container_data_source.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"github.com/scaleway/scaleway-sdk-go/scw"
1010
"github.com/scaleway/terraform-provider-scaleway/v2/internal/datasource"
1111
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality"
12+
"github.com/scaleway/terraform-provider-scaleway/v2/internal/meta"
1213
"github.com/scaleway/terraform-provider-scaleway/v2/internal/types"
1314
"github.com/scaleway/terraform-provider-scaleway/v2/internal/verify"
1415
)
@@ -58,11 +59,16 @@ func DataSourceContainerRead(ctx context.Context, d *schema.ResourceData, m inte
5859
if !ok {
5960
containerName := d.Get("name").(string)
6061

62+
projectID, _, err := meta.ExtractProjectID(d, m)
63+
if err != nil {
64+
return diag.FromErr(err)
65+
}
66+
6167
res, err := api.ListContainers(&container.ListContainersRequest{
6268
Region: region,
6369
Name: types.ExpandStringPtr(containerName),
6470
NamespaceID: locality.ExpandID(namespaceID),
65-
ProjectID: types.ExpandStringPtr(d.Get("project_id")),
71+
ProjectID: types.ExpandStringPtr(projectID),
6672
}, scw.WithContext(ctx))
6773
if err != nil {
6874
return diag.FromErr(err)

internal/services/container/container_test.go

Lines changed: 29 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ import (
1212
"github.com/scaleway/terraform-provider-scaleway/v2/internal/acctest"
1313
"github.com/scaleway/terraform-provider-scaleway/v2/internal/httperrors"
1414
"github.com/scaleway/terraform-provider-scaleway/v2/internal/services/container"
15-
containerchecks "github.com/scaleway/terraform-provider-scaleway/v2/internal/services/container/testfuncs"
1615
)
1716

1817
func TestAccContainer_Basic(t *testing.T) {
@@ -220,51 +219,32 @@ func TestAccContainer_WithIMG(t *testing.T) {
220219
Steps: []resource.TestStep{
221220
{
222221
Config: fmt.Sprintf(`
223-
resource scaleway_container_namespace main {
224-
name = "%s"
225-
description = "test container"
226-
}
227-
`, containerNamespace),
228-
},
229-
{
230-
Config: fmt.Sprintf(`
231-
resource scaleway_container_namespace main {
232-
name = "%s"
233-
description = "test container"
234-
}
235-
`, containerNamespace),
236-
Check: resource.ComposeTestCheckFunc(
237-
containerchecks.TestConfigContainerNamespace(tt, "scaleway_container_namespace.main"),
238-
),
239-
},
240-
{
241-
Config: fmt.Sprintf(`
242-
resource scaleway_container_namespace main {
243-
name = "%s"
244-
description = "test container"
245-
}
246-
247-
resource scaleway_container main {
248-
name = "my-container-02"
249-
description = "environment variables test"
250-
namespace_id = scaleway_container_namespace.main.id
251-
registry_image = "${scaleway_container_namespace.main.registry_endpoint}/nginx:test"
252-
port = 80
253-
cpu_limit = 140
254-
memory_limit = 256
255-
min_scale = 3
256-
max_scale = 5
257-
timeout = 600
258-
max_concurrency = 80
259-
privacy = "private"
260-
protocol = "h2c"
261-
deploy = true
262-
263-
environment_variables = {
264-
"foo" = "var"
265-
}
266-
}
267-
`, containerNamespace),
222+
resource scaleway_container_namespace main {
223+
name = "%s"
224+
description = "test container"
225+
}
226+
227+
resource scaleway_container main {
228+
name = "my-container-02"
229+
description = "environment variables test"
230+
namespace_id = scaleway_container_namespace.main.id
231+
registry_image = "docker.io/library/nginx:latest"
232+
port = 80
233+
cpu_limit = 140
234+
memory_limit = 256
235+
min_scale = 3
236+
max_scale = 5
237+
timeout = 600
238+
max_concurrency = 80
239+
privacy = "private"
240+
protocol = "h2c"
241+
deploy = true
242+
243+
environment_variables = {
244+
"foo" = "var"
245+
}
246+
}
247+
`, containerNamespace),
268248
Check: resource.ComposeTestCheckFunc(
269249
isContainerPresent(tt, "scaleway_container.main"),
270250
acctest.CheckResourceAttrUUID("scaleway_container.main", "id"),
@@ -493,7 +473,7 @@ func TestAccContainer_ScalingOption(t *testing.T) {
493473
{
494474
Config: `
495475
resource scaleway_container_namespace main {}
496-
476+
497477
resource scaleway_container main {
498478
namespace_id = scaleway_container_namespace.main.id
499479
deploy = false
@@ -512,7 +492,7 @@ func TestAccContainer_ScalingOption(t *testing.T) {
512492
{
513493
Config: `
514494
resource scaleway_container_namespace main {}
515-
495+
516496
resource scaleway_container main {
517497
namespace_id = scaleway_container_namespace.main.id
518498
deploy = false
@@ -534,7 +514,7 @@ func TestAccContainer_ScalingOption(t *testing.T) {
534514
{
535515
Config: `
536516
resource scaleway_container_namespace main {}
537-
517+
538518
resource scaleway_container main {
539519
namespace_id = scaleway_container_namespace.main.id
540520
deploy = false

internal/services/container/namespace.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ import (
1212
"github.com/scaleway/terraform-provider-scaleway/v2/internal/dsf"
1313
"github.com/scaleway/terraform-provider-scaleway/v2/internal/httperrors"
1414
"github.com/scaleway/terraform-provider-scaleway/v2/internal/locality/regional"
15+
"github.com/scaleway/terraform-provider-scaleway/v2/internal/meta"
1516
"github.com/scaleway/terraform-provider-scaleway/v2/internal/services/account"
1617
"github.com/scaleway/terraform-provider-scaleway/v2/internal/services/registry"
1718
"github.com/scaleway/terraform-provider-scaleway/v2/internal/types"
@@ -108,12 +109,17 @@ func ResourceContainerNamespaceCreate(ctx context.Context, d *schema.ResourceDat
108109
return diag.FromErr(err)
109110
}
110111

112+
projectId, _, err := meta.ExtractProjectID(d, m)
113+
if err != nil {
114+
return diag.FromErr(err)
115+
}
116+
111117
createReq := &container.CreateNamespaceRequest{
112118
Description: types.ExpandStringPtr(d.Get("description").(string)),
113119
EnvironmentVariables: types.ExpandMapPtrStringString(d.Get("environment_variables")),
114120
SecretEnvironmentVariables: expandContainerSecrets(d.Get("secret_environment_variables")),
115121
Name: types.ExpandOrGenerateString(d.Get("name").(string), "ns"),
116-
ProjectID: d.Get("project_id").(string),
122+
ProjectID: projectId,
117123
Region: region,
118124
}
119125

internal/services/container/namespace_data_source.go

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import (
88
container "github.com/scaleway/scaleway-sdk-go/api/container/v1beta1"
99
"github.com/scaleway/scaleway-sdk-go/scw"
1010
"github.com/scaleway/terraform-provider-scaleway/v2/internal/datasource"
11+
"github.com/scaleway/terraform-provider-scaleway/v2/internal/meta"
1112
"github.com/scaleway/terraform-provider-scaleway/v2/internal/types"
1213
"github.com/scaleway/terraform-provider-scaleway/v2/internal/verify"
1314
)
@@ -43,10 +44,15 @@ func DataSourceContainerNamespaceRead(ctx context.Context, d *schema.ResourceDat
4344
if !ok {
4445
namespaceName := d.Get("name").(string)
4546

47+
projectID, _, err := meta.ExtractProjectID(d, m)
48+
if err != nil {
49+
return diag.FromErr(err)
50+
}
51+
4652
res, err := api.ListNamespaces(&container.ListNamespacesRequest{
4753
Region: region,
4854
Name: types.ExpandStringPtr(namespaceName),
49-
ProjectID: types.ExpandStringPtr(d.Get("project_id")),
55+
ProjectID: types.ExpandStringPtr(projectID),
5056
}, scw.WithContext(ctx))
5157
if err != nil {
5258
return diag.FromErr(err)

0 commit comments

Comments
 (0)