@@ -2,6 +2,7 @@ package scaleway
2
2
3
3
import (
4
4
"context"
5
+ "fmt"
5
6
"time"
6
7
7
8
"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
@@ -10,6 +11,7 @@ import (
10
11
v1 "github.com/scaleway/scaleway-sdk-go/api/vpc/v1"
11
12
v2 "github.com/scaleway/scaleway-sdk-go/api/vpc/v2"
12
13
"github.com/scaleway/scaleway-sdk-go/scw"
14
+ validator "github.com/scaleway/scaleway-sdk-go/validation"
13
15
)
14
16
15
17
func resourceScalewayVPCPrivateNetwork () * schema.Resource {
@@ -19,7 +21,44 @@ func resourceScalewayVPCPrivateNetwork() *schema.Resource {
19
21
UpdateContext : resourceScalewayVPCPrivateNetworkUpdate ,
20
22
DeleteContext : resourceScalewayVPCPrivateNetworkDelete ,
21
23
Importer : & schema.ResourceImporter {
22
- StateContext : schema .ImportStatePassthroughContext ,
24
+ StateContext : func (ctx context.Context , d * schema.ResourceData , m interface {}) ([]* schema.ResourceData , error ) {
25
+ id := d .Id ()
26
+
27
+ location , _ , err := parseLocalizedID (id )
28
+ if err != nil {
29
+ return nil , err
30
+ }
31
+
32
+ switch {
33
+ case validator .IsZone (location ):
34
+ err := d .Set ("zone" , location )
35
+ if err != nil {
36
+ return nil , err
37
+ }
38
+ err = d .Set ("is_regional" , false )
39
+ if err != nil {
40
+ return nil , err
41
+ }
42
+ case validator .IsRegion (location ):
43
+ err := d .Set ("region" , location )
44
+ if err != nil {
45
+ return nil , err
46
+ }
47
+ err = d .Set ("is_regional" , true )
48
+ if err != nil {
49
+ return nil , err
50
+ }
51
+ default :
52
+ return nil , fmt .Errorf ("invalid location. Expected either a 'region' or 'zone'" )
53
+ }
54
+
55
+ diags := resourceScalewayVPCPrivateNetworkRead (ctx , d , m )
56
+ if diags .HasError () {
57
+ return nil , fmt .Errorf ("failed to read resource: %v" , diags )
58
+ }
59
+
60
+ return []* schema.ResourceData {d }, nil
61
+ },
23
62
},
24
63
SchemaVersion : 0 ,
25
64
Schema : map [string ]* schema.Schema {
0 commit comments