@@ -8,18 +8,22 @@ import {
88} from '../../../bridge'
99import type { DefaultValues } from '../../../bridge'
1010import type {
11+ AclRule ,
1112 AddSubnetsRequest ,
1213 AddSubnetsResponse ,
1314 CreatePrivateNetworkRequest ,
1415 CreateRouteRequest ,
1516 CreateVPCRequest ,
1617 DeleteSubnetsRequest ,
1718 DeleteSubnetsResponse ,
19+ GetAclResponse ,
1820 ListPrivateNetworksResponse ,
1921 ListSubnetsResponse ,
2022 ListVPCsResponse ,
2123 PrivateNetwork ,
2224 Route ,
25+ SetAclRequest ,
26+ SetAclResponse ,
2327 SetSubnetsRequest ,
2428 SetSubnetsResponse ,
2529 Subnet ,
@@ -141,6 +145,39 @@ export const unmarshalDeleteSubnetsResponse = (
141145 } as DeleteSubnetsResponse
142146}
143147
148+ const unmarshalAclRule = ( data : unknown ) : AclRule => {
149+ if ( ! isJSONObject ( data ) ) {
150+ throw new TypeError (
151+ `Unmarshalling the type 'AclRule' failed as data isn't a dictionary.` ,
152+ )
153+ }
154+
155+ return {
156+ action : data . action ,
157+ description : data . description ,
158+ destination : data . destination ,
159+ dstPortHigh : data . dst_port_high ,
160+ dstPortLow : data . dst_port_low ,
161+ protocol : data . protocol ,
162+ source : data . source ,
163+ srcPortHigh : data . src_port_high ,
164+ srcPortLow : data . src_port_low ,
165+ } as AclRule
166+ }
167+
168+ export const unmarshalGetAclResponse = ( data : unknown ) : GetAclResponse => {
169+ if ( ! isJSONObject ( data ) ) {
170+ throw new TypeError (
171+ `Unmarshalling the type 'GetAclResponse' failed as data isn't a dictionary.` ,
172+ )
173+ }
174+
175+ return {
176+ defaultPolicy : data . default_policy ,
177+ rules : unmarshalArrayOfObject ( data . rules , unmarshalAclRule ) ,
178+ } as GetAclResponse
179+ }
180+
144181export const unmarshalListPrivateNetworksResponse = (
145182 data : unknown ,
146183) : ListPrivateNetworksResponse => {
@@ -187,6 +224,19 @@ export const unmarshalListVPCsResponse = (data: unknown): ListVPCsResponse => {
187224 } as ListVPCsResponse
188225}
189226
227+ export const unmarshalSetAclResponse = ( data : unknown ) : SetAclResponse => {
228+ if ( ! isJSONObject ( data ) ) {
229+ throw new TypeError (
230+ `Unmarshalling the type 'SetAclResponse' failed as data isn't a dictionary.` ,
231+ )
232+ }
233+
234+ return {
235+ defaultPolicy : data . default_policy ,
236+ rules : unmarshalArrayOfObject ( data . rules , unmarshalAclRule ) ,
237+ } as SetAclResponse
238+ }
239+
190240export const unmarshalSetSubnetsResponse = (
191241 data : unknown ,
192242) : SetSubnetsResponse => {
@@ -248,6 +298,30 @@ export const marshalDeleteSubnetsRequest = (
248298 subnets : request . subnets ,
249299} )
250300
301+ const marshalAclRule = (
302+ request : AclRule ,
303+ defaults : DefaultValues ,
304+ ) : Record < string , unknown > => ( {
305+ action : request . action ,
306+ description : request . description ,
307+ destination : request . destination ,
308+ dst_port_high : request . dstPortHigh ,
309+ dst_port_low : request . dstPortLow ,
310+ protocol : request . protocol ,
311+ source : request . source ,
312+ src_port_high : request . srcPortHigh ,
313+ src_port_low : request . srcPortLow ,
314+ } )
315+
316+ export const marshalSetAclRequest = (
317+ request : SetAclRequest ,
318+ defaults : DefaultValues ,
319+ ) : Record < string , unknown > => ( {
320+ default_policy : request . defaultPolicy ,
321+ is_ipv6 : request . isIpv6 ,
322+ rules : request . rules . map ( elt => marshalAclRule ( elt , defaults ) ) ,
323+ } )
324+
251325export const marshalSetSubnetsRequest = (
252326 request : SetSubnetsRequest ,
253327 defaults : DefaultValues ,
0 commit comments