fix(core): update
This commit is contained in:
		
							
								
								
									
										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';
 | 
				
			||||||
		Reference in New Issue
	
	Block a user