fix(core): update
This commit is contained in:
parent
e7babf5222
commit
d2b1018234
25
test/test.ts
25
test/test.ts
@ -6,7 +6,9 @@ const testQenv = new qenv.Qenv('./', './.nogit/');
|
|||||||
let testAccount: hetznercloud.HetznerAccount;
|
let testAccount: hetznercloud.HetznerAccount;
|
||||||
|
|
||||||
tap.test('should create a valid hetzer account', async () => {
|
tap.test('should create a valid hetzer account', async () => {
|
||||||
testAccount = new hetznercloud.HetznerAccount(await testQenv.getEnvVarOnDemand('HETZNER_API_TOKEN'));
|
testAccount = new hetznercloud.HetznerAccount(
|
||||||
|
await testQenv.getEnvVarOnDemand('HETZNER_API_TOKEN')
|
||||||
|
);
|
||||||
expect(testAccount).toBeInstanceOf(hetznercloud.HetznerAccount);
|
expect(testAccount).toBeInstanceOf(hetznercloud.HetznerAccount);
|
||||||
});
|
});
|
||||||
|
|
||||||
@ -14,16 +16,27 @@ tap.test('should be able to list all servers', async () => {
|
|||||||
const servers = await testAccount.getServers();
|
const servers = await testAccount.getServers();
|
||||||
expect(servers).toBeArray();
|
expect(servers).toBeArray();
|
||||||
console.log(JSON.stringify(servers, null, 2));
|
console.log(JSON.stringify(servers, null, 2));
|
||||||
})
|
});
|
||||||
|
|
||||||
tap.test('should be able to create a server', async () => {
|
const testserver = tap.test('should be able to create a server', async (toolsArg) => {
|
||||||
const newServer = await testAccount.createServer({
|
const newServer = await testAccount.createServer({
|
||||||
name: 'testserver',
|
name: 'testserver',
|
||||||
location: 'nbg1',
|
location: 'nbg1',
|
||||||
labels: {},
|
type: 'cpx41',
|
||||||
|
labels: {
|
||||||
|
servezoneId: 'testzone',
|
||||||
|
},
|
||||||
});
|
});
|
||||||
expect(newServer).toBeInstanceOf(hetznercloud.HetznerServer);
|
expect(newServer).toBeInstanceOf(hetznercloud.HetznerServer);
|
||||||
console.log(newServer);
|
console.log(newServer);
|
||||||
})
|
await toolsArg.delayFor(10000);
|
||||||
|
return newServer;
|
||||||
|
});
|
||||||
|
|
||||||
tap.start()
|
tap.test('should be able to delete a server', async () => {
|
||||||
|
const testServer: hetznercloud.HetznerServer =
|
||||||
|
await (testserver.testResultPromise as Promise<hetznercloud.HetznerServer>);
|
||||||
|
// await testServer.delete();
|
||||||
|
});
|
||||||
|
|
||||||
|
tap.start();
|
||||||
|
@ -3,6 +3,6 @@
|
|||||||
*/
|
*/
|
||||||
export const commitinfo = {
|
export const commitinfo = {
|
||||||
name: '@apiclient.xyz/hetznercloud',
|
name: '@apiclient.xyz/hetznercloud',
|
||||||
version: '1.0.11',
|
version: '1.0.12',
|
||||||
description: 'an unofficial api client for the hetzner cloud api'
|
description: 'an unofficial api client for the hetzner cloud api'
|
||||||
}
|
}
|
||||||
|
@ -32,6 +32,7 @@ export class HetznerAccount {
|
|||||||
Authorization: `Bearer ${this.token}`,
|
Authorization: `Bearer ${this.token}`,
|
||||||
},
|
},
|
||||||
requestBody: payloadArg,
|
requestBody: payloadArg,
|
||||||
|
keepAlive: false,
|
||||||
});
|
});
|
||||||
console.log(response.statusCode);
|
console.log(response.statusCode);
|
||||||
console.log(response.body);
|
console.log(response.body);
|
||||||
|
0
ts/classes.firewall.ts
Normal file
0
ts/classes.firewall.ts
Normal file
@ -8,7 +8,8 @@ export class HetznerServer {
|
|||||||
hetznerAccountRefArg: HetznerAccount,
|
hetznerAccountRefArg: HetznerAccount,
|
||||||
optionsArg: {
|
optionsArg: {
|
||||||
name: string;
|
name: string;
|
||||||
location: 'nbg1';
|
type: types.THetznerCloudServerName;
|
||||||
|
location: types.THetznerCloudLocationName;
|
||||||
labels: {[key: string]: string},
|
labels: {[key: string]: string},
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
@ -18,7 +19,7 @@ export class HetznerServer {
|
|||||||
const createServerPayload: types.TServerCreateRequestBody = {
|
const createServerPayload: types.TServerCreateRequestBody = {
|
||||||
name: optionsArg.name,
|
name: optionsArg.name,
|
||||||
image: 'ubuntu-22.04',
|
image: 'ubuntu-22.04',
|
||||||
server_type: 'cx11',
|
server_type: optionsArg.type,
|
||||||
start_after_create: true,
|
start_after_create: true,
|
||||||
labels: optionsArg.labels || {} as any,
|
labels: optionsArg.labels || {} as any,
|
||||||
location: optionsArg.location,
|
location: optionsArg.location,
|
||||||
|
30
ts/types.ts
30
ts/types.ts
@ -10,3 +10,33 @@ export type TServersGetResponseBody = plugins.hetznerOpenapi.paths['/servers']['
|
|||||||
export type TServerCreateRequestBody = plugins.hetznerOpenapi.paths['/servers']['post']['requestBody']['content']['application/json'];
|
export type TServerCreateRequestBody = plugins.hetznerOpenapi.paths['/servers']['post']['requestBody']['content']['application/json'];
|
||||||
export type TServerCreateResponseBody = plugins.hetznerOpenapi.paths['/servers']['post']['responses']['201']['content']['application/json'];
|
export type TServerCreateResponseBody = plugins.hetznerOpenapi.paths['/servers']['post']['responses']['201']['content']['application/json'];
|
||||||
|
|
||||||
|
// server types
|
||||||
|
export type THetznerCloudServerName =
|
||||||
|
| 'cx11'
|
||||||
|
| 'cx21'
|
||||||
|
| 'cx31'
|
||||||
|
| 'cx41'
|
||||||
|
| 'cx51'
|
||||||
|
| 'ccx11'
|
||||||
|
| 'ccx21'
|
||||||
|
| 'ccx31'
|
||||||
|
| 'ccx41'
|
||||||
|
| 'ccx51'
|
||||||
|
| 'ccx13'
|
||||||
|
| 'ccx23'
|
||||||
|
| 'ccx33'
|
||||||
|
| 'ccx43'
|
||||||
|
| 'ccx53'
|
||||||
|
| 'ccx63'
|
||||||
|
| 'cpx11'
|
||||||
|
| 'cpx21'
|
||||||
|
| 'cpx31'
|
||||||
|
| 'cpx41'
|
||||||
|
| 'cpx51'
|
||||||
|
| 'cpx61'
|
||||||
|
| 'cpx70'
|
||||||
|
| 'cpx71'
|
||||||
|
| 'cpx90';
|
||||||
|
|
||||||
|
// location types
|
||||||
|
export type THetznerCloudLocationName = 'fsn1' | 'nbg1' | 'hel1' | 'ash' | 'hil';
|
Loading…
Reference in New Issue
Block a user