Compare commits

...

6 Commits

Author SHA1 Message Date
philkunz 4e0dfb0356 1.0.17 2024-02-18 23:45:04 +01:00
philkunz 84780647da fix(core): update 2024-02-18 23:45:03 +01:00
philkunz 1645d7881a 1.0.16 2024-02-18 23:43:41 +01:00
philkunz 88351db20f fix(core): update 2024-02-18 23:43:40 +01:00
philkunz 18cbf8693f 1.0.15 2024-02-18 23:41:51 +01:00
philkunz 7d64a2bc4d fix(core): update 2024-02-18 23:41:50 +01:00
4 changed files with 15 additions and 7 deletions
+1 -1
View File
@@ -1,6 +1,6 @@
{ {
"name": "@apiclient.xyz/hetznercloud", "name": "@apiclient.xyz/hetznercloud",
"version": "1.0.14", "version": "1.0.17",
"private": false, "private": false,
"description": "an unofficial api client for the hetzner cloud api", "description": "an unofficial api client for the hetzner cloud api",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
+1 -1
View File
@@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@apiclient.xyz/hetznercloud', name: '@apiclient.xyz/hetznercloud',
version: '1.0.14', version: '1.0.17',
description: 'an unofficial api client for the hetzner cloud api' description: 'an unofficial api client for the hetzner cloud api'
} }
+2 -2
View File
@@ -11,8 +11,8 @@ export class HetznerAccount {
return HetznerServer.getServers(this); return HetznerServer.getServers(this);
} }
public async getServerByLabel(labelArg: string, valueArg?: string) { public async getServersByLabel(labelObject: plugins.tsclass.typeFestOwn.SecondArgument<typeof HetznerServer.getServersByLabel>) {
return HetznerServer.getServerByLabel(this, labelArg, valueArg); return HetznerServer.getServersByLabel(this, labelObject);
} }
public async createServer(optionsArg: plugins.tsclass.typeFestOwn.SecondArgument<typeof HetznerServer.create>) { public async createServer(optionsArg: plugins.tsclass.typeFestOwn.SecondArgument<typeof HetznerServer.create>) {
+11 -3
View File
@@ -52,13 +52,21 @@ export class HetznerServer {
return servers; return servers;
} }
public static async getServerByLabel(hetznerAccountRefArg: HetznerAccount, labelArg: string, valueArg?: string) { public static async getServersByLabel(hetznerAccountRefArg: HetznerAccount, labelObject: {[key: string]: string}) {
const servers = await HetznerServer.getServers(hetznerAccountRefArg); const servers = await HetznerServer.getServers(hetznerAccountRefArg);
const results: HetznerServer[] = [];
for (const server of servers) { for (const server of servers) {
if (valueArg ? server.data.labels[labelArg] === valueArg : server.data.labels[labelArg]) { let isMatch = true;
return server; for (const key in labelObject) {
if (server.data.labels[key] !== labelObject[key]) {
isMatch = false;
}
}
if (isMatch) {
results.push(server);
} }
} }
return results;
} }
// INSTANCE // INSTANCE