fog 1.22.1 → 1.23.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +13 -5
- data/CHANGELOG.md +351 -0
- data/CONTRIBUTORS.md +43 -0
- data/Rakefile +2 -2
- data/fog.gemspec +6 -4
- data/gemfiles/Gemfile-edge +0 -3
- data/gemfiles/Gemfile-ruby-1.8.7 +1 -0
- data/lib/fog.rb +2 -0
- data/lib/fog/aws/beanstalk.rb +0 -1
- data/lib/fog/aws/compute.rb +46 -2
- data/lib/fog/aws/dns.rb +1 -1
- data/lib/fog/aws/elb.rb +2 -1
- data/lib/fog/aws/models/compute/flavors.rb +80 -0
- data/lib/fog/aws/models/compute/image.rb +1 -0
- data/lib/fog/aws/models/compute/network_acl.rb +12 -1
- data/lib/fog/aws/models/compute/network_interface.rb +1 -0
- data/lib/fog/aws/models/compute/server.rb +6 -13
- data/lib/fog/aws/models/compute/servers.rb +82 -31
- data/lib/fog/aws/models/compute/subnet.rb +1 -0
- data/lib/fog/aws/models/compute/vpc.rb +11 -0
- data/lib/fog/aws/models/data_pipeline/pipeline.rb +2 -1
- data/lib/fog/aws/models/elasticache/cluster.rb +8 -16
- data/lib/fog/aws/parsers/compute/describe_instances.rb +1 -1
- data/lib/fog/aws/parsers/compute/describe_internet_gateways.rb +1 -2
- data/lib/fog/aws/parsers/compute/describe_subnets.rb +2 -0
- data/lib/fog/aws/parsers/compute/modify_subnet_attribute.rb +24 -0
- data/lib/fog/aws/parsers/compute/network_interface_parser.rb +6 -1
- data/lib/fog/aws/parsers/rds/db_parser.rb +3 -15
- data/lib/fog/aws/requests/compute/authorize_security_group_ingress.rb +8 -3
- data/lib/fog/aws/requests/compute/create_network_acl.rb +1 -1
- data/lib/fog/aws/requests/compute/create_tags.rb +1 -20
- data/lib/fog/aws/requests/compute/create_vpc.rb +2 -1
- data/lib/fog/aws/requests/compute/delete_tags.rb +1 -17
- data/lib/fog/aws/requests/compute/describe_instances.rb +1 -1
- data/lib/fog/aws/requests/compute/describe_network_acls.rb +6 -0
- data/lib/fog/aws/requests/compute/describe_vpcs.rb +6 -0
- data/lib/fog/aws/requests/compute/modify_subnet_attribute.rb +58 -0
- data/lib/fog/aws/requests/compute/register_image.rb +2 -2
- data/lib/fog/aws/requests/compute/run_instances.rb +2 -1
- data/lib/fog/aws/requests/data_pipeline/create_pipeline.rb +4 -2
- data/lib/fog/aws/requests/dns/change_resource_record_sets.rb +4 -1
- data/lib/fog/aws/requests/elb/create_load_balancer.rb +3 -2
- data/lib/fog/bin.rb +2 -0
- data/lib/fog/bin/opennebula.rb +60 -0
- data/lib/fog/bin/softlayer.rb +53 -0
- data/lib/fog/cloudsigma/models/lib_volume.rb +1 -1
- data/lib/fog/cloudstack/compute.rb +375 -14
- data/lib/fog/cloudstack/requests/compute/activate_project.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/add_account_to_project.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/add_baremetal_dhcp.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/add_baremetal_host.rb +26 -0
- data/lib/fog/cloudstack/requests/compute/add_baremetal_pxe_kick_start_server.rb +26 -0
- data/lib/fog/cloudstack/requests/compute/add_baremetal_pxe_ping_server.rb +28 -0
- data/lib/fog/cloudstack/requests/compute/add_cisco_asa1000v_resource.rb +24 -0
- data/lib/fog/cloudstack/requests/compute/add_cisco_vnmc_resource.rb +24 -0
- data/lib/fog/cloudstack/requests/compute/add_cluster.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/add_external_firewall.rb +24 -0
- data/lib/fog/cloudstack/requests/compute/add_external_load_balancer.rb +24 -0
- data/lib/fog/cloudstack/requests/compute/add_f5_load_balancer.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/add_host.rb +26 -0
- data/lib/fog/cloudstack/requests/compute/add_image_store.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/add_ip_to_nic.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/add_netscaler_load_balancer.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/add_network_device.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/add_network_service_provider.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/add_nic_to_virtual_machine.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/add_nicira_nvp_device.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/add_region.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/add_resource_detail.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/add_s3.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/add_secondary_storage.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/add_srx_firewall.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/add_swift.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/add_traffic_monitor.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/add_traffic_type.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/add_ucs_manager.rb +24 -0
- data/lib/fog/cloudstack/requests/compute/add_vmware_dc.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/add_vpn_user.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/archive_alerts.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/archive_events.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/assign_to_global_load_balancer_rule.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/assign_to_load_balancer_rule.rb +10 -10
- data/lib/fog/cloudstack/requests/compute/assign_virtual_machine.rb +13 -8
- data/lib/fog/cloudstack/requests/compute/associate_ip_address.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/associate_lun.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/associate_ucs_profile_to_blade.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/attach_iso.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/attach_volume.rb +15 -10
- data/lib/fog/cloudstack/requests/compute/authorize_security_group_egress.rb +10 -4
- data/lib/fog/cloudstack/requests/compute/authorize_security_group_ingress.rb +10 -5
- data/lib/fog/cloudstack/requests/compute/cancel_host_maintenance.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/cancel_storage_maintenance.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/change_service_for_router.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/change_service_for_system_vm.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/change_service_for_virtual_machine.rb +8 -4
- data/lib/fog/cloudstack/requests/compute/clean_vmreservations.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/configure_f5_load_balancer.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/configure_internal_load_balancer_element.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/configure_netscaler_load_balancer.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/configure_srx_firewall.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/configure_virtual_router_element.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/copy_iso.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/copy_template.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/create_account.rb +13 -5
- data/lib/fog/cloudstack/requests/compute/create_affinity_group.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/create_auto_scale_policy.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/create_auto_scale_vm_group.rb +26 -0
- data/lib/fog/cloudstack/requests/compute/create_auto_scale_vm_profile.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/create_condition.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/create_counter.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/create_disk_offering.rb +14 -9
- data/lib/fog/cloudstack/requests/compute/create_domain.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/create_egress_firewall_rule.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/create_firewall_rule.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/create_global_load_balancer_rule.rb +24 -0
- data/lib/fog/cloudstack/requests/compute/create_instance_group.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/create_internal_load_balancer_element.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/create_ip_forwarding_rule.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/create_lb_health_check_policy.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/create_lb_stickiness_policy.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/create_load_balancer.rb +27 -0
- data/lib/fog/cloudstack/requests/compute/create_load_balancer_rule.rb +10 -4
- data/lib/fog/cloudstack/requests/compute/create_lun_on_filer.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/create_network.rb +11 -5
- data/lib/fog/cloudstack/requests/compute/create_network_acl.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/create_network_acl_list.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/create_network_offering.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/create_physical_network.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/create_pod.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/create_pool.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/create_port_forwarding_rule.rb +12 -5
- data/lib/fog/cloudstack/requests/compute/create_portable_ip_range.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/create_private_gateway.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/create_project.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/create_remote_access_vpn.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/create_secondary_staging_store.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/create_security_group.rb +11 -6
- data/lib/fog/cloudstack/requests/compute/create_service_offering.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/create_snapshot.rb +9 -7
- data/lib/fog/cloudstack/requests/compute/create_snapshot_policy.rb +12 -5
- data/lib/fog/cloudstack/requests/compute/create_ssh_key_pair.rb +8 -6
- data/lib/fog/cloudstack/requests/compute/create_static_route.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/create_storage_network_ip_range.rb +24 -0
- data/lib/fog/cloudstack/requests/compute/create_storage_pool.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/create_tags.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/create_template.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/create_user.rb +13 -5
- data/lib/fog/cloudstack/requests/compute/create_virtual_router_element.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/create_vlan_ip_range.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/create_vm_snapshot.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/create_volume.rb +10 -8
- data/lib/fog/cloudstack/requests/compute/create_volume_on_filer.rb +27 -0
- data/lib/fog/cloudstack/requests/compute/create_vpc.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/create_vpcoffering.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/create_vpn_connection.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/create_vpn_customer_gateway.rb +25 -0
- data/lib/fog/cloudstack/requests/compute/create_vpn_gateway.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/create_zone.rb +15 -9
- data/lib/fog/cloudstack/requests/compute/dedicate_cluster.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/dedicate_guest_vlan_range.rb +24 -0
- data/lib/fog/cloudstack/requests/compute/dedicate_host.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/dedicate_pod.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/dedicate_public_ip_range.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/dedicate_zone.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/delete_account.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/delete_account_from_project.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/delete_affinity_group.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_alerts.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_auto_scale_policy.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_auto_scale_vm_group.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_auto_scale_vm_profile.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_cisco_asa1000v_resource.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_cisco_nexus_vsm.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_cisco_vnmc_resource.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_cluster.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_condition.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_counter.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_disk_offering.rb +12 -9
- data/lib/fog/cloudstack/requests/compute/delete_domain.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/delete_egress_firewall_rule.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_events.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/delete_external_firewall.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_external_load_balancer.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_f5_load_balancer.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_firewall_rule.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_global_load_balancer_rule.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_host.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_image_store.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_instance_group.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_ip_forwarding_rule.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_iso.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_lb_health_check_policy.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_lb_stickiness_policy.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_load_balancer.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_load_balancer_rule.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/delete_netscaler_load_balancer.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_network.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_network_acl.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_network_acl_list.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_network_device.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_network_offering.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_network_service_provider.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_nicira_nvp_device.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_physical_network.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_pod.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_pool.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_port_forwarding_rule.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/delete_portable_ip_range.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_private_gateway.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_project.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_project_invitation.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_remote_access_vpn.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_secondary_staging_store.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_security_group.rb +8 -7
- data/lib/fog/cloudstack/requests/compute/delete_service_offering.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_snapshot.rb +11 -11
- data/lib/fog/cloudstack/requests/compute/delete_snapshot_policies.rb +7 -5
- data/lib/fog/cloudstack/requests/compute/delete_srx_firewall.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_ssh_key_pair.rb +7 -5
- data/lib/fog/cloudstack/requests/compute/delete_static_route.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_storage_network_ip_range.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_storage_pool.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_tags.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/delete_template.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/delete_traffic_monitor.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_traffic_type.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_ucs_manager.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_user.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/delete_vlan_ip_range.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_vm_snapshot.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_volume.rb +13 -10
- data/lib/fog/cloudstack/requests/compute/delete_vpc.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_vpcoffering.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_vpn_connection.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_vpn_customer_gateway.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_vpn_gateway.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/delete_zone.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/deploy_virtual_machine.rb +14 -22
- data/lib/fog/cloudstack/requests/compute/destroy_lun_on_filer.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/destroy_router.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/destroy_system_vm.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/destroy_virtual_machine.rb +13 -11
- data/lib/fog/cloudstack/requests/compute/destroy_volume_on_filer.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/detach_iso.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/detach_volume.rb +8 -7
- data/lib/fog/cloudstack/requests/compute/disable_account.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/disable_auto_scale_vm_group.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/disable_cisco_nexus_vsm.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/disable_static_nat.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/disable_user.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/disassociate_ip_address.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/disassociate_ucs_profile_from_blade.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/dissociate_lun.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/enable_account.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/enable_auto_scale_vm_group.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/enable_cisco_nexus_vsm.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/enable_static_nat.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/enable_storage_maintenance.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/enable_user.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/extract_iso.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/extract_template.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/extract_volume.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/find_hosts_for_migration.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/find_storage_pools_for_migration.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/generate_usage_records.rb +9 -13
- data/lib/fog/cloudstack/requests/compute/get_api_limit.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/get_cloud_identifier.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/get_user.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/get_vm_password.rb +9 -7
- data/lib/fog/cloudstack/requests/compute/instantiate_ucs_template_and_assocaciate_to_blade.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/ldap_config.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/ldap_remove.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_accounts.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_affinity_group_types.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_affinity_groups.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_alerts.rb +5 -3
- data/lib/fog/cloudstack/requests/compute/list_apis.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_async_jobs.rb +10 -8
- data/lib/fog/cloudstack/requests/compute/list_auto_scale_policies.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_auto_scale_vm_groups.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_auto_scale_vm_profiles.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_baremetal_dhcp.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_baremetal_pxe_servers.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_capabilities.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_capacity.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_cisco_asa1000v_resources.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_cisco_nexus_vsms.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_cisco_vnmc_resources.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_clusters.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_conditions.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_configurations.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_counters.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_dedicated_clusters.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_dedicated_guest_vlan_ranges.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_dedicated_hosts.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_dedicated_pods.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_dedicated_zones.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_deployment_planners.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_disk_offerings.rb +7 -5
- data/lib/fog/cloudstack/requests/compute/list_domain_children.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_domains.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_egress_firewall_rules.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_event_types.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_events.rb +5 -3
- data/lib/fog/cloudstack/requests/compute/list_external_firewalls.rb +7 -4
- data/lib/fog/cloudstack/requests/compute/list_external_load_balancers.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_f5_load_balancer_networks.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_f5_load_balancers.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_firewall_rules.rb +7 -1
- data/lib/fog/cloudstack/requests/compute/list_global_load_balancer_rules.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_hosts.rb +5 -3
- data/lib/fog/cloudstack/requests/compute/list_hypervisor_capabilities.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_hypervisors.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_image_stores.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_instance_groups.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_internal_load_balancer_elements.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_internal_load_balancer_vms.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_ip_forwarding_rules.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_iso_permissions.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_isos.rb +5 -3
- data/lib/fog/cloudstack/requests/compute/list_lb_health_check_policies.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_lb_stickiness_policies.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_load_balancer_rule_instances.rb +8 -6
- data/lib/fog/cloudstack/requests/compute/list_load_balancer_rules.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_load_balancers.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_luns_on_filer.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_netscaler_load_balancer_networks.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_netscaler_load_balancers.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_network_acl_lists.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_network_acls.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_network_device.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_network_isolation_methods.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_network_offerings.rb +5 -3
- data/lib/fog/cloudstack/requests/compute/list_network_service_providers.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_networks.rb +5 -3
- data/lib/fog/cloudstack/requests/compute/list_nicira_nvp_device_networks.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_nicira_nvp_devices.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_nics.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_os_categories.rb +5 -3
- data/lib/fog/cloudstack/requests/compute/list_os_types.rb +7 -5
- data/lib/fog/cloudstack/requests/compute/list_physical_networks.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_pods.rb +5 -3
- data/lib/fog/cloudstack/requests/compute/list_pools.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_port_forwarding_rules.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_portable_ip_ranges.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_private_gateways.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_project_accounts.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_project_invitations.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_projects.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_public_ip_addresses.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_regions.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_remote_access_vpns.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_resource_details.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_resource_limits.rb +5 -3
- data/lib/fog/cloudstack/requests/compute/list_routers.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_s3s.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_secondary_staging_stores.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_security_groups.rb +9 -5
- data/lib/fog/cloudstack/requests/compute/list_service_offerings.rb +11 -9
- data/lib/fog/cloudstack/requests/compute/list_snapshot_policies.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/list_snapshots.rb +6 -5
- data/lib/fog/cloudstack/requests/compute/list_srx_firewall_networks.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_srx_firewalls.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_ssh_key_pairs.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_static_routes.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_storage_network_ip_range.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_storage_pools.rb +5 -3
- data/lib/fog/cloudstack/requests/compute/list_storage_providers.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_supported_network_services.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_swifts.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_system_vms.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_tags.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_template_permissions.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_templates.rb +12 -10
- data/lib/fog/cloudstack/requests/compute/list_traffic_monitors.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_traffic_type_implementors.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_traffic_types.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_ucs_blades.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_ucs_managers.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_ucs_profiles.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_ucs_templates.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_usage_records.rb +9 -13
- data/lib/fog/cloudstack/requests/compute/list_usage_types.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_users.rb +6 -4
- data/lib/fog/cloudstack/requests/compute/list_virtual_machines.rb +10 -9
- data/lib/fog/cloudstack/requests/compute/list_virtual_router_elements.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_vlan_ip_ranges.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_vm_snapshot.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_vmware_dcs.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_volumes.rb +10 -9
- data/lib/fog/cloudstack/requests/compute/list_volumes_on_filer.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/list_vpc_offerings.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_vpcs.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_vpn_connections.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_vpn_customer_gateways.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_vpn_gateways.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_vpn_users.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/list_zones.rb +11 -10
- data/lib/fog/cloudstack/requests/compute/lock_account.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/lock_user.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/mark_default_zone_for_account.rb +23 -0
- data/lib/fog/cloudstack/requests/compute/migrate_system_vm.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/migrate_virtual_machine.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/migrate_virtual_machine_with_volume.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/migrate_volume.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/modify_pool.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/prepare_host_for_maintenance.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/prepare_template.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/query_async_job_result.rb +11 -6
- data/lib/fog/cloudstack/requests/compute/reboot_router.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/reboot_system_vm.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/reboot_virtual_machine.rb +9 -7
- data/lib/fog/cloudstack/requests/compute/reconnect_host.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/recover_virtual_machine.rb +7 -4
- data/lib/fog/cloudstack/requests/compute/refresh_ucs_blades.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/register_iso.rb +24 -0
- data/lib/fog/cloudstack/requests/compute/register_ssh_key_pair.rb +9 -4
- data/lib/fog/cloudstack/requests/compute/register_template.rb +19 -11
- data/lib/fog/cloudstack/requests/compute/register_user_keys.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/release_dedicated_cluster.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/release_dedicated_guest_vlan_range.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/release_dedicated_host.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/release_dedicated_pod.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/release_dedicated_zone.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/release_host_reservation.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/release_public_ip_range.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/remove_from_global_load_balancer_rule.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/remove_from_load_balancer_rule.rb +10 -10
- data/lib/fog/cloudstack/requests/compute/remove_ip_from_nic.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/remove_nic_from_virtual_machine.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/remove_region.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/remove_resource_detail.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/remove_vmware_dc.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/remove_vpn_user.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/replace_network_acl_list.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/reset_api_limit.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/reset_password_for_virtual_machine.rb +10 -8
- data/lib/fog/cloudstack/requests/compute/reset_ssh_key_for_virtual_machine.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/reset_vpn_connection.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/resize_volume.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/restart_network.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/restart_vpc.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/restore_virtual_machine.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/revert_to_vm_snapshot.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/revoke_security_group_egress.rb +11 -5
- data/lib/fog/cloudstack/requests/compute/revoke_security_group_ingress.rb +11 -6
- data/lib/fog/cloudstack/requests/compute/scale_system_vm.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/scale_virtual_machine.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/start_internal_load_balancer_vm.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/start_router.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/start_system_vm.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/start_virtual_machine.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/stop_internal_load_balancer_vm.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/stop_router.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/stop_system_vm.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/stop_virtual_machine.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/suspend_project.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_account.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/update_auto_scale_policy.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_auto_scale_vm_group.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_auto_scale_vm_profile.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_cluster.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_configuration.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_default_nic_for_virtual_machine.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/update_disk_offering.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_domain.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/update_global_load_balancer_rule.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_host.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_host_password.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/update_hypervisor_capabilities.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/update_instance_group.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_iso.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_iso_permissions.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_load_balancer_rule.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_network.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_network_acl_item.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_network_offering.rb +20 -0
- data/lib/fog/cloudstack/requests/compute/update_network_service_provider.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_physical_network.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_pod.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_port_forwarding_rule.rb +24 -0
- data/lib/fog/cloudstack/requests/compute/update_project.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_project_invitation.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_region.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_resource_count.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/update_resource_limit.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_service_offering.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_storage_network_ip_range.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_storage_pool.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_template.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_template_permissions.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_traffic_type.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_user.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/update_virtual_machine.rb +8 -5
- data/lib/fog/cloudstack/requests/compute/update_vm_affinity_group.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_volume.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/update_vpc.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/update_vpcoffering.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/update_vpn_customer_gateway.rb +26 -0
- data/lib/fog/cloudstack/requests/compute/update_zone.rb +21 -0
- data/lib/fog/cloudstack/requests/compute/upload_custom_certificate.rb +22 -0
- data/lib/fog/cloudstack/requests/compute/upload_volume.rb +24 -0
- data/lib/fog/digitalocean/requests/compute/destroy_ssh_key.rb +1 -1
- data/lib/fog/digitalocean/requests/compute/get_ssh_key.rb +2 -2
- data/lib/fog/dynect/dns.rb +18 -13
- data/lib/fog/dynect/models/dns/record.rb +6 -2
- data/lib/fog/dynect/models/dns/records.rb +17 -29
- data/lib/fog/dynect/requests/dns/get_all_records.rb +2 -1
- data/lib/fog/glesys/models/compute/server.rb +2 -0
- data/lib/fog/google/compute.rb +10 -74
- data/lib/fog/google/models/compute/disk.rb +3 -1
- data/lib/fog/google/models/compute/disk_type.rb +28 -0
- data/lib/fog/google/models/compute/disk_types.rb +40 -0
- data/lib/fog/google/models/compute/forwarding_rule.rb +4 -4
- data/lib/fog/google/models/compute/http_health_check.rb +4 -3
- data/lib/fog/google/models/compute/image.rb +1 -0
- data/lib/fog/google/models/compute/images.rb +2 -1
- data/lib/fog/google/models/compute/target_pool.rb +4 -4
- data/lib/fog/google/requests/compute/get_disk_type.rb +43 -0
- data/lib/fog/google/requests/compute/get_machine_type.rb +3 -3
- data/lib/fog/google/requests/compute/insert_disk.rb +6 -0
- data/lib/fog/google/requests/compute/list_aggregated_disk_types.rb +41 -0
- data/lib/fog/google/requests/compute/list_disk_types.rb +47 -0
- data/lib/fog/google/requests/storage/get_service.rb +1 -2
- data/lib/fog/hp/storage.rb +9 -2
- data/lib/fog/linode/compute.rb +2 -0
- data/lib/fog/linode/models/compute/flavor.rb +9 -7
- data/lib/fog/linode/requests/compute/linode_config_delete.rb +32 -0
- data/lib/fog/linode/requests/compute/linode_config_update.rb +33 -0
- data/lib/fog/opennebula.rb +1 -0
- data/lib/fog/opennebula/README.md +113 -0
- data/lib/fog/opennebula/compute.rb +57 -0
- data/lib/fog/opennebula/core.rb +8 -0
- data/lib/fog/opennebula/models/compute/flavor.rb +133 -0
- data/lib/fog/opennebula/models/compute/flavors.rb +35 -0
- data/lib/fog/opennebula/models/compute/group.rb +22 -0
- data/lib/fog/opennebula/models/compute/groups.rb +34 -0
- data/lib/fog/opennebula/models/compute/interface.rb +33 -0
- data/lib/fog/opennebula/models/compute/interfaces.rb +12 -0
- data/lib/fog/opennebula/models/compute/network.rb +41 -0
- data/lib/fog/opennebula/models/compute/networks.rb +21 -0
- data/lib/fog/opennebula/models/compute/server.rb +92 -0
- data/lib/fog/opennebula/models/compute/servers.rb +26 -0
- data/lib/fog/opennebula/requests/compute/OpenNebulaVNC.rb +336 -0
- data/lib/fog/opennebula/requests/compute/get_vnc_console.rb +47 -0
- data/lib/fog/opennebula/requests/compute/list_groups.rb +79 -0
- data/lib/fog/opennebula/requests/compute/list_networks.rb +63 -0
- data/lib/fog/opennebula/requests/compute/list_vms.rb +87 -0
- data/lib/fog/opennebula/requests/compute/template_pool.rb +93 -0
- data/lib/fog/opennebula/requests/compute/vm_allocate.rb +90 -0
- data/lib/fog/opennebula/requests/compute/vm_destroy.rb +22 -0
- data/lib/fog/opennebula/requests/compute/vm_resume.rb +37 -0
- data/lib/fog/opennebula/requests/compute/vm_stop.rb +22 -0
- data/lib/fog/openstack/compute.rb +2 -0
- data/lib/fog/openstack/examples/compute/basics.rb +0 -21
- data/lib/fog/openstack/models/compute/server.rb +28 -0
- data/lib/fog/openstack/models/compute/tenants.rb +3 -1
- data/lib/fog/openstack/requests/compute/create_server.rb +2 -2
- data/lib/fog/openstack/requests/compute/create_volume.rb +1 -1
- data/lib/fog/openstack/requests/compute/start_server.rb +24 -0
- data/lib/fog/openstack/requests/compute/stop_server.rb +24 -0
- data/lib/fog/openstack/requests/volume/create_volume.rb +1 -1
- data/lib/fog/rackspace/docs/auto_scale.md +6 -4
- data/lib/fog/rackspace/models/auto_scale/group.rb +12 -3
- data/lib/fog/rackspace/models/load_balancers/load_balancer.rb +6 -16
- data/lib/fog/rackspace/requests/compute_v2/get_flavor.rb +1 -1
- data/lib/fog/rackspace/requests/compute_v2/get_image.rb +1 -1
- data/lib/fog/rackspace/requests/load_balancers/create_load_balancer.rb +6 -5
- data/lib/fog/storm_on_demand/models/dns/reverses.rb +1 -1
- data/lib/fog/vcloud/examples/README.md +1 -1
- data/lib/fog/vcloud_director/compute.rb +74 -5
- data/lib/fog/vcloud_director/generators/compute/edge_gateway_service_configuration.rb +61 -0
- data/lib/fog/vcloud_director/models/compute/custom_field.rb +18 -0
- data/lib/fog/vcloud_director/models/compute/custom_fields.rb +67 -0
- data/lib/fog/vcloud_director/models/compute/vapp.rb +5 -0
- data/lib/fog/vcloud_director/requests/compute/get_cpu_rasd_item.rb +37 -0
- data/lib/fog/vcloud_director/requests/compute/get_disks_rasd_items_list.rb +64 -0
- data/lib/fog/vcloud_director/requests/compute/get_execute_query.rb +86 -1
- data/lib/fog/vcloud_director/requests/compute/get_guest_customization_system_section_vapp.rb +44 -0
- data/lib/fog/vcloud_director/requests/compute/get_lease_settings_section_vapp.rb +34 -0
- data/lib/fog/vcloud_director/requests/compute/get_media_drives_rasd_items_list.rb +66 -0
- data/lib/fog/vcloud_director/requests/compute/get_memory_rasd_item.rb +36 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_cards_items_list.rb +45 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_config_section_vapp.rb +36 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_connection_system_section_vapp.rb +43 -0
- data/lib/fog/vcloud_director/requests/compute/get_operating_system_section.rb +34 -0
- data/lib/fog/vcloud_director/requests/compute/get_runtime_info_section_type.rb +32 -0
- data/lib/fog/vcloud_director/requests/compute/get_snapshot_section.rb +30 -0
- data/lib/fog/vcloud_director/requests/compute/get_startup_section.rb +39 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp.rb +148 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_metadata.rb +57 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_owner.rb +33 -0
- data/lib/fog/vcloud_director/requests/compute/get_vdc.rb +17 -1
- data/lib/fog/vcloud_director/requests/compute/get_vm_capabilities.rb +31 -0
- data/lib/fog/vcloud_director/requests/compute/get_vms_in_lease_from_query.rb +55 -0
- data/lib/fog/vcloud_director/requests/compute/post_deploy_vapp.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_instantiate_vapp_template.rb +63 -0
- data/lib/fog/vcloud_director/requests/compute/post_upload_vapp_template.rb +1 -1
- data/lib/fog/vcloud_director/requests/compute/put_cpu.rb +42 -1
- data/lib/fog/vcloud_director/requests/compute/put_memory.rb +43 -1
- data/lib/fog/vcloud_director/requests/compute/put_network.rb +158 -0
- data/lib/fog/vcloud_director/requests/compute/put_product_sections.rb +43 -0
- data/lib/fog/vcloud_director/requests/compute/put_vapp_metadata_item_metadata.rb +35 -0
- data/lib/fog/vcloud_director/requests/compute/put_vm.rb +34 -0
- data/lib/fog/version.rb +1 -1
- data/lib/fog/vsphere/compute.rb +1 -1
- data/lib/fog/vsphere/models/compute/interfaces.rb +15 -6
- data/lib/fog/vsphere/models/compute/server.rb +10 -4
- data/lib/fog/vsphere/models/compute/volumes.rb +14 -5
- data/lib/fog/vsphere/requests/compute/create_vm.rb +1 -0
- data/lib/fog/vsphere/requests/compute/vm_clone.rb +2 -5
- data/lib/fog/xenserver/requests/compute/create_server.rb +1 -2
- data/lib/fog/xml.rb +1 -25
- data/lib/fog/xml/connection.rb +12 -1
- data/lib/fog/zerigo/requests/dns/list_hosts.rb +24 -8
- data/tests/aws/models/compute/network_acls_tests.rb +13 -0
- data/tests/aws/models/compute/security_group_tests.rb +5 -1
- data/tests/aws/models/compute/vpcs_tests.rb +14 -0
- data/tests/aws/requests/compute/instance_tests.rb +2 -1
- data/tests/aws/requests/compute/network_acl_tests.rb +24 -0
- data/tests/aws/requests/compute/subnet_tests.rb +9 -0
- data/tests/aws/requests/compute/tag_tests.rb +21 -0
- data/tests/aws/requests/compute/vpc_tests.rb +41 -3
- data/tests/aws/requests/data_pipeline/pipeline_tests.rb +1 -1
- data/tests/aws/requests/dns/dns_tests.rb +4 -3
- data/tests/glesys/requests/compute/helper.rb +2 -0
- data/tests/glesys/requests/compute/server_tests.rb +6 -4
- data/tests/google/helpers/google_tests_helper.rb +21 -0
- data/tests/google/models/compute/disk_tests.rb +5 -1
- data/tests/google/models/compute/disk_types_tests.rb +22 -0
- data/tests/google/models/compute/disks_tests.rb +5 -1
- data/tests/google/models/compute/server_tests.rb +8 -2
- data/tests/google/models/compute/servers_tests.rb +7 -1
- data/tests/google/requests/compute/disk_tests.rb +5 -2
- data/tests/google/requests/compute/disk_type_tests.rb +45 -0
- data/tests/google/requests/compute/firewall_tests.rb +4 -2
- data/tests/google/requests/compute/image_tests.rb +15 -10
- data/tests/google/requests/compute/zone_tests.rb +2 -6
- data/tests/google/requests/storage/object_tests.rb +4 -1
- data/tests/helpers/collection_helper.rb +1 -1
- data/tests/helpers/mock_helper.rb +3 -0
- data/tests/helpers/model_helper.rb +1 -1
- data/tests/opennebula/compute_tests.rb +16 -0
- data/tests/opennebula/models/compute/group_tests.rb +27 -0
- data/tests/opennebula/models/compute/groups_tests.rb +16 -0
- data/tests/opennebula/models/compute/network_tests.rb +27 -0
- data/tests/opennebula/models/compute/networks_tests.rb +13 -0
- data/tests/opennebula/requests/compute/vm_allocate_tests.rb +59 -0
- data/tests/openstack/requests/compute/server_tests.rb +21 -0
- data/tests/vcloud/data/api_+_vdc_+_1 +1 -0
- data/tests/vcloud_director/models/compute/vapp_tests.rb +8 -0
- data/tests/vcloud_director/requests/compute/edge_gateway_tests.rb +80 -1
- data/tests/vcloud_director/requests/compute/network_tests.rb +81 -13
- data/tests/vcloud_director/requests/compute/schema_helper.rb +4 -3
- data/tests/vcloud_director/requests/compute/vapp_tests.rb +39 -7
- data/tests/vcloud_director/requests/compute/vm_tests.rb +72 -12
- data/tests/zerigo/requests/dns/dns_tests.rb +25 -4
- metadata +493 -51
- data/tests/google/helpers/disk_helper.rb +0 -12
@@ -0,0 +1,47 @@
|
|
1
|
+
require File.expand_path('../OpenNebulaVNC', __FILE__)
|
2
|
+
module Fog
|
3
|
+
module Compute
|
4
|
+
class OpenNebula
|
5
|
+
class Mock
|
6
|
+
# Get a vnc console for an instance.
|
7
|
+
#
|
8
|
+
# === Parameters
|
9
|
+
# * server_id <~String> - The ID of the server.
|
10
|
+
# * console_type <~String> - Type of vnc console to get ('novnc' or 'xvpvnc').
|
11
|
+
# === Returns
|
12
|
+
# * response <~Excon::Response>:
|
13
|
+
# * body <~Hash>:
|
14
|
+
# * url <~String>
|
15
|
+
# * type <~String>
|
16
|
+
def get_vnc_console(server_id, console_type)
|
17
|
+
body = {
|
18
|
+
:type => "novnc",
|
19
|
+
:proxy_port => "29876",
|
20
|
+
:password => "null",
|
21
|
+
:token => "3n32dtwpsdj5jkug3b4w",
|
22
|
+
:proxy_host => "example.com"
|
23
|
+
}
|
24
|
+
end # def get_vnc_console
|
25
|
+
end # class Real
|
26
|
+
|
27
|
+
class Real
|
28
|
+
def get_vnc_console(server_id, console_type, onevm_object)
|
29
|
+
logger = Fog::Logger.new
|
30
|
+
$conf = {"vnc_proxy_port" => "29876", "vnc_proxy_ipv6" => "", "vnc_proxy_support_wss" => "", "vnc_proxy_cert" => "", "vnc_proxy_key" => ""}
|
31
|
+
$vnc = OpenNebulaVNC.new($conf, logger)
|
32
|
+
ret = startvnc(onevm_object,$vnc)
|
33
|
+
|
34
|
+
response = Excon::Response.new
|
35
|
+
response.status = ret[0]
|
36
|
+
response.body = ret[1]
|
37
|
+
response
|
38
|
+
end # def get_vnc_console
|
39
|
+
|
40
|
+
def startvnc(onevm_object, vnc)
|
41
|
+
return vnc.proxy(onevm_object)
|
42
|
+
end #def startvnc
|
43
|
+
end # class Mock
|
44
|
+
end # class OpenNebula
|
45
|
+
end # module Compute
|
46
|
+
end # module Fog
|
47
|
+
|
@@ -0,0 +1,79 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class OpenNebula
|
4
|
+
class Real
|
5
|
+
def list_groups(filter = {})
|
6
|
+
|
7
|
+
groups=[]
|
8
|
+
grouppool = ::OpenNebula::GroupPool.new(client)
|
9
|
+
grouppool.info
|
10
|
+
|
11
|
+
# {
|
12
|
+
# "GROUP"=>{
|
13
|
+
# "ID"=>"0",
|
14
|
+
# "NAME"=>"oneadmin",
|
15
|
+
# "USERS"=>{"ID"=>["0", "1"]},
|
16
|
+
# "DATASTORE_QUOTA"=>{},
|
17
|
+
# "NETWORK_QUOTA"=>{},
|
18
|
+
# "VM_QUOTA"=>{},
|
19
|
+
# "IMAGE_QUOTA"=>{}
|
20
|
+
# }
|
21
|
+
#}
|
22
|
+
|
23
|
+
grouppool.each do |group|
|
24
|
+
filter_missmatch = false
|
25
|
+
|
26
|
+
unless (filter.empty?)
|
27
|
+
filter.each do |k,v|
|
28
|
+
if group["#{k.to_s.upcase}"] && group["#{k.to_s.upcase}"] != v.to_s
|
29
|
+
filter_missmatch = true
|
30
|
+
break
|
31
|
+
end
|
32
|
+
end
|
33
|
+
next if filter_missmatch
|
34
|
+
end
|
35
|
+
groups << {:id => group["ID"], :name => group["NAME"]}
|
36
|
+
end
|
37
|
+
groups
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
class Mock
|
43
|
+
def list_groups(filter={})
|
44
|
+
groups = []
|
45
|
+
net1 = mock_group "1", 'net1'
|
46
|
+
net2 = mock_group "2", 'fogtest'
|
47
|
+
|
48
|
+
grouppool = [net1, net2]
|
49
|
+
grouppool.each do |group|
|
50
|
+
filter_missmatch = false
|
51
|
+
|
52
|
+
unless (filter.empty?)
|
53
|
+
filter.each do |k,v|
|
54
|
+
if group["#{k.to_s.upcase}"] && group["#{k.to_s.upcase}"] != v.to_s
|
55
|
+
filter_missmatch = true
|
56
|
+
break
|
57
|
+
end
|
58
|
+
end
|
59
|
+
next if filter_missmatch
|
60
|
+
end
|
61
|
+
groups << {:id => group["ID"], :name => group["NAME"]}
|
62
|
+
end
|
63
|
+
groups
|
64
|
+
end
|
65
|
+
|
66
|
+
def mock_group id, name
|
67
|
+
{
|
68
|
+
"ID" => id,
|
69
|
+
"NAME" => name,
|
70
|
+
"UID" => "5",
|
71
|
+
"GID" => "5",
|
72
|
+
"DESCRIPTION" => "netDescription",
|
73
|
+
"VLAN" => "5"
|
74
|
+
}
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
@@ -0,0 +1,63 @@
|
|
1
|
+
#1.9.3-p545 :017 > netpool.entries.first.to_hash
|
2
|
+
# => {"VNET"=>{"ID"=>"4", "UID"=>"0", "GID"=>"0", "UNAME"=>"oneadmin", "GNAME"=>"oneadmin", "NAME"=>"vlan116", "PERMISSIONS"=>{"OWNER_U"=>"1", "OWNER_M"=>"1", "OWNER_A"=>"0", "GROUP_U"=>"0", "GROUP_M"=>"0", "GROUP_A"=>"0", "OTHER_U"=>"0", "OTHER_M"=>"0", "OTHER_A"=>"0"}, "CLUSTER_ID"=>"-1", "CLUSTER"=>{}, "TYPE"=>"0", "BRIDGE"=>"br116", "VLAN"=>"0", "PHYDEV"=>{}, "VLAN_ID"=>{}, "GLOBAL_PREFIX"=>{}, "SITE_PREFIX"=>{}, "RANGE"=>{"IP_START"=>"192.168.0.1", "IP_END"=>"192.168.0.254"}, "TOTAL_LEASES"=>"6", "TEMPLATE"=>{"NETWORK_MASK"=>"255.255.0.0"}}}
|
3
|
+
#
|
4
|
+
module Fog
|
5
|
+
module Compute
|
6
|
+
class OpenNebula
|
7
|
+
class Real
|
8
|
+
def list_networks(filter = { })
|
9
|
+
|
10
|
+
networks=[]
|
11
|
+
netpool = ::OpenNebula::VirtualNetworkPool.new(client)
|
12
|
+
if filter[:id].nil?
|
13
|
+
netpool.info!(-2,-1,-1)
|
14
|
+
elsif filter[:id]
|
15
|
+
filter[:id] = filter[:id].to_i if filter[:id].is_a?(String)
|
16
|
+
netpool.info!(-2, filter[:id], filter[:id])
|
17
|
+
end # if filter[:id].nil?
|
18
|
+
|
19
|
+
netpool.each do |network|
|
20
|
+
networks << network_to_attributes(network.to_hash)
|
21
|
+
end
|
22
|
+
networks
|
23
|
+
end
|
24
|
+
|
25
|
+
def network_to_attributes(net)
|
26
|
+
return if net.nil?
|
27
|
+
#{"VNET"=>{"ID"=>"155", "UID"=>"0", "GID"=>"1", "UNAME"=>"oneadmin", "GNAME"=>"users", "NAME"=>"vlan99-2", "PERMISSIONS"=>{"OWNER_U"=>"1", "OWNER_M"=>"1", "OWNER_A"=>"0", "GROUP_U"=>"1", "GROUP_M"=>"0", "GROUP_A"=>"0", "OTHER_U"=>"0", "OTHER_M"=>"0", "OTHER_A"=>"0"}, "CLUSTER_ID"=>"-1", "CLUSTER"=>{}, "TYPE"=>"0", "BRIDGE"=>"ovsbr", "VLAN"=>"1", "PHYDEV"=>{}, "VLAN_ID"=>"99", "GLOBAL_PREFIX"=>{}, "SITE_PREFIX"=>{}, "RANGE"=>{"IP_START"=>"10.10.99.127", "IP_END"=>"10.10.99.249"}, "TOTAL_LEASES"=>"0", "TEMPLATE"=>{"DESCRIPTION"=>"test", "NETWORK_ADDRESS"=>"10.10.99.0", "NETWORK_MASK"=>"255.255.255.0"}}}
|
28
|
+
h = {
|
29
|
+
:id => net["VNET"]["ID"],
|
30
|
+
:name => net["VNET"]["NAME"],
|
31
|
+
:uid => net["VNET"]["UID"],
|
32
|
+
:gid => net["VNET"]["GID"],
|
33
|
+
}
|
34
|
+
|
35
|
+
h[:description] = net["VNET"]["TEMPLATE"]["DESCRIPTION"] unless net["VNET"]["TEMPLATE"]["DESCRIPTION"].nil?
|
36
|
+
h[:vlan] = net["VNET"]["VLAN_ID"] unless (net["VNET"]["VLAN_ID"].nil? || net["VNET"]["VLAN_ID"].empty?)
|
37
|
+
|
38
|
+
return h
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
class Mock
|
44
|
+
def list_networks(filters={})
|
45
|
+
net1 = mock_network 'net1'
|
46
|
+
net2 = mock_network 'net2'
|
47
|
+
[net1, net2]
|
48
|
+
end
|
49
|
+
|
50
|
+
def mock_network name
|
51
|
+
{
|
52
|
+
:id => "5",
|
53
|
+
:name => name,
|
54
|
+
:uid => "5",
|
55
|
+
:gid => "5",
|
56
|
+
:description => "netDescription",
|
57
|
+
:vlan => "5"
|
58
|
+
}
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
@@ -0,0 +1,87 @@
|
|
1
|
+
#{"VM"=>{"ID"=>"30", "UID"=>"0", "GID"=>"0", "UNAME"=>"oneadmin", "GNAME"=>"oneadmin", "NAME"=>"m1.small-30", "PERMISSIONS"=>{"OWNER_U"=>"1", "OWNER_M"=>"1", "OWNER_A"=>"0", "GROUP_U"=>"0", "GROUP_M"=>"0", "GROUP_A"=>"0", "OTHER_U"=>"0", "OTHER_M"=>"0", "OTHER_A"=>"0"}, "LAST_POLL"=>"0", "STATE"=>"1", "LCM_STATE"=>"0", "RESCHED"=>"0", "STIME"=>"1395937874", "ETIME"=>"0", "DEPLOY_ID"=>{}, "MEMORY"=>"0", "CPU"=>"0", "NET_TX"=>"0", "NET_RX"=>"0", "TEMPLATE"=>{"AUTOMATIC_REQUIREMENTS"=>"!(PUBLIC_CLOUD = YES)", "CONTEXT"=>{"DISK_ID"=>"2", "EC2_KEYNAME"=>"foreman-1b028a80e-2c8e-4582-a718-960ab6531eb3", "EC2_PUBLIC_KEY"=>"ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDN/8DRFSrYoox1wqZfOUGpDxP4C906kgaHEQ3UEV0536VCBmGgG4flQ3C4Smf9zYrWPuQNqLt7KHzODlrWcSj9Bo98u7HbSUW386A3mIXJ8ujUxTQsIoKb0U+/eKjTCB21mjr8RFKAADRKtCQQkNMvJxrZ3/05QDvproprukyFY5R8se6EMTLit46s33QJaVF82q/Bbhzqd2cfx72TusXUp8bo/w5SBgr4VjFewke82VD6flBMLACkAQhDh200fwsjaEb4NUuUSvS5gfha3okjlVvcSLBaDkQftW0/VuUTjDi7wZbBKeu1SS2MpKTYBDrsi+bcmlJmvbwadBncCbGh foreman-1b028a80e-2c8e-4582-a718-960ab6531eb3", "ETH0_IP"=>"192.168.17.0", "ETH0_MAC"=>"02:00:c0:a8:11:00", "ETH0_MASK"=>"255.255.255.0", "ETH0_NETWORK"=>"192.168.17.0", "NETWORK"=>"YES", "TARGET"=>"hdb"}, "CPU"=>"1", "DISK"=>[{"CLONE"=>"YES", "CLONE_TARGET"=>"SYSTEM", "DATASTORE"=>"default", "DATASTORE_ID"=>"1", "DEV_PREFIX"=>"hd", "DISK_ID"=>"0", "DRIVER"=>"qcow2", "IMAGE"=>"testimage", "IMAGE_ID"=>"0", "LN_TARGET"=>"NONE", "READONLY"=>"NO", "SAVE"=>"NO", "SIZE"=>"218", "SOURCE"=>"/var/lib/one//datastores/1/5c3ff6087ee30b4f5ac7626ed66cfcc6", "TARGET"=>"hda", "TM_MAD"=>"shared", "TYPE"=>"FILE"}, {"CLONE"=>"YES", "CLONE_TARGET"=>"SYSTEM", "DATASTORE"=>"default", "DATASTORE_ID"=>"1", "DEV_PREFIX"=>"hd", "DISK_ID"=>"1", "IMAGE"=>"ec2-c29e8235-249e-4a1e-b818-5703140a1133", "IMAGE_ID"=>"2", "IMAGE_UNAME"=>"oneadmin", "LN_TARGET"=>"NONE", "READONLY"=>"NO", "SAVE"=>"NO", "SIZE"=>"1024", "SOURCE"=>"/var/lib/one//datastores/1/346ee4cb31e9a3a6d119add759cf2824", "TARGET"=>"hdc", "TM_MAD"=>"shared", "TYPE"=>"FILE"}], "MEMORY"=>"512", "NIC"=>{"BRIDGE"=>"br0", "IP"=>"192.168.17.0", "IP6_LINK"=>"fe80::400:c0ff:fea8:1100", "MAC"=>"02:00:c0:a8:11:00", "NETWORK"=>"vlan17", "NETWORK_ID"=>"0", "NETWORK_UNAME"=>"oneadmin", "NIC_ID"=>"0", "VLAN"=>"YES", "VLAN_ID"=>"17"}, "TEMPLATE_ID"=>"3", "VMID"=>"30"}, "USER_TEMPLATE"=>{"EC2_INSTANCE_TYPE"=>"m1.small", "EC2_TAGS"=>{"NAME"=>"test.example.com"}, "SCHED_MESSAGE"=>"Tue Apr 1 15:01:22 2014 : No host with enough capacity to deploy the VM"}, "HISTORY_RECORDS"=>{}}}
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module Compute
|
5
|
+
class OpenNebula
|
6
|
+
class Real
|
7
|
+
def list_vms(filter={})
|
8
|
+
vms=[]
|
9
|
+
vmpool = ::OpenNebula::VirtualMachinePool.new(client)
|
10
|
+
if filter[:id].nil?
|
11
|
+
vmpool.info!(-2,-1,-1,-1)
|
12
|
+
elsif filter[:id]
|
13
|
+
filter[:id] = filter[:id].to_i if filter[:id].is_a?(String)
|
14
|
+
vmpool.info!(-2, filter[:id], filter[:id], -1)
|
15
|
+
end # filter[:id].nil?
|
16
|
+
|
17
|
+
vmpool.each do |vm|
|
18
|
+
one = vm.to_hash
|
19
|
+
data = {}
|
20
|
+
data["onevm_object"] = vm
|
21
|
+
data["status"] = vm.state
|
22
|
+
data["state"] = vm.lcm_state_str
|
23
|
+
data["id"] = vm.id
|
24
|
+
data["gid"] = vm.gid
|
25
|
+
data["uuid"] = vm.id
|
26
|
+
data["name"] = one["VM"]["NAME"] unless one["VM"]["NAME"].nil?
|
27
|
+
data["user"] = one["VM"]["UNAME"] unless one["VM"]["UNAME"].nil?
|
28
|
+
data["group"] = one["VM"]["GNAME"] unless one["VM"]["GNAME"].nil?
|
29
|
+
|
30
|
+
unless ( one["VM"]["TEMPLATE"].nil? ) then
|
31
|
+
data["cpu"] = one["VM"]["TEMPLATE"]["VCPU"] unless one["VM"]["TEMPLATE"]["VCPU"].nil?
|
32
|
+
data["memory"] = one["VM"]["TEMPLATE"]["MEMORY"] unless one["VM"]["TEMPLATE"]["MEMORY"].nil?
|
33
|
+
unless (one["VM"]["TEMPLATE"]["NIC"].nil?) then
|
34
|
+
if one["VM"]["TEMPLATE"]["NIC"].is_a?(Array)
|
35
|
+
data["ip"]=one["VM"]["TEMPLATE"]["NIC"][0]["IP"]
|
36
|
+
data["mac"]=one["VM"]["TEMPLATE"]["NIC"][0]["MAC"]
|
37
|
+
else
|
38
|
+
data["ip"]=one["VM"]["TEMPLATE"]["NIC"]["IP"] unless one["VM"]["TEMPLATE"]["NIC"]["IP"].nil?
|
39
|
+
data["mac"]=one["VM"]["TEMPLATE"]["NIC"]["MAC"] unless one["VM"]["TEMPLATE"]["NIC"]["MAC"].nil?
|
40
|
+
end
|
41
|
+
end # unless (one["VM"]["TEMPLATE"]["NIC"].nil?) then
|
42
|
+
end # unless ( one["VM"]["TEMPLATE"].nil? ) then
|
43
|
+
|
44
|
+
vms << data
|
45
|
+
end # vmpool.each
|
46
|
+
vms
|
47
|
+
end # def list_vms
|
48
|
+
end # class Real
|
49
|
+
|
50
|
+
module Shared
|
51
|
+
private
|
52
|
+
end
|
53
|
+
|
54
|
+
class Mock
|
55
|
+
def list_vms(filter = {})
|
56
|
+
if filter[:id].nil?
|
57
|
+
vm1 = mock_vm 'fog-vm1'
|
58
|
+
vm2 = mock_vm 'fog-vm2'
|
59
|
+
vm3 = mock_vm 'fog-vm3'
|
60
|
+
return [vm1, vm2, vm3]
|
61
|
+
elsif filter[:mock_return]
|
62
|
+
mock_vm 'fog-vm1', filter[:id]
|
63
|
+
else
|
64
|
+
[]
|
65
|
+
end
|
66
|
+
end
|
67
|
+
def mock_vm(name, id=4)
|
68
|
+
data = {}
|
69
|
+
data["onevm_object"] = ""
|
70
|
+
data["status"] = "Running"
|
71
|
+
data["state"] = "3"
|
72
|
+
data["id"] = id
|
73
|
+
data["uuid"] = "5"
|
74
|
+
data["gid"] = "5"
|
75
|
+
data["name"] = "MockVM-#{name}"
|
76
|
+
data["user"] = "MockUser"
|
77
|
+
data["group"] = "MockGroup"
|
78
|
+
data["cpu"] = "2"
|
79
|
+
data["memory"] = "1024"
|
80
|
+
data["mac"] = "00:01:02:03:04:05"
|
81
|
+
data["ip"] = "1.1.1.1"
|
82
|
+
data
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -0,0 +1,93 @@
|
|
1
|
+
# t.template_str
|
2
|
+
# CPU="0.2"
|
3
|
+
# VCPU="2"
|
4
|
+
# MEMORY="2048"
|
5
|
+
# SCHED_REQUIREMENTS="NFS=\"true\""
|
6
|
+
# SCHED_DS_REQUIREMENTS="NAME=\"local\""
|
7
|
+
# DISK=[
|
8
|
+
# DEV_PREFIX="vd",
|
9
|
+
# DRIVER="qcow2",
|
10
|
+
# IMAGE="base",
|
11
|
+
# IMAGE_ID="355",
|
12
|
+
# IMAGE_UNAME="oneadmin",
|
13
|
+
# TARGET="vda" ]
|
14
|
+
# GRAPHICS=[
|
15
|
+
# LISTEN="0.0.0.0",
|
16
|
+
# TYPE="VNC" ]
|
17
|
+
# NIC=[
|
18
|
+
# MODEL="virtio",
|
19
|
+
# NETWORK="vlan2-2",
|
20
|
+
# NETWORK_UNAME="oneadmin" ]
|
21
|
+
# OS=[
|
22
|
+
# ARCH="x86_64",
|
23
|
+
# BOOT="network,hd" ]
|
24
|
+
|
25
|
+
|
26
|
+
module Fog
|
27
|
+
module Compute
|
28
|
+
class OpenNebula
|
29
|
+
class Real
|
30
|
+
def template_pool(filter = { })
|
31
|
+
|
32
|
+
templates = ::OpenNebula::TemplatePool.new(client)
|
33
|
+
if filter[:id].nil?
|
34
|
+
templates.info!(-2,-1,-1)
|
35
|
+
elsif filter[:id]
|
36
|
+
filter[:id] = filter[:id].to_i if filter[:id].is_a?(String)
|
37
|
+
templates.info!(-2, filter[:id], filter[:id])
|
38
|
+
end # if filter[:id].nil?
|
39
|
+
|
40
|
+
templates = templates.map do |t|
|
41
|
+
# filtering by name
|
42
|
+
# done here, because OpenNebula:TemplatePool does not support something like .delete_if
|
43
|
+
if filter[:name] && filter[:name].is_a?(String) && !filter[:name].empty?
|
44
|
+
next if t.to_hash["VMTEMPLATE"]["NAME"] != filter[:name]
|
45
|
+
end
|
46
|
+
|
47
|
+
h = Hash[
|
48
|
+
:id => t.to_hash["VMTEMPLATE"]["ID"],
|
49
|
+
:name => t.to_hash["VMTEMPLATE"]["NAME"],
|
50
|
+
:content => t.template_str
|
51
|
+
]
|
52
|
+
h.merge! t.to_hash["VMTEMPLATE"]["TEMPLATE"]
|
53
|
+
|
54
|
+
# h["NIC"] has to be an array of nic objects
|
55
|
+
nics = h["NIC"] unless h["NIC"].nil?
|
56
|
+
h["NIC"] = [] # reset nics to a array
|
57
|
+
if nics.is_a? Array
|
58
|
+
nics.each do |n|
|
59
|
+
n["model"] = "virtio" if n["model"].nil?
|
60
|
+
n["uuid"] = "0" if n["uuid"].nil? # is it better is to remove this NIC?
|
61
|
+
h["NIC"] << interfaces.new({ :vnet => networks.get(n["uuid"]), :model => n["model"]})
|
62
|
+
end
|
63
|
+
elsif nics.is_a? Hash
|
64
|
+
nics["model"] = "virtio" if nics["model"].nil?
|
65
|
+
nics["uuid"] = "0" if nics["uuid"].nil? # is it better is to remove this NIC?
|
66
|
+
h["NIC"] << interfaces.new({ :vnet => networks.get(nics["uuid"]), :model => nics["model"]})
|
67
|
+
else
|
68
|
+
# should i break?
|
69
|
+
end
|
70
|
+
|
71
|
+
|
72
|
+
# every key should be lowercase
|
73
|
+
ret_hash = {}
|
74
|
+
h.each_pair do |k,v|
|
75
|
+
ret_hash.merge!({k.downcase => v})
|
76
|
+
end
|
77
|
+
ret_hash
|
78
|
+
end
|
79
|
+
|
80
|
+
templates.delete nil
|
81
|
+
raise Fog::Compute::OpenNebula::NotFound, "Flavor/Template not found" if templates.empty?
|
82
|
+
templates
|
83
|
+
end #def template_pool
|
84
|
+
end #class Real
|
85
|
+
|
86
|
+
class Mock
|
87
|
+
def template_pool(filter = { })
|
88
|
+
[ {}, {} ]
|
89
|
+
end
|
90
|
+
end #class Mock
|
91
|
+
end #class OpenNebula
|
92
|
+
end #module Compute
|
93
|
+
end #module Fog
|
@@ -0,0 +1,90 @@
|
|
1
|
+
module Fog
|
2
|
+
module Compute
|
3
|
+
class OpenNebula
|
4
|
+
class Real
|
5
|
+
def vm_allocate(attr={ })
|
6
|
+
|
7
|
+
if(attr[:flavor].nil?)
|
8
|
+
raise(ArgumentError.new("Attribute flavor is nil! #{attr.inspect}"))
|
9
|
+
end
|
10
|
+
if(attr[:name].nil? || attr[:name].empty?)
|
11
|
+
raise(ArgumentError.new("Attribute name is nil or empty! #{attr.inspect}"))
|
12
|
+
end
|
13
|
+
|
14
|
+
xml = ::OpenNebula::VirtualMachine.build_xml
|
15
|
+
vm = ::OpenNebula::VirtualMachine.new(xml, client)
|
16
|
+
rc = vm.allocate(attr[:flavor].to_s + "\nNAME=" + attr[:name])
|
17
|
+
|
18
|
+
# irb(main):050:0> vm.allocate(s.flavor.to_s + "\nNAME=altest5")
|
19
|
+
# => #<OpenNebula::Error:0x00000002a50760 @message="[VirtualMachineAllocate] User [42] : Not authorized to perform CREATE VM.", @errno=512>
|
20
|
+
# irb(main):051:0> a = vm.allocate(s.flavor.to_s + "\nNAME=altest5")
|
21
|
+
# => #<OpenNebula::Error:0x00000002ac0998 @message="[VirtualMachineAllocate] User [42] : Not authorized to perform CREATE VM.", @errno=512>
|
22
|
+
# irb(main):052:0> a.class
|
23
|
+
|
24
|
+
if(rc.is_a? ::OpenNebula::Error)
|
25
|
+
raise(rc)
|
26
|
+
end
|
27
|
+
|
28
|
+
|
29
|
+
# -1 - do not change the owner
|
30
|
+
vm.chown(-1,attr[:gid].to_i) unless attr[:gid].nil?
|
31
|
+
|
32
|
+
# TODO
|
33
|
+
# check if vm is created vmid.class == One error class
|
34
|
+
vm.info!
|
35
|
+
|
36
|
+
one = vm.to_hash
|
37
|
+
data = {}
|
38
|
+
data["onevm_object"] = vm
|
39
|
+
data["status"] = vm.state
|
40
|
+
data["state"] = vm.lcm_state_str
|
41
|
+
data["id"] = vm.id
|
42
|
+
data["uuid"] = vm.id
|
43
|
+
data["gid"] = vm.gid
|
44
|
+
data["name"] = one["VM"]["NAME"] unless one["VM"]["NAME"].nil?
|
45
|
+
data["user"] = one["VM"]["UNAME"] unless one["VM"]["UNAME"].nil?
|
46
|
+
data["group"] = one["VM"]["GNAME"] unless one["VM"]["GNAME"].nil?
|
47
|
+
|
48
|
+
unless ( one["VM"]["TEMPLATE"].nil? ) then
|
49
|
+
temp = one["VM"]["TEMPLATE"]
|
50
|
+
data["cpu"] = temp["VCPU"] unless temp["VCPU"].nil?
|
51
|
+
data["memory"] = temp["MEMORY"] unless temp["MEMORY"].nil?
|
52
|
+
unless (temp["NIC"].nil?) then
|
53
|
+
if one["VM"]["TEMPLATE"]["NIC"].is_a?(Array)
|
54
|
+
data["mac"] = temp["NIC"][0]["MAC"] unless temp["NIC"][0]["MAC"].nil?
|
55
|
+
data["ip"] = temp["NIC"][0]["IP"] unless temp["NIC"][0]["IP"].nil?
|
56
|
+
else
|
57
|
+
data["mac"] = temp["NIC"]["MAC"] unless temp["NIC"]["MAC"].nil?
|
58
|
+
data["ip"] = temp["NIC"]["IP"] unless temp["NIC"]["IP"].nil?
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
data
|
64
|
+
rescue => err
|
65
|
+
raise(err)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
69
|
+
class Mock
|
70
|
+
def vm_allocate(attr={ })
|
71
|
+
data = {}
|
72
|
+
data["onevm_object"] = ""
|
73
|
+
data["status"] = "Running"
|
74
|
+
data["state"] = "3"
|
75
|
+
data["id"] = 4
|
76
|
+
data["uuid"] = "5"
|
77
|
+
data["gid"] = "5"
|
78
|
+
data["name"] = "MockVM"
|
79
|
+
data["user"] = "MockUser"
|
80
|
+
data["group"] = "MockGroup"
|
81
|
+
data["cpu"] = "2"
|
82
|
+
data["memory"] = "1024"
|
83
|
+
data["mac"] = "00:01:02:03:04:05"
|
84
|
+
data["ip"] = "1.1.1.1"
|
85
|
+
data
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|