Class: ForemanFogProxmox::Proxmox
- Inherits:
-
ComputeResource
- Object
- ComputeResource
- ForemanFogProxmox::Proxmox
- Includes:
- ProxmoxComputeAttributes, ProxmoxConnection, ProxmoxConsole, ProxmoxImages, ProxmoxInterfaces, ProxmoxOperatingSystems, ProxmoxTokenExpiration, ProxmoxVersion, ProxmoxVmCommands, ProxmoxVmNew, ProxmoxVmQueries, ProxmoxVolumes, ProxmoxContainerHelper, ProxmoxServerHelper, ProxmoxVmHelper
- Defined in:
- app/models/foreman_fog_proxmox/proxmox.rb
Constant Summary
Constants included from ProxmoxVmHelper
ProxmoxVmHelper::GIGA, ProxmoxVmHelper::KILO, ProxmoxVmHelper::MEGA
Class Method Summary collapse
Instance Method Summary collapse
- #associated_host(vm) ⇒ Object
- #capabilities ⇒ Object
- #certs_to_store ⇒ Object
- #provided_attributes ⇒ Object
- #renew ⇒ Object
- #renew=(value) ⇒ Object
- #ssl_certs ⇒ Object
- #ssl_certs=(value) ⇒ Object
- #ssl_verify_peer ⇒ Object
- #ssl_verify_peer=(value) ⇒ Object
Methods included from ProxmoxConsole
Methods included from ProxmoxVersion
Methods included from ProxmoxOperatingSystems
#available_linux_operating_systems, #available_operating_systems, #available_windows_operating_systems, #compute_os_types, #os_linux_types_mapping, #os_windows_types_mapping
Methods included from ProxmoxImages
#available_images, #clone_from_image, #image_exists?, #images_by_storage, #template, #templates
Methods included from ProxmoxInterfaces
#cidr_prefix, #container?, #container_nic_name_valid?, #dhcp?, #editable_network_interfaces?, #host_interfaces_attrs, #set_container_interface_name, #set_gw, #set_ip, #set_nic_identifier, #to_boolean
Methods included from ProxmoxVolumes
#add_volume, #delete_volume, #extract_id, #save_volume, #update_volume, #volume_exists?, #volume_options, #volume_to_delete?
Methods included from ProxmoxVmHelper
#add_cdrom_to_config_server, #convert_memory_size, #convert_memory_sizes, #convert_sizes, #convert_volumes_size, #disk_to_cdrom, #object_to_config_hash, #remove_deletes
Methods included from ProxmoxComputeAttributes
#host_compute_attrs, #interface_compute_attributes, #not_config_key?, #vm_compute_attributes
Methods included from ProxmoxVmQueries
#bridges, #find_vm_by_uuid, #find_vm_in_servers_by_uuid, #nodes, #storages, #vms
Methods included from ProxmoxPools
#add_vm_to_pool, #pool_owner, #pools, #remove_vm_from_pool, #update_pool
Methods included from ProxmoxVmCommands
#create_vm, #destroy_vm, #save_vm, #start_on_boot, #supports_update?, #update_required?, #user_data_supported?
Methods included from ProxmoxVmNew
#default_node, #default_node_id, #interface_container_defaults, #interface_defaults, #interface_server_defaults, #new_container_interface, #new_container_vm, #new_interface, #new_server_interface, #new_server_vm, #new_vm, #new_volume, #new_volume_container, #new_volume_server, #next_vmid, #vm_container_instance_defaults, #vm_instance_defaults, #vm_server_instance_defaults, #volume_container_defaults, #volume_server_defaults
Methods included from ProxmoxTokenExpiration
#token_deadline, #token_expired?
Methods included from ProxmoxConnection
#connection_options, #credentials_valid?, #disconnect, #fog_credentials, #test_connection
Methods included from ProxmoxContainerHelper
#add_container_interface, #config_general_or_ostemplate_key?, #config_keys, #ostemplate_keys, #parse_container_cpu, #parse_container_interfaces, #parse_container_memory, #parse_container_ostemplate, #parse_container_vm, #parse_container_volume, #parse_container_volumes, #parse_ostemplate_without_keys
Methods included from ProxmoxServerHelper
#add_server_interface, #parse_server_cdrom, #parse_server_cpu, #parse_server_interfaces, #parse_server_memory, #parse_server_vm, #parse_server_volume, #parse_server_volumes
Class Method Details
.model_name ⇒ Object
60 61 62 |
# File 'app/models/foreman_fog_proxmox/proxmox.rb', line 60 def self.model_name ComputeResource.model_name end |
.provider_friendly_name ⇒ Object
52 53 54 |
# File 'app/models/foreman_fog_proxmox/proxmox.rb', line 52 def self.provider_friendly_name 'Proxmox' end |
Instance Method Details
#associated_host(vm) ⇒ Object
64 65 66 |
# File 'app/models/foreman_fog_proxmox/proxmox.rb', line 64 def associated_host(vm) associate_by('mac', vm.mac) end |
#capabilities ⇒ Object
56 57 58 |
# File 'app/models/foreman_fog_proxmox/proxmox.rb', line 56 def capabilities [:build, :new_volume, :new_interface, :image] end |
#certs_to_store ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'app/models/foreman_fog_proxmox/proxmox.rb', line 76 def certs_to_store return if ssl_certs.blank? store = OpenSSL::X509::Store.new ssl_certs.split(/(?=-----BEGIN)/).each do |cert| x509_cert = OpenSSL::X509::Certificate.new cert store.add_cert x509_cert end store rescue StandardError => e logger.error(e) raise ::Foreman::Exception, N_('Unable to store X509 certificates') end |
#provided_attributes ⇒ Object
46 47 48 49 50 |
# File 'app/models/foreman_fog_proxmox/proxmox.rb', line 46 def provided_attributes super.merge( :mac => :mac ) end |
#renew ⇒ Object
98 99 100 |
# File 'app/models/foreman_fog_proxmox/proxmox.rb', line 98 def renew attrs[:renew].blank? ? false : Foreman::Cast.to_bool(attrs[:renew]) end |
#renew=(value) ⇒ Object
102 103 104 |
# File 'app/models/foreman_fog_proxmox/proxmox.rb', line 102 def renew=(value) attrs[:renew] = value end |
#ssl_certs ⇒ Object
68 69 70 |
# File 'app/models/foreman_fog_proxmox/proxmox.rb', line 68 def ssl_certs attrs[:ssl_certs] end |
#ssl_certs=(value) ⇒ Object
72 73 74 |
# File 'app/models/foreman_fog_proxmox/proxmox.rb', line 72 def ssl_certs=(value) attrs[:ssl_certs] = value end |
#ssl_verify_peer ⇒ Object
90 91 92 |
# File 'app/models/foreman_fog_proxmox/proxmox.rb', line 90 def ssl_verify_peer attrs[:ssl_verify_peer].blank? ? false : Foreman::Cast.to_bool(attrs[:ssl_verify_peer]) end |
#ssl_verify_peer=(value) ⇒ Object
94 95 96 |
# File 'app/models/foreman_fog_proxmox/proxmox.rb', line 94 def ssl_verify_peer=(value) attrs[:ssl_verify_peer] = value end |