From dafffb1bc9ef0dcbe39f19abeaea32c9412ccb3e Mon Sep 17 00:00:00 2001 From: scaleway-bot Date: Wed, 22 Feb 2023 15:20:05 +0000 Subject: [PATCH] feat: update generated APIs --- .../clients/src/api/instance/v1/api.gen.ts | 61 ++++++++++++++++--- .../clients/src/api/instance/v1/index.gen.ts | 1 + .../src/api/instance/v1/marshalling.gen.ts | 14 ++++- .../clients/src/api/instance/v1/types.gen.ts | 25 ++++++++ 4 files changed, 93 insertions(+), 8 deletions(-) diff --git a/packages/clients/src/api/instance/v1/api.gen.ts b/packages/clients/src/api/instance/v1/api.gen.ts index f022b0a02..a09918a62 100644 --- a/packages/clients/src/api/instance/v1/api.gen.ts +++ b/packages/clients/src/api/instance/v1/api.gen.ts @@ -30,6 +30,7 @@ import { marshalUpdateIpRequest, marshalUpdatePlacementGroupRequest, marshalUpdatePlacementGroupServersRequest, + marshalUpdatePrivateNICRequest, marshalUpdateServerRequest, marshalUpdateVolumeRequest, unmarshalCreateImageResponse, @@ -69,6 +70,7 @@ import { unmarshalListSnapshotsResponse, unmarshalListVolumesResponse, unmarshalListVolumesTypesResponse, + unmarshalPrivateNIC, unmarshalServerActionResponse, unmarshalSetImageResponse, unmarshalSetPlacementGroupResponse, @@ -169,6 +171,7 @@ import type { ListVolumesResponse, ListVolumesTypesRequest, ListVolumesTypesResponse, + PrivateNIC, ServerActionRequest, ServerActionResponse, SetPlacementGroupRequest, @@ -183,6 +186,7 @@ import type { UpdatePlacementGroupResponse, UpdatePlacementGroupServersRequest, UpdatePlacementGroupServersResponse, + UpdatePrivateNICRequest, UpdateServerResponse, UpdateVolumeRequest, UpdateVolumeResponse, @@ -1484,13 +1488,9 @@ export class API extends ParentAPI { )}/ips/${validatePathParam('ip', request.ip)}`, }) - /** - * List all private NICs of a given server. - * - * @param request - The request {@link ListPrivateNICsRequest} - * @returns A Promise of ListPrivateNICsResponse - */ - listPrivateNICs = (request: Readonly) => + protected pageOfListPrivateNICs = ( + request: Readonly, + ) => this.client.fetch( { method: 'GET', @@ -1501,10 +1501,29 @@ export class API extends ParentAPI { 'serverId', request.serverId, )}/private_nics`, + urlParams: urlParams( + ['page', request.page], + ['per_page', request.perPage ?? this.client.settings.defaultPageSize], + [ + 'tags', + request.tags && request.tags.length > 0 + ? request.tags.join(',') + : undefined, + ], + ), }, unmarshalListPrivateNICsResponse, ) + /** + * List all private NICs of a given server. + * + * @param request - The request {@link ListPrivateNICsRequest} + * @returns A Promise of ListPrivateNICsResponse + */ + listPrivateNICs = (request: Readonly) => + enrichForPagination('privateNics', this.pageOfListPrivateNICs, request) + /** * Create a private NIC connecting a server to a private network. * @@ -1554,6 +1573,34 @@ export class API extends ParentAPI { unmarshalGetPrivateNICResponse, ) + /** + * Update one or more parameter/s to a given private NIC. + * + * @param request - The request {@link UpdatePrivateNICRequest} + * @returns A Promise of PrivateNIC + */ + updatePrivateNIC = (request: Readonly) => + this.client.fetch( + { + body: JSON.stringify( + marshalUpdatePrivateNICRequest(request, this.client.settings), + ), + headers: jsonContentHeaders, + method: 'PATCH', + path: `/instance/v1/zones/${validatePathParam( + 'zone', + request.zone ?? this.client.settings.defaultZone, + )}/servers/${validatePathParam( + 'serverId', + request.serverId, + )}/private_nics/${validatePathParam( + 'privateNicId', + request.privateNicId, + )}`, + }, + unmarshalPrivateNIC, + ) + /** * Delete a private NIC. * diff --git a/packages/clients/src/api/instance/v1/index.gen.ts b/packages/clients/src/api/instance/v1/index.gen.ts index ab43e3e83..e6adc378a 100644 --- a/packages/clients/src/api/instance/v1/index.gen.ts +++ b/packages/clients/src/api/instance/v1/index.gen.ts @@ -148,6 +148,7 @@ export type { UpdatePlacementGroupResponse, UpdatePlacementGroupServersRequest, UpdatePlacementGroupServersResponse, + UpdatePrivateNICRequest, UpdateServerResponse, UpdateVolumeRequest, UpdateVolumeResponse, diff --git a/packages/clients/src/api/instance/v1/marshalling.gen.ts b/packages/clients/src/api/instance/v1/marshalling.gen.ts index ab1686fdc..ac963ce9e 100644 --- a/packages/clients/src/api/instance/v1/marshalling.gen.ts +++ b/packages/clients/src/api/instance/v1/marshalling.gen.ts @@ -99,6 +99,7 @@ import type { UpdatePlacementGroupResponse, UpdatePlacementGroupServersRequest, UpdatePlacementGroupServersResponse, + UpdatePrivateNICRequest, UpdateServerResponse, UpdateVolumeRequest, UpdateVolumeResponse, @@ -274,7 +275,7 @@ const unmarshalPlacementGroup = (data: unknown) => { } as PlacementGroup } -const unmarshalPrivateNIC = (data: unknown) => { +export const unmarshalPrivateNIC = (data: unknown) => { if (!isJSONObject(data)) { throw new TypeError( `Unmarshalling the type 'PrivateNIC' failed as data isn't a dictionary.`, @@ -287,6 +288,7 @@ const unmarshalPrivateNIC = (data: unknown) => { privateNetworkId: data.private_network_id, serverId: data.server_id, state: data.state, + tags: data.tags, } as PrivateNIC } @@ -1078,6 +1080,7 @@ export const unmarshalListPrivateNICsResponse = (data: unknown) => { return { privateNics: unmarshalArrayOfObject(data.private_nics, unmarshalPrivateNIC), + totalCount: data.total_count, } as ListPrivateNICsResponse } @@ -1485,6 +1488,7 @@ const marshalPrivateNIC = ( private_network_id: request.privateNetworkId, server_id: request.serverId, state: request.state, + tags: request.tags, }) const marshalSecurityGroupSummary = ( @@ -1684,6 +1688,7 @@ export const marshalCreatePrivateNICRequest = ( defaults: DefaultValues, ): Record => ({ private_network_id: request.privateNetworkId, + tags: request.tags, }) export const marshalCreateSecurityGroupRequest = ( @@ -2059,6 +2064,13 @@ export const marshalUpdatePlacementGroupServersRequest = ( servers: request.servers, }) +export const marshalUpdatePrivateNICRequest = ( + request: UpdatePrivateNICRequest, + defaults: DefaultValues, +): Record => ({ + tags: request.tags, +}) + export const marshalUpdateServerRequest = ( request: UpdateServerRequest, defaults: DefaultValues, diff --git a/packages/clients/src/api/instance/v1/types.gen.ts b/packages/clients/src/api/instance/v1/types.gen.ts index 09a3f404a..514186aa0 100644 --- a/packages/clients/src/api/instance/v1/types.gen.ts +++ b/packages/clients/src/api/instance/v1/types.gen.ts @@ -299,6 +299,7 @@ export interface ListPlacementGroupsResponse { export interface ListPrivateNICsResponse { privateNics: PrivateNIC[] + totalCount: number } /** List security group rules response */ @@ -411,6 +412,8 @@ export interface PrivateNIC { macAddress: string /** The private NIC state */ state: PrivateNICState + /** The private NIC tags */ + tags: string[] } /** Security group */ @@ -1587,6 +1590,15 @@ export type ListPrivateNICsRequest = { zone?: Zone /** The server the private NIC is attached to */ serverId: string + /** The private NIC tags */ + tags?: string[] + /** + * A positive integer lower or equal to 100 to select the number of items to + * return + */ + perPage?: number + /** A positive integer to choose the page to return */ + page?: number } export type CreatePrivateNICRequest = { @@ -1596,6 +1608,8 @@ export type CreatePrivateNICRequest = { serverId: string /** UUID of the private network where the private NIC will be attached */ privateNetworkId: string + /** The private NIC tags */ + tags?: string[] } export type GetPrivateNICRequest = { @@ -1607,6 +1621,17 @@ export type GetPrivateNICRequest = { privateNicId: string } +export type UpdatePrivateNICRequest = { + /** Zone to target. If none is passed will use default zone from the config */ + zone?: Zone + /** UUID of the server the private NIC will be attached to */ + serverId: string + /** The private NIC unique ID */ + privateNicId: string + /** Tags used to select private NIC/s */ + tags?: string[] +} + export type DeletePrivateNICRequest = { /** Zone to target. If none is passed will use default zone from the config */ zone?: Zone