gns3-web-ui/src/app/services/template-mocks.service.ts
2019-09-18 05:37:51 -07:00

302 lines
9.2 KiB
TypeScript

import { Injectable } from '@angular/core';
import { QemuTemplate } from '../models/templates/qemu-template';
import { VpcsTemplate } from '../models/templates/vpcs-template';
import { Observable, of } from 'rxjs';
import { VirtualBoxTemplate } from '../models/templates/virtualbox-template';
import { EthernetHubTemplate } from '../models/templates/ethernet-hub-template';
import { CloudTemplate } from '../models/templates/cloud-template';
import { EthernetSwitchTemplate } from '../models/templates/ethernet-switch-template';
import { IosTemplate } from '../models/templates/ios-template';
import { VmwareTemplate } from '../models/templates/vmware-template';
import { DockerTemplate } from '../models/templates/docker-template';
import { CustomAdapter } from '../models/qemu/qemu-custom-adapter';
import { IouTemplate } from '../models/templates/iou-template';
import { TracengTemplate } from '../models/templates/traceng-template';
@Injectable()
export class TemplateMocksService {
getTracengTemplate() : TracengTemplate {
let template: TracengTemplate = {
builtin: false,
category: 'guest',
compute_id: 'local',
console_type: 'none',
default_name_format: 'TraceNG{0}',
ip_address: '',
name: '',
symbol: ':/symbols/classic/traceng.svg',
template_id: '',
template_type: 'traceng'
};
return template;
}
getQemuTemplate() : Observable<QemuTemplate> {
let template : QemuTemplate = {
adapter_type: 'e1000',
adapters: 4,
bios_image: '',
boot_priority: 'c',
builtin: false,
category: 'guest',
cdrom_image: '',
compute_id: 'local',
console_auto_start: false,
console_type: 'telnet',
cpu_throttling: 0,
cpus: 1,
custom_adapters: [],
default_name_format: '{name}-{0}',
first_port_name: '',
hda_disk_image: '',
hda_disk_interface: 'ide',
hdb_disk_image: '',
hdb_disk_interface: 'ide',
hdc_disk_image: '',
hdc_disk_interface: 'ide',
hdd_disk_image: '',
hdd_disk_interface: 'ide',
initrd: '',
kernel_command_line: '',
kernel_image: '',
legacy_networking: false,
linked_clone: true,
mac_address: '',
name: '',
on_close: 'power_off',
options: '-nographic',
platform: '',
port_name_format: 'Ethernet{0}',
port_segment_size: 0,
process_priority: 'normal',
qemu_path: '',
ram: 256,
symbol: ':/symbols/qemu_guest.svg',
template_id: '',
template_type: 'qemu',
usage: ''
}
return of(template);
}
getVpcsTemplate() : Observable<VpcsTemplate> {
let template: VpcsTemplate = {
base_script_file: 'vpcs_base_config.txt',
builtin: false,
category: 'guest',
compute_id: 'local',
console_auto_start: false,
console_type: 'telnet',
default_name_format: 'PC{0}',
name: '',
symbol: ':/symbols/vpcs_guest.svg',
template_id: '',
template_type: 'vpcs'
}
return of(template);
}
getVirtualBoxTemplate() : Observable<VirtualBoxTemplate> {
let template: VirtualBoxTemplate = {
adapter_type: 'Intel PRO/1000 MT Desktop (82540EM)',
adapters: 1,
builtin: false,
category: 'guest',
compute_id: 'local',
console_auto_start: false,
console_type: 'none',
custom_adapters: [],
default_name_format: '{name}-{0}',
first_port_name: '',
headless: false,
linked_clone: false,
name: '',
on_close: 'power_off',
port_name_format: 'Ethernet{0}',
port_segment_size: 0,
ram: 0,
symbol: ':/symbols/vbox_guest.svg',
template_id: '',
template_type: 'virtualbox',
usage: '',
use_any_adapter: false,
vmname: ''
}
return of(template);
}
getCloudNodeTemplate() : Observable<CloudTemplate> {
let template = {
builtin: false,
category: 'guest',
compute_id: 'local',
default_name_format: 'Cloud{0}',
name: '',
ports_mapping: [],
remote_console_type: 'none',
symbol: ':/symbols/cloud.svg',
template_id: '',
template_type: 'cloud'
} as CloudTemplate;
return of(template);
}
getEthernetHubTemplate() : Observable<EthernetHubTemplate> {
let template: EthernetHubTemplate = {
builtin: false,
category: 'switch',
compute_id: 'local',
default_name_format: 'Hub{0}',
name: '',
ports_mapping: [],
symbol: ':/symbols/hub.svg',
template_id: '',
template_type: 'ethernet_hub'
}
return of(template);
}
getEthernetSwitchTemplate() : Observable<EthernetSwitchTemplate> {
let template: EthernetSwitchTemplate = {
builtin: false,
category: 'switch',
compute_id: 'local',
console_type: 'telnet',
default_name_format: 'Switch{0}',
name: '',
ports_mapping: [],
symbol: ':/symbols/ethernet_switch.svg',
template_id: '',
template_type: 'ethernet_switch'
}
return of(template);
}
getIosTemplate() : Observable<IosTemplate> {
let template: IosTemplate = {
auto_delete_disks: true,
builtin: false,
category: 'router',
chassis: '',
compute_id: 'local',
console_auto_start: false,
console_type: 'telnet',
default_name_format: 'R{0}',
disk0: 0,
disk1: 0,
exec_area: 64,
idlemax: 500,
idlepc: '',
idlesleep: 30,
image: '',
iomem: 0,
mac_addr: '',
mmap: true,
name: '',
nvram: 128,
platform: '',
private_config: '',
ram: 128,
sparsemem: true,
startup_config: '',
symbol: ':/symbols/router.svg',
system_id: 'FTX0945W0MY',
template_id: '',
template_type: 'dynamips',
usage: ''
}
return of(template);
}
getVmwareTemplate() : Observable<VmwareTemplate> {
let template: VmwareTemplate = {
adapter_type: 'e1000',
adapters: 1,
builtin: false,
category: 'guest',
compute_id: 'local',
console_auto_start: false,
console_type: 'none',
custom_adapters: [],
default_name_format: '{name}-{0}',
first_port_name: '',
headless: false,
linked_clone: false,
name: '',
on_close: 'power-off',
port_name_format: 'Ethernet{0}',
port_segment_size: 0,
symbol: ':/symbols/vmware_guest.svg',
template_id: '',
template_type: 'vmware',
usage: '',
use_any_adapter: false,
vmx_path: ''
};
return of(template);
}
getDockerTemplate() : Observable<DockerTemplate> {
let template: DockerTemplate = {
adapters: 1,
builtin: false,
category: 'guest',
compute_id: 'vm',
console_auto_start: false,
console_http_path: '/',
console_http_port: 80,
console_resolution: '1024x768',
console_type: 'telnet',
custom_adapters: [],
default_name_format: '{name}-{0}',
environment: '',
extra_hosts: '',
image: '',
name: '',
start_command: '',
symbol: ':/symbols/docker_guest.svg',
template_id: '',
template_type: 'docker',
usage: ''
};
return of(template);
}
getIouTemplate() : Observable<IouTemplate> {
let template: IouTemplate = {
builtin: false,
category: 'switch',
compute_id: 'vm',
console_auto_start: false,
console_type: 'telnet',
default_name_format: 'IOU{0}',
ethernet_adapters: 1,
l1_keepalives: false,
name: '',
nvram: 128,
path: '',
private_config: '',
ram: 256,
serial_adapters: 0,
startup_config: 'iou_l2_base_startup-config.txt',
symbol: ':/symbols/multilayer_switch.svg',
template_id: '',
template_type: 'iou',
usage: '',
use_default_iou_values: true
};
return of(template);
}
}