@@ -32,6 +32,7 @@ type CloudProjectDatabaseResponse struct {
32
32
Status string `json:"status"`
33
33
SubnetId string `json:"subnetId"`
34
34
Version string `json:"version"`
35
+ Disk CloudProjectDatabaseDisk `json:"disk"`
35
36
}
36
37
37
38
func (s * CloudProjectDatabaseResponse ) String () string {
@@ -71,6 +72,7 @@ func (v CloudProjectDatabaseResponse) ToMap() map[string]interface{} {
71
72
obj ["plan" ] = v .Plan
72
73
obj ["status" ] = v .Status
73
74
obj ["version" ] = v .Version
75
+ obj ["disk" ] = v .Disk .ToMap ()
74
76
75
77
return obj
76
78
}
@@ -136,7 +138,20 @@ type CloudProjectDatabaseCreateOpts struct {
136
138
}
137
139
138
140
type CloudProjectDatabaseDisk struct {
139
- Size int `json:"size"`
141
+ Type string `json:"type,omitempty"`
142
+ Size * int `json:"size,omitempty"`
143
+ }
144
+
145
+ func (cpdd * CloudProjectDatabaseDisk ) ToMap () map [string ]interface {} {
146
+ obj := make (map [string ]interface {})
147
+ obj ["size" ] = cpdd .Size
148
+ obj ["type" ] = cpdd .Type
149
+ return obj
150
+ }
151
+
152
+ func validateCloudProjectDatabaseDiskSize (v interface {}, k string ) (ws []string , errors []error ) {
153
+ errors = validateIsSupEqual (v .(int ), 0 )
154
+ return
140
155
}
141
156
142
157
type CloudProjectDatabaseNodesPattern struct {
@@ -171,21 +186,19 @@ func (opts *CloudProjectDatabaseCreateOpts) FromResource(d *schema.ResourceData)
171
186
172
187
diskSize , ok := d .Get ("disk_size" ).(int )
173
188
if ok {
174
- if diskSize < 0 {
175
- return fmt .Errorf ("the disk size needs to be positive" ), nil
176
- }
177
- opts .Disk = CloudProjectDatabaseDisk {diskSize }
189
+ opts .Disk = CloudProjectDatabaseDisk {Size : & diskSize }
178
190
}
179
191
return nil , opts
180
192
}
181
193
182
194
type CloudProjectDatabaseUpdateOpts struct {
183
- AclsEnabled bool `json:"aclsEnabled,omitempty"`
184
- Description string `json:"description,omitempty"`
185
- Flavor string `json:"flavor,omitempty"`
186
- Plan string `json:"plan,omitempty"`
187
- RestApi bool `json:"restApi,omitempty"`
188
- Version string `json:"version,omitempty"`
195
+ AclsEnabled bool `json:"aclsEnabled,omitempty"`
196
+ Description string `json:"description,omitempty"`
197
+ Flavor string `json:"flavor,omitempty"`
198
+ Plan string `json:"plan,omitempty"`
199
+ RestApi bool `json:"restApi,omitempty"`
200
+ Version string `json:"version,omitempty"`
201
+ Disk CloudProjectDatabaseDisk `json:"disk,omitempty"`
189
202
}
190
203
191
204
func (opts * CloudProjectDatabaseUpdateOpts ) FromResource (d * schema.ResourceData ) (error , * CloudProjectDatabaseUpdateOpts ) {
@@ -201,6 +214,10 @@ func (opts *CloudProjectDatabaseUpdateOpts) FromResource(d *schema.ResourceData)
201
214
opts .Plan = d .Get ("plan" ).(string )
202
215
opts .Flavor = d .Get ("flavor" ).(string )
203
216
opts .Version = d .Get ("version" ).(string )
217
+ diskSize , ok := d .Get ("disk_size" ).(int )
218
+ if ok {
219
+ opts .Disk = CloudProjectDatabaseDisk {Size : & diskSize }
220
+ }
204
221
return nil , opts
205
222
}
206
223
0 commit comments