1
1
package scaleway
2
2
3
3
import (
4
+ "context"
5
+
6
+ "github.com/hashicorp/terraform-plugin-sdk/v2/diag"
4
7
"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
5
8
"github.com/scaleway/scaleway-sdk-go/api/registry/v1"
6
9
"github.com/scaleway/scaleway-sdk-go/scw"
7
10
)
8
11
9
12
func resourceScalewayRegistryNamespaceBeta () * schema.Resource {
10
13
return & schema.Resource {
11
- Create : resourceScalewayRegistryNamespaceBetaCreate ,
12
- Read : resourceScalewayRegistryNamespaceBetaRead ,
13
- Update : resourceScalewayRegistryNamespaceBetaUpdate ,
14
- Delete : resourceScalewayRegistryNamespaceBetaDelete ,
14
+ CreateContext : resourceScalewayRegistryNamespaceBetaCreate ,
15
+ ReadContext : resourceScalewayRegistryNamespaceBetaRead ,
16
+ UpdateContext : resourceScalewayRegistryNamespaceBetaUpdate ,
17
+ DeleteContext : resourceScalewayRegistryNamespaceBetaDelete ,
15
18
Importer : & schema.ResourceImporter {
16
- State : schema .ImportStatePassthrough ,
19
+ StateContext : schema .ImportStatePassthroughContext ,
17
20
},
18
21
SchemaVersion : 0 ,
19
22
Schema : map [string ]* schema.Schema {
@@ -44,10 +47,10 @@ func resourceScalewayRegistryNamespaceBeta() *schema.Resource {
44
47
}
45
48
}
46
49
47
- func resourceScalewayRegistryNamespaceBetaCreate (d * schema.ResourceData , m interface {}) error {
50
+ func resourceScalewayRegistryNamespaceBetaCreate (ctx context. Context , d * schema.ResourceData , m interface {}) diag. Diagnostics {
48
51
api , region , err := registryAPIWithRegion (d , m )
49
52
if err != nil {
50
- return err
53
+ return diag . FromErr ( err )
51
54
}
52
55
53
56
ns , err := api .CreateNamespace (& registry.CreateNamespaceRequest {
@@ -56,33 +59,33 @@ func resourceScalewayRegistryNamespaceBetaCreate(d *schema.ResourceData, m inter
56
59
Name : d .Get ("name" ).(string ),
57
60
Description : d .Get ("description" ).(string ),
58
61
IsPublic : d .Get ("is_public" ).(bool ),
59
- })
62
+ }, scw . WithContext ( ctx ) )
60
63
if err != nil {
61
- return err
64
+ return diag . FromErr ( err )
62
65
}
63
66
64
67
d .SetId (newRegionalIDString (region , ns .ID ))
65
68
66
- return resourceScalewayRegistryNamespaceBetaRead (d , m )
69
+ return resourceScalewayRegistryNamespaceBetaRead (ctx , d , m )
67
70
}
68
71
69
- func resourceScalewayRegistryNamespaceBetaRead (d * schema.ResourceData , m interface {}) error {
72
+ func resourceScalewayRegistryNamespaceBetaRead (ctx context. Context , d * schema.ResourceData , m interface {}) diag. Diagnostics {
70
73
api , region , id , err := registryAPIWithRegionAndID (m , d .Id ())
71
74
if err != nil {
72
- return err
75
+ return diag . FromErr ( err )
73
76
}
74
77
75
78
ns , err := api .GetNamespace (& registry.GetNamespaceRequest {
76
79
Region : region ,
77
80
NamespaceID : id ,
78
- })
81
+ }, scw . WithContext ( ctx ) )
79
82
80
83
if err != nil {
81
84
if is404Error (err ) {
82
85
d .SetId ("" )
83
86
return nil
84
87
}
85
- return err
88
+ return diag . FromErr ( err )
86
89
}
87
90
88
91
_ = d .Set ("name" , ns .Name )
@@ -95,10 +98,10 @@ func resourceScalewayRegistryNamespaceBetaRead(d *schema.ResourceData, m interfa
95
98
return nil
96
99
}
97
100
98
- func resourceScalewayRegistryNamespaceBetaUpdate (d * schema.ResourceData , m interface {}) error {
101
+ func resourceScalewayRegistryNamespaceBetaUpdate (ctx context. Context , d * schema.ResourceData , m interface {}) diag. Diagnostics {
99
102
api , region , id , err := registryAPIWithRegionAndID (m , d .Id ())
100
103
if err != nil {
101
- return err
104
+ return diag . FromErr ( err )
102
105
}
103
106
104
107
if d .HasChange ("description" ) || d .HasChange ("is_public" ) {
@@ -107,27 +110,27 @@ func resourceScalewayRegistryNamespaceBetaUpdate(d *schema.ResourceData, m inter
107
110
NamespaceID : id ,
108
111
Description : expandStringPtr (d .Get ("description" )),
109
112
IsPublic : scw .BoolPtr (d .Get ("is_public" ).(bool )),
110
- }); err != nil {
111
- return err
113
+ }, scw . WithContext ( ctx ) ); err != nil {
114
+ return diag . FromErr ( err )
112
115
}
113
116
}
114
117
115
- return resourceScalewayRegistryNamespaceBetaRead (d , m )
118
+ return resourceScalewayRegistryNamespaceBetaRead (ctx , d , m )
116
119
}
117
120
118
- func resourceScalewayRegistryNamespaceBetaDelete (d * schema.ResourceData , m interface {}) error {
121
+ func resourceScalewayRegistryNamespaceBetaDelete (ctx context. Context , d * schema.ResourceData , m interface {}) diag. Diagnostics {
119
122
api , region , id , err := registryAPIWithRegionAndID (m , d .Id ())
120
123
if err != nil {
121
- return err
124
+ return diag . FromErr ( err )
122
125
}
123
126
124
127
_ , err = api .DeleteNamespace (& registry.DeleteNamespaceRequest {
125
128
Region : region ,
126
129
NamespaceID : id ,
127
- })
130
+ }, scw . WithContext ( ctx ) )
128
131
129
132
if err != nil && ! is404Error (err ) {
130
- return err
133
+ return diag . FromErr ( err )
131
134
}
132
135
133
136
return nil
0 commit comments