Skip to content

Commit 13a0365

Browse files
authored
feat(messageq): add required resource definitions (scaleway#2591)
1 parent c8f2121 commit 13a0365

File tree

4 files changed

+109
-73
lines changed

4 files changed

+109
-73
lines changed

packages_generated/ipam/src/v1/api.gen.ts

Lines changed: 59 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -4,20 +4,20 @@ import {
44
API as ParentAPI,
55
enrichForPagination,
66
resolveOneOf,
7-
toApiLocality,
87
urlParams,
98
validatePathParam,
9+
toApiLocality,
1010
} from '@scaleway/sdk-client'
11-
import type { ApiLocality } from '@scaleway/sdk-client'
11+
import type { ApiLocality,} from '@scaleway/sdk-client'
1212
import {
1313
marshalAttachIPRequest,
1414
marshalBookIPRequest,
1515
marshalDetachIPRequest,
16+
unmarshalIP,
17+
unmarshalListIPsResponse,
1618
marshalMoveIPRequest,
1719
marshalReleaseIPSetRequest,
1820
marshalUpdateIPRequest,
19-
unmarshalIP,
20-
unmarshalListIPsResponse,
2121
} from './marshalling.gen.js'
2222
import type {
2323
AttachIPRequest,
@@ -47,10 +47,15 @@ export class API extends ParentAPI {
4747
* Locality of this API.
4848
* type ∈ {'zone','region','global','unspecified'}
4949
*/
50-
public static readonly LOCALITY: ApiLocality = toApiLocality({
51-
regions: ['fr-par', 'nl-ams', 'pl-waw'],
52-
})
53-
50+
public static readonly LOCALITY: ApiLocality =
51+
toApiLocality({
52+
regions: [
53+
'fr-par',
54+
'nl-ams',
55+
'pl-waw',
56+
],
57+
})
58+
5459
/**
5560
* Reserve a new IP. Reserve a new IP from the specified source. Currently IPs can only be reserved from a Private Network.
5661
*
@@ -70,29 +75,36 @@ export class API extends ParentAPI {
7075
unmarshalIP,
7176
)
7277

78+
7379
/**
7480
* Release an IP. Release an IP not currently attached to a resource, and returns it to the available IP pool.
7581
*
7682
* @param request - The request {@link ReleaseIPRequest}
7783
*/
7884
releaseIP = (request: Readonly<ReleaseIPRequest>) =>
79-
this.client.fetch<void>({
80-
body: '{}',
81-
headers: jsonContentHeaders,
82-
method: 'DELETE',
83-
path: `/ipam/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/ips/${validatePathParam('ipId', request.ipId)}`,
84-
})
85+
this.client.fetch<void>(
86+
{
87+
body: '{}',
88+
headers: jsonContentHeaders,
89+
method: 'DELETE',
90+
path: `/ipam/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/ips/${validatePathParam('ipId', request.ipId)}`,
91+
},
92+
)
8593

94+
8695
releaseIPSet = (request: Readonly<ReleaseIPSetRequest> = {}) =>
87-
this.client.fetch<void>({
88-
body: JSON.stringify(
89-
marshalReleaseIPSetRequest(request, this.client.settings),
90-
),
91-
headers: jsonContentHeaders,
92-
method: 'POST',
93-
path: `/ipam/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/ip-sets/release`,
94-
})
96+
this.client.fetch<void>(
97+
{
98+
body: JSON.stringify(
99+
marshalReleaseIPSetRequest(request, this.client.settings),
100+
),
101+
headers: jsonContentHeaders,
102+
method: 'POST',
103+
path: `/ipam/v1/regions/${validatePathParam('region', request.region ?? this.client.settings.defaultRegion)}/ip-sets/release`,
104+
},
105+
)
95106

107+
96108
/**
97109
* Get an IP. Retrieve details of an existing IP, specified by its IP ID.
98110
*
@@ -108,6 +120,7 @@ export class API extends ParentAPI {
108120
unmarshalIP,
109121
)
110122

123+
111124
/**
112125
* Update an IP. Update parameters including tags of the specified IP.
113126
*
@@ -127,6 +140,7 @@ export class API extends ParentAPI {
127140
unmarshalIP,
128141
)
129142

143+
130144
protected pageOfListIPs = (request: Readonly<ListIPsRequest> = {}) =>
131145
this.client.fetch<ListIPsResponse>(
132146
{
@@ -140,31 +154,34 @@ export class API extends ParentAPI {
140154
['order_by', request.orderBy],
141155
['organization_id', request.organizationId],
142156
['page', request.page],
143-
[
144-
'page_size',
145-
request.pageSize ?? this.client.settings.defaultPageSize,
146-
],
157+
['page_size', request.pageSize ?? this.client.settings.defaultPageSize],
147158
['project_id', request.projectId],
148159
['resource_id', request.resourceId],
149160
['resource_ids', request.resourceIds],
150161
['resource_name', request.resourceName],
151162
['resource_type', request.resourceType],
152163
['resource_types', request.resourceTypes],
153164
['tags', request.tags],
154-
['vpc_id', request.vpcId],
155-
...Object.entries(
156-
resolveOneOf([
157-
{ param: 'zonal', value: request.zonal },
158-
{ param: 'private_network_id', value: request.privateNetworkId },
159-
{ param: 'subnet_id', value: request.subnetId },
160-
{ param: 'source_vpc_id', value: request.sourceVpcId },
161-
]),
162-
),
165+
['vpc_id', request.vpcId],
166+
...Object.entries(resolveOneOf([
167+
{param: 'zonal',
168+
value: request.zonal,
169+
},
170+
{param: 'private_network_id',
171+
value: request.privateNetworkId,
172+
},
173+
{param: 'subnet_id',
174+
value: request.subnetId,
175+
},
176+
{param: 'source_vpc_id',
177+
value: request.sourceVpcId,
178+
},
179+
])),
163180
),
164181
},
165182
unmarshalListIPsResponse,
166183
)
167-
184+
168185
/**
169186
* List existing IPs. List existing IPs in the specified region using various filters. For example, you can filter for IPs within a specified Private Network, or for public IPs within a specified Project. By default, the IPs returned in the list are ordered by creation date in ascending order, though this can be modified via the order_by field.
170187
*
@@ -174,6 +191,7 @@ export class API extends ParentAPI {
174191
listIPs = (request: Readonly<ListIPsRequest> = {}) =>
175192
enrichForPagination('ips', this.pageOfListIPs, request)
176193

194+
177195
/**
178196
* Attach IP to custom resource. Attach an existing reserved IP from a Private Network subnet to a custom, named resource via its MAC address. An example of a custom resource is a virtual machine hosted on an Elastic Metal server. Do not use this method for attaching IP addresses to standard Scaleway resources as it will fail - see the relevant product API for an equivalent method.
179197
*
@@ -193,6 +211,7 @@ export class API extends ParentAPI {
193211
unmarshalIP,
194212
)
195213

214+
196215
/**
197216
* Detach IP from a custom resource. Detach a private IP from a custom resource. An example of a custom resource is a virtual machine hosted on an Elastic Metal server. Do not use this method for detaching IP addresses from standard Scaleway resources (e.g. Instances, Load Balancers) as it will fail - see the relevant product API for an equivalent method.
198217
*
@@ -212,6 +231,7 @@ export class API extends ParentAPI {
212231
unmarshalIP,
213232
)
214233

234+
215235
/**
216236
* Move IP to a custom resource. Move an existing reserved private IP from one custom resource (e.g. a virtual machine hosted on an Elastic Metal server) to another custom resource. This will detach it from the first resource, and attach it to the second. Do not use this method for moving IP addresses between standard Scaleway resources (e.g. Instances, Load Balancers) as it will fail - see the relevant product API for an equivalent method.
217237
*
@@ -230,4 +250,7 @@ export class API extends ParentAPI {
230250
},
231251
unmarshalIP,
232252
)
253+
254+
233255
}
256+

packages_generated/ipam/src/v1/index.gen.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
// This file was automatically generated. DO NOT EDIT.
22
// If you have any remark or suggestion do not hesitate to open an issue.
3-
export { API } from './api.gen.js'
3+
export {
4+
API,
5+
} from './api.gen.js'
46
export * from './marshalling.gen.js'
57
export type {
68
AttachIPRequest,

packages_generated/ipam/src/v1/marshalling.gen.ts

Lines changed: 28 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,18 @@
1-
// This file was automatically generated. DO NOT EDIT.
2-
// If you have any remark or suggestion do not hesitate to open an issue.
3-
import {
4-
isJSONObject,
5-
resolveOneOf,
6-
unmarshalArrayOfObject,
7-
unmarshalDate,
8-
} from '@scaleway/sdk-client'
1+
2+
import { isJSONObject, resolveOneOf, unmarshalArrayOfObject, unmarshalDate, } from '@scaleway/sdk-client'
93
import type { DefaultValues } from '@scaleway/sdk-client'
104
import type {
5+
Resource,
6+
Reverse,
7+
Source,
8+
IP,
9+
ListIPsResponse,
10+
CustomResource,
1111
AttachIPRequest,
1212
BookIPRequest,
13-
CustomResource,
1413
DetachIPRequest,
15-
IP,
16-
ListIPsResponse,
1714
MoveIPRequest,
1815
ReleaseIPSetRequest,
19-
Resource,
20-
Reverse,
21-
Source,
2216
UpdateIPRequest,
2317
} from './types.gen.js'
2418

@@ -113,18 +107,26 @@ export const marshalAttachIPRequest = (
113107
request: AttachIPRequest,
114108
defaults: DefaultValues,
115109
): Record<string, unknown> => ({
116-
resource: marshalCustomResource(request.resource, defaults),
110+
resource: marshalCustomResource(request.resource, defaults),
117111
})
118112

119113
const marshalSource = (
120114
request: Source,
121115
defaults: DefaultValues,
122-
): Record<string, unknown> => ({
116+
): Record<string, unknown> => ({
123117
...resolveOneOf([
124-
{ param: 'zonal', value: request.zonal },
125-
{ param: 'private_network_id', value: request.privateNetworkId },
126-
{ param: 'subnet_id', value: request.subnetId },
127-
{ param: 'vpc_id', value: request.vpcId },
118+
{param: 'zonal',
119+
value: request.zonal,
120+
},
121+
{param: 'private_network_id',
122+
value: request.privateNetworkId,
123+
},
124+
{param: 'subnet_id',
125+
value: request.subnetId,
126+
},
127+
{param: 'vpc_id',
128+
value: request.vpcId,
129+
},
128130
]),
129131
})
130132

@@ -135,30 +137,24 @@ export const marshalBookIPRequest = (
135137
address: request.address,
136138
is_ipv6: request.isIpv6,
137139
project_id: request.projectId ?? defaults.defaultProjectId,
138-
resource:
139-
request.resource !== undefined
140-
? marshalCustomResource(request.resource, defaults)
141-
: undefined,
142-
source: marshalSource(request.source, defaults),
140+
resource: ((request.resource !== undefined) ? marshalCustomResource(request.resource, defaults): undefined),
141+
source: marshalSource(request.source, defaults),
143142
tags: request.tags,
144143
})
145144

146145
export const marshalDetachIPRequest = (
147146
request: DetachIPRequest,
148147
defaults: DefaultValues,
149148
): Record<string, unknown> => ({
150-
resource: marshalCustomResource(request.resource, defaults),
149+
resource: marshalCustomResource(request.resource, defaults),
151150
})
152151

153152
export const marshalMoveIPRequest = (
154153
request: MoveIPRequest,
155154
defaults: DefaultValues,
156155
): Record<string, unknown> => ({
157-
from_resource: marshalCustomResource(request.fromResource, defaults),
158-
to_resource:
159-
request.toResource !== undefined
160-
? marshalCustomResource(request.toResource, defaults)
161-
: undefined,
156+
from_resource: marshalCustomResource(request.fromResource, defaults),
157+
to_resource: ((request.toResource !== undefined) ? marshalCustomResource(request.toResource, defaults): undefined),
162158
})
163159

164160
export const marshalReleaseIPSetRequest = (
@@ -180,9 +176,6 @@ export const marshalUpdateIPRequest = (
180176
request: UpdateIPRequest,
181177
defaults: DefaultValues,
182178
): Record<string, unknown> => ({
183-
reverses:
184-
request.reverses !== undefined
185-
? request.reverses.map(elt => marshalReverse(elt, defaults))
186-
: undefined,
179+
reverses: ((request.reverses !== undefined) ? request.reverses.map(elt => marshalReverse(elt, defaults)): undefined),
187180
tags: request.tags,
188181
})

0 commit comments

Comments
 (0)