fog-vcloud-director 0.1.10 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.gitignore +2 -0
- data/.rubocop.yml +4 -240
- data/.rubocop_local.yml +1 -0
- data/.travis.yml +6 -10
- data/README.md +54 -51
- data/docs/examples-vapp-instantiate.md +2 -2
- data/docs/examples-vm-reconfigure.md +122 -0
- data/docs/vm-to-reconfigure.xml +373 -0
- data/fog-vcloud-director.gemspec +6 -3
- data/lib/fog/vcloud_director.rb +14 -1
- data/lib/fog/vcloud_director/compute.rb +45 -19
- data/lib/fog/vcloud_director/core.rb +3 -3
- data/lib/fog/vcloud_director/generators/compute/compose_common.rb +16 -3
- data/lib/fog/vcloud_director/generators/compute/compose_vapp.rb +3 -3
- data/lib/fog/vcloud_director/generators/compute/create_snapshot.rb +3 -3
- data/lib/fog/vcloud_director/generators/compute/customization.rb +3 -3
- data/lib/fog/vcloud_director/generators/compute/disks.rb +3 -3
- data/lib/fog/vcloud_director/generators/compute/edge_gateway_service_configuration.rb +3 -3
- data/lib/fog/vcloud_director/generators/compute/instantiate_vapp_template_params.rb +3 -3
- data/lib/fog/vcloud_director/generators/compute/metadata.rb +3 -3
- data/lib/fog/vcloud_director/generators/compute/org_vdc_network.rb +4 -4
- data/lib/fog/vcloud_director/generators/compute/recompose_vapp.rb +3 -3
- data/lib/fog/vcloud_director/generators/compute/reconfigure_vm.rb +189 -0
- data/lib/fog/vcloud_director/generators/compute/vapp.rb +3 -4
- data/lib/fog/vcloud_director/generators/compute/vm.rb +3 -3
- data/lib/fog/vcloud_director/generators/compute/vm_network.rb +3 -3
- data/lib/fog/vcloud_director/models/compute/catalog.rb +2 -4
- data/lib/fog/vcloud_director/models/compute/catalog_item.rb +2 -4
- data/lib/fog/vcloud_director/models/compute/catalog_items.rb +3 -4
- data/lib/fog/vcloud_director/models/compute/catalogs.rb +4 -5
- data/lib/fog/vcloud_director/models/compute/custom_field.rb +2 -4
- data/lib/fog/vcloud_director/models/compute/custom_fields.rb +3 -3
- data/lib/fog/vcloud_director/models/compute/disk.rb +5 -6
- data/lib/fog/vcloud_director/models/compute/disks.rb +4 -5
- data/lib/fog/vcloud_director/models/compute/media.rb +2 -4
- data/lib/fog/vcloud_director/models/compute/medias.rb +3 -4
- data/lib/fog/vcloud_director/models/compute/network.rb +2 -4
- data/lib/fog/vcloud_director/models/compute/networks.rb +3 -4
- data/lib/fog/vcloud_director/models/compute/organization.rb +2 -4
- data/lib/fog/vcloud_director/models/compute/organizations.rb +3 -4
- data/lib/fog/vcloud_director/models/compute/tag.rb +3 -4
- data/lib/fog/vcloud_director/models/compute/tags.rb +3 -4
- data/lib/fog/vcloud_director/models/compute/task.rb +2 -4
- data/lib/fog/vcloud_director/models/compute/tasks.rb +3 -4
- data/lib/fog/vcloud_director/models/compute/template_vm.rb +2 -3
- data/lib/fog/vcloud_director/models/compute/template_vms.rb +5 -6
- data/lib/fog/vcloud_director/models/compute/vapp.rb +36 -18
- data/lib/fog/vcloud_director/models/compute/vapp_template.rb +2 -4
- data/lib/fog/vcloud_director/models/compute/vapp_templates.rb +4 -5
- data/lib/fog/vcloud_director/models/compute/vapps.rb +3 -4
- data/lib/fog/vcloud_director/models/compute/vdc.rb +2 -4
- data/lib/fog/vcloud_director/models/compute/vdcs.rb +3 -4
- data/lib/fog/vcloud_director/models/compute/vm.rb +19 -39
- data/lib/fog/vcloud_director/models/compute/vm_customization.rb +2 -4
- data/lib/fog/vcloud_director/models/compute/vm_customizations.rb +3 -4
- data/lib/fog/vcloud_director/models/compute/vm_network.rb +2 -4
- data/lib/fog/vcloud_director/models/compute/vm_networks.rb +3 -4
- data/lib/fog/vcloud_director/models/compute/vms.rb +4 -5
- data/lib/fog/vcloud_director/parsers/compute/disks.rb +3 -3
- data/lib/fog/vcloud_director/parsers/compute/metadata.rb +3 -3
- data/lib/fog/vcloud_director/parsers/compute/network.rb +3 -3
- data/lib/fog/vcloud_director/parsers/compute/vapp.rb +93 -0
- data/lib/fog/vcloud_director/parsers/compute/vm.rb +6 -65
- data/lib/fog/vcloud_director/parsers/compute/vm_customization.rb +3 -3
- data/lib/fog/vcloud_director/parsers/compute/vm_network.rb +3 -3
- data/lib/fog/vcloud_director/parsers/compute/vm_parser_helper.rb +55 -3
- data/lib/fog/vcloud_director/parsers/compute/vms.rb +5 -26
- data/lib/fog/vcloud_director/parsers/compute/vms_by_metadata.rb +3 -3
- data/lib/fog/vcloud_director/query.rb +0 -1
- data/lib/fog/vcloud_director/requests/compute/delete_catalog_item.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/delete_catalog_item_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/delete_disk.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/delete_disk_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/delete_logout.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/delete_media.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/delete_media_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/delete_network.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/delete_shadow_vm.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/delete_vapp.rb +5 -5
- data/lib/fog/vcloud_director/requests/compute/delete_vapp_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/delete_vapp_template.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/delete_vapp_template_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_allocated_ip_addresses.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_catalog.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_catalog_item.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_catalog_item_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_catalog_item_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_catalog_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_catalog_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_catalogs_from_query.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_control_access_params_catalog.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_control_access_params_vapp.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_cpu_rasd_item.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_current_session.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_disk.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_disk_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_disk_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_disk_owner.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_disks_from_query.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_disks_rasd_items_list.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_edge_gateway.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_entity.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_execute_query.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_groups_from_query.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_guest_customization_system_section_vapp.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_guest_customization_system_section_vapp_template.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_href.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_lease_settings_section_vapp.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_lease_settings_section_vapp_template.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_media.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_media_drives_rasd_items_list.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_media_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_media_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_media_owner.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_medias_from_query.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_memory_rasd_item.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_network.rb +5 -5
- data/lib/fog/vcloud_director/requests/compute/get_network_cards_items_list.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_network_complete.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_network_config_section_vapp.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_network_config_section_vapp_template.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_network_connection_system_section_vapp.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_network_connection_system_section_vapp_template.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_network_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_network_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_network_section_vapp.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_network_section_vapp_template.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_operating_system_section.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_org_settings.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_org_vdc_gateways.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_organization.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_organization_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_organization_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_organizations.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_organizations_from_query.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_product_sections_vapp.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_product_sections_vapp_template.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_request.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_runtime_info_section_type.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_serial_ports_items_list.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_shadow_vm.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_snapshot_section.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_startup_section.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_supported_systems_info.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_supported_versions.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_task.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_task_list.rb +5 -5
- data/lib/fog/vcloud_director/requests/compute/get_template_vm.rb +4 -50
- data/lib/fog/vcloud_director/requests/compute/get_template_vms.rb +3 -16
- data/lib/fog/vcloud_director/requests/compute/get_thumbnail.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_users_from_query.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vapp.rb +9 -8
- data/lib/fog/vcloud_director/requests/compute/get_vapp_metadata.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_vapp_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vapp_ovf_descriptor.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_vapp_owner.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_vapp_template.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_vapp_template_customization_system_section.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_vapp_template_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_vapp_template_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vapp_template_ovf_descriptor.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_vapp_template_owner.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_vapp_templates_from_query.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vapps_in_lease_from_query.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vcloud.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_vdc.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_vdc_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_vdc_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vdc_storage_class.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/get_vdc_storage_class_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_vdc_storage_class_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vdcs_from_query.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_virtual_hardware_section.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_vm.rb +3 -49
- data/lib/fog/vcloud_director/requests/compute/get_vm_capabilities.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vm_compliance_results.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_vm_customization.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vm_disks.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vm_network.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vm_pending_question.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/get_vms_by_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vms_disk_attached_to.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/get_vms_in_lease_from_query.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/instantiate_vapp_template.rb +6 -6
- data/lib/fog/vcloud_director/requests/compute/post_acquire_mks_ticket.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_acquire_ticket.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_answer_vm_pending_question.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_attach_disk.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_cancel_task.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_capture_vapp.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_check_vm_compliance.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_clone_media.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/post_clone_vapp.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_clone_vapp_template.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_compose_vapp.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_configure_edge_gateway_services.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/post_consolidate_vm_vapp.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_consolidate_vm_vapp_template.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_create_catalog_item.rb +5 -5
- data/lib/fog/vcloud_director/requests/compute/post_create_org_vdc_network.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/post_create_snapshot.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_deploy_vapp.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_detach_disk.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_disable_nested_hv.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_disable_vapp_template_download.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_discard_vapp_state.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_eject_cd_rom.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_enable_nested_hv.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_enable_vapp_template_download.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_enter_maintenance_mode.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_exit_maintenance_mode.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_insert_cd_rom.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_install_vmware_tools.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_instantiate_vapp_template.rb +6 -6
- data/lib/fog/vcloud_director/requests/compute/post_login_session.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_power_off_vapp.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_power_on_vapp.rb +6 -6
- data/lib/fog/vcloud_director/requests/compute/post_reboot_vapp.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_recompose_vapp.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_reconfigure_vm.rb +6 -86
- data/lib/fog/vcloud_director/requests/compute/post_remove_all_snapshots.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_reset_vapp.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_revert_snapshot.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_shutdown_vapp.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_suspend_vapp.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_undeploy_vapp.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/post_update_catalog_item_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_update_disk_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_update_media_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_update_vapp_metadata.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/post_update_vapp_template_metadata.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_upgrade_hw_version.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/post_upload_disk.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/post_upload_media.rb +7 -7
- data/lib/fog/vcloud_director/requests/compute/post_upload_vapp_template.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/put_catalog_item_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/put_cpu.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/put_disk_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/put_disks.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/put_guest_customization_section_vapp.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/put_media_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/put_memory.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/put_metadata_value.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/put_network.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/put_network_connection_system_section_vapp.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/put_product_sections.rb +2 -2
- data/lib/fog/vcloud_director/requests/compute/put_vapp_metadata_item_metadata.rb +4 -4
- data/lib/fog/vcloud_director/requests/compute/put_vapp_name_and_description.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/put_vapp_template_metadata_item_metadata.rb +3 -3
- data/lib/fog/vcloud_director/requests/compute/put_vm.rb +5 -5
- data/lib/fog/vcloud_director/requests/compute/put_vm_capabilities.rb +2 -2
- data/lib/fog/vcloud_director/version.rb +1 -1
- data/spec/common_assertions.rb +42 -0
- data/spec/fixtures/empty_vm.xml +244 -0
- data/spec/fixtures/vm.xml +419 -0
- data/spec/secrets.yaml.templ +3 -0
- data/spec/spec_helper.rb +6 -6
- data/spec/vcloud_director/generators/compute/compose_common_spec.rb +3 -8
- data/spec/vcloud_director/generators/compute/compose_vapp_spec.rb +67 -0
- data/spec/vcloud_director/generators/compute/create_snapshot_spec.rb +4 -0
- data/spec/vcloud_director/generators/compute/customization_spec.rb +4 -0
- data/spec/vcloud_director/generators/compute/disks_spec.rb +4 -0
- data/spec/vcloud_director/generators/compute/edge_gateway_service_configuration_spec.rb +4 -0
- data/spec/vcloud_director/generators/compute/instantiate_vapp_template_params_spec.rb +7 -10
- data/spec/vcloud_director/generators/compute/metadata_spec.rb +4 -0
- data/spec/vcloud_director/generators/compute/org_vdc_network_spec.rb +4 -0
- data/spec/vcloud_director/generators/compute/recompose_vapp_spec.rb +4 -0
- data/spec/vcloud_director/generators/compute/reconfigure_vm_spec.rb +390 -0
- data/spec/vcloud_director/generators/compute/vapp_spec.rb +4 -0
- data/spec/vcloud_director/generators/compute/vm_network_spec.rb +4 -0
- data/spec/vcloud_director/generators/compute/vm_spec.rb +4 -0
- data/spec/vcloud_director/models/compute/basic_spec.rb +44 -0
- data/spec/vcloud_director/models/compute/vapps_spec.rb +104 -0
- data/spec/vcloud_director/models/compute/vms_spec.rb +80 -0
- data/spec/vcloud_director/parsers/compute/disks_spec.rb +4 -0
- data/spec/vcloud_director/parsers/compute/metadata_spec.rb +4 -0
- data/spec/vcloud_director/parsers/compute/network_spec.rb +4 -0
- data/spec/vcloud_director/parsers/compute/vm_customization_spec.rb +4 -0
- data/spec/vcloud_director/parsers/compute/vm_network_spec.rb +4 -0
- data/spec/vcloud_director/parsers/compute/vm_parser_helper_spec.rb +4 -0
- data/spec/vcloud_director/parsers/compute/vm_spec.rb +4 -0
- data/spec/vcloud_director/parsers/compute/vms_by_metadata_spec.rb +4 -0
- data/spec/vcloud_director/parsers/compute/vms_spec.rb +4 -0
- data/spec/vcloud_director/requests/compute/basic_spec.rb +212 -0
- data/spec/vcloud_director/requests/compute/get_vapp_spec.rb +11 -0
- data/spec/vcloud_director/requests/compute/get_vdc_spec.rb +10 -0
- data/spec/vcloud_director/requests/compute/instantiate_vapp_template_spec.rb +3 -5
- data/spec/vcloud_director/requests/compute/post_reconfigure_vm_spec.rb +26 -0
- data/spec/vcr_cassettes/authentication.yml +48 -0
- data/spec/vcr_cassettes/get_vapp-emptyvm.yml +806 -0
- data/spec/vcr_cassettes/get_vapp.yml +937 -0
- data/spec/vcr_cassettes/get_vapps-expired.yml +918 -0
- data/spec/vcr_cassettes/get_vapps-novms.yml +215 -0
- data/spec/vcr_cassettes/get_vapps.yml +118 -0
- data/spec/vcr_cassettes/get_vdc.yml +118 -0
- data/spec/vcr_cassettes/get_vm.yml +398 -0
- data/spec/vcr_cassettes/post_reconfigure_vm-virtual_hardware.yml +445 -0
- data/spec/vcr_spec_helper.rb +34 -0
- data/tasks/test.rake +3 -10
- data/tests/vcloud_director/ensure_list_tests.rb +1 -1
- data/tests/vcloud_director/generators/compute/compose_vapp_tests.rb +1 -1
- data/tests/vcloud_director/models/compute/helper.rb +1 -1
- data/tests/vcloud_director/models/compute/media_tests.rb +1 -1
- data/tests/vcloud_director/models/compute/network_tests.rb +1 -1
- data/tests/vcloud_director/models/compute/tasks_tests.rb +1 -1
- data/tests/vcloud_director/models/compute/vapp_template_tests.rb +1 -1
- data/tests/vcloud_director/models/compute/vms_tests.rb +6 -6
- data/tests/vcloud_director/requests/compute/admin_tests.rb +1 -1
- data/tests/vcloud_director/requests/compute/catalog_tests.rb +2 -2
- data/tests/vcloud_director/requests/compute/disk_tests.rb +11 -11
- data/tests/vcloud_director/requests/compute/edge_gateway_tests.rb +8 -8
- data/tests/vcloud_director/requests/compute/groups_tests.rb +1 -1
- data/tests/vcloud_director/requests/compute/media_tests.rb +11 -11
- data/tests/vcloud_director/requests/compute/network_tests.rb +6 -6
- data/tests/vcloud_director/requests/compute/organization_tests.rb +2 -2
- data/tests/vcloud_director/requests/compute/ovf_descriptor_tests.rb +1 -1
- data/tests/vcloud_director/requests/compute/query_tests.rb +1 -1
- data/tests/vcloud_director/requests/compute/session_tests.rb +1 -1
- data/tests/vcloud_director/requests/compute/supported_systems_tests.rb +1 -1
- data/tests/vcloud_director/requests/compute/task_tests.rb +4 -4
- data/tests/vcloud_director/requests/compute/users_tests.rb +1 -1
- data/tests/vcloud_director/requests/compute/vapp_tests.rb +4 -4
- data/tests/vcloud_director/requests/compute/vdc_storage_profile_tests.rb +2 -2
- data/tests/vcloud_director/requests/compute/vdc_tests.rb +2 -2
- data/tests/vcloud_director/requests/compute/versions_tests.rb +1 -1
- data/tests/vcloud_director/requests/compute/vm_tests.rb +4 -4
- metadata +140 -13
- data/lib/fog/vcloud_director/requests/compute/get_vms.rb +0 -41
- data/spec/vcloud_director/spec_helper.rb +0 -13
@@ -1,14 +1,13 @@
|
|
1
|
-
require 'fog/
|
2
|
-
require 'fog/vcloud_director/models/compute/vapp'
|
1
|
+
require 'fog/vcloud_director/models/compute/vapp_template'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class VappTemplates < Collection
|
8
7
|
|
9
8
|
include Fog::VcloudDirector::Query
|
10
9
|
|
11
|
-
model Fog::Compute::
|
10
|
+
model Fog::VcloudDirector::Compute::VappTemplate
|
12
11
|
|
13
12
|
attribute :vdc
|
14
13
|
|
@@ -1,14 +1,13 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
1
|
require 'fog/vcloud_director/models/compute/vapp'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class Vapps < Collection
|
8
7
|
|
9
8
|
include Fog::VcloudDirector::Query
|
10
9
|
|
11
|
-
model Fog::Compute::
|
10
|
+
model Fog::VcloudDirector::Compute::Vapp
|
12
11
|
|
13
12
|
attribute :vdc
|
14
13
|
|
@@ -1,14 +1,13 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
1
|
require 'fog/vcloud_director/models/compute/vdc'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class Vdcs < Collection
|
8
7
|
|
9
8
|
include Fog::VcloudDirector::Query
|
10
9
|
|
11
|
-
model Fog::Compute::
|
10
|
+
model Fog::VcloudDirector::Compute::Vdc
|
12
11
|
|
13
12
|
attribute :organization
|
14
13
|
|
@@ -1,14 +1,12 @@
|
|
1
|
-
require 'fog/core/model'
|
2
1
|
require 'fog/vcloud_director/models/compute/vm_customization'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class Vm < Model
|
8
7
|
identity :id
|
9
8
|
|
10
9
|
attribute :vapp_id
|
11
|
-
attribute :vapp_name
|
12
10
|
attribute :name
|
13
11
|
attribute :type
|
14
12
|
attribute :description
|
@@ -18,7 +16,10 @@ module Fog
|
|
18
16
|
attribute :operating_system
|
19
17
|
attribute :ip_address
|
20
18
|
attribute :cpu, :type => :integer
|
19
|
+
attribute :cores_per_socket, :type => :integer
|
20
|
+
attribute :cpu_hot_add, :type => :boolean
|
21
21
|
attribute :memory, :type => :integer
|
22
|
+
attribute :memory_hot_add, :type => :boolean
|
22
23
|
attribute :hard_disks, :aliases => :disks
|
23
24
|
attribute :network_adapters
|
24
25
|
|
@@ -49,7 +50,7 @@ module Fog
|
|
49
50
|
requires :id
|
50
51
|
begin
|
51
52
|
response = service.post_power_off_vapp(id)
|
52
|
-
rescue Fog::Compute::
|
53
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
53
54
|
Fog::Logger.debug(ex.message)
|
54
55
|
return false
|
55
56
|
end
|
@@ -61,7 +62,7 @@ module Fog
|
|
61
62
|
requires :id
|
62
63
|
begin
|
63
64
|
response = service.post_power_on_vapp(id)
|
64
|
-
rescue Fog::Compute::
|
65
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
65
66
|
Fog::Logger.debug(ex.message)
|
66
67
|
return false
|
67
68
|
end
|
@@ -73,7 +74,7 @@ module Fog
|
|
73
74
|
requires :id
|
74
75
|
begin
|
75
76
|
response = service.post_reboot_vapp(id)
|
76
|
-
rescue Fog::Compute::
|
77
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
77
78
|
Fog::Logger.debug(ex.message)
|
78
79
|
return false
|
79
80
|
end
|
@@ -85,7 +86,7 @@ module Fog
|
|
85
86
|
requires :id
|
86
87
|
begin
|
87
88
|
response = service.post_reset_vapp(id)
|
88
|
-
rescue Fog::Compute::
|
89
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
89
90
|
Fog::Logger.debug(ex.message)
|
90
91
|
return false
|
91
92
|
end
|
@@ -96,7 +97,7 @@ module Fog
|
|
96
97
|
requires :id
|
97
98
|
begin
|
98
99
|
response = service.post_undeploy_vapp(id)
|
99
|
-
rescue Fog::Compute::
|
100
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
100
101
|
Fog::Logger.debug(ex.message)
|
101
102
|
return false
|
102
103
|
end
|
@@ -108,7 +109,7 @@ module Fog
|
|
108
109
|
requires :id
|
109
110
|
begin
|
110
111
|
response = service.post_shutdown_vapp(id)
|
111
|
-
rescue Fog::Compute::
|
112
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
112
113
|
Fog::Logger.debug(ex.message)
|
113
114
|
return false
|
114
115
|
end
|
@@ -120,7 +121,7 @@ module Fog
|
|
120
121
|
requires :id
|
121
122
|
begin
|
122
123
|
response = service.post_suspend_vapp(id)
|
123
|
-
rescue Fog::Compute::
|
124
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
124
125
|
Fog::Logger.debug(ex.message)
|
125
126
|
return false
|
126
127
|
end
|
@@ -148,38 +149,17 @@ module Fog
|
|
148
149
|
requires :id
|
149
150
|
service.disks(:vm => self)
|
150
151
|
end
|
151
|
-
|
152
|
-
def memory=(new_memory)
|
153
|
-
has_changed = ( memory != new_memory.to_i )
|
154
|
-
not_first_set = !memory.nil?
|
155
|
-
attributes[:memory] = new_memory.to_i
|
156
|
-
if not_first_set && has_changed
|
157
|
-
response = service.put_memory(id, memory)
|
158
|
-
service.process_task(response.body)
|
159
|
-
end
|
160
|
-
end
|
161
|
-
|
162
|
-
def cpu=(new_cpu)
|
163
|
-
has_changed = ( cpu != new_cpu.to_i )
|
164
|
-
not_first_set = !cpu.nil?
|
165
|
-
attributes[:cpu] = new_cpu.to_i
|
166
|
-
if not_first_set && has_changed
|
167
|
-
response = service.put_cpu(id, cpu)
|
168
|
-
service.process_task(response.body)
|
169
|
-
end
|
170
|
-
end
|
171
152
|
|
172
153
|
# Reconfigure a VM using any of the options documented in
|
173
154
|
# post_reconfigure_vm
|
174
|
-
def reconfigure(options)
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
end
|
180
|
-
response = service.post_reconfigure_vm(id, options)
|
155
|
+
def reconfigure(options, current: nil)
|
156
|
+
# Fetch current XML.
|
157
|
+
current ||= service.get_vapp(id, :parser => 'xml').body
|
158
|
+
# Let post_reconfigure_vm apply modifications.
|
159
|
+
response = service.post_reconfigure_vm(id, current, options)
|
181
160
|
service.process_task(response.body)
|
182
|
-
|
161
|
+
|
162
|
+
# TODO: apply modifications on current VM instance.
|
183
163
|
end
|
184
164
|
|
185
165
|
def ready?
|
@@ -1,11 +1,10 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
1
|
require 'fog/vcloud_director/models/compute/vm_customization'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class VmCustomizations < Collection
|
8
|
-
model Fog::Compute::
|
7
|
+
model Fog::VcloudDirector::Compute::VmCustomization
|
9
8
|
|
10
9
|
attribute :vm
|
11
10
|
|
@@ -1,11 +1,10 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
1
|
require 'fog/vcloud_director/models/compute/vm_network'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class VmNetworks < Collection
|
8
|
-
model Fog::Compute::
|
7
|
+
model Fog::VcloudDirector::Compute::VmNetwork
|
9
8
|
|
10
9
|
attribute :vm
|
11
10
|
|
@@ -1,14 +1,13 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
1
|
require 'fog/vcloud_director/models/compute/vm'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class Vms < Collection
|
8
7
|
|
9
8
|
include Fog::VcloudDirector::Query
|
10
9
|
|
11
|
-
model Fog::Compute::
|
10
|
+
model Fog::VcloudDirector::Compute::Vm
|
12
11
|
|
13
12
|
attribute :vapp
|
14
13
|
|
@@ -36,7 +35,7 @@ module Fog
|
|
36
35
|
end
|
37
36
|
|
38
37
|
def item_list
|
39
|
-
data = service.
|
38
|
+
data = service.get_vapp(vapp.id).body
|
40
39
|
items = data[:vms]
|
41
40
|
items
|
42
41
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
module
|
4
|
-
module
|
2
|
+
module VcloudDirector
|
3
|
+
module Parsers
|
4
|
+
module Compute
|
5
5
|
#
|
6
6
|
# <Metadata xmlns="http://www.vmware.com/vcloud/v1.5" type="application/vnd.vmware.vcloud.metadata+xml" href="https://example.com/api/vApp/vm-18545e82-d919-4071-ae7e-d1300d9d8112/metadata" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.vmware.com/vcloud/v1.5 http://10.194.1.65/api/v1.5/schema/master.xsd">
|
7
7
|
# <Link rel="up" type="application/vnd.vmware.vcloud.vm+xml" href="https://example.com/api/vApp/vm-18545e82-d919-4071-ae7e-d1300d9d8112"/>
|
@@ -0,0 +1,93 @@
|
|
1
|
+
require 'fog/vcloud_director/parsers/compute/vm_parser_helper'
|
2
|
+
|
3
|
+
module Fog
|
4
|
+
module VcloudDirector
|
5
|
+
module Parsers
|
6
|
+
module Compute
|
7
|
+
class Vapp < VcloudDirectorParser
|
8
|
+
include VmParserHelper
|
9
|
+
|
10
|
+
def reset
|
11
|
+
@response = @vapp = {
|
12
|
+
:lease_settings => 'not-implemented',
|
13
|
+
:network_section => 'not-implemented',
|
14
|
+
:network_config => 'not-implemented'
|
15
|
+
}
|
16
|
+
@in_sections = false
|
17
|
+
@parsing_vm = false
|
18
|
+
end
|
19
|
+
|
20
|
+
def start_element(name, attributes)
|
21
|
+
super
|
22
|
+
return vm_start_element(name, attributes) if @parsing_vm
|
23
|
+
vapp_start_element(name, attributes)
|
24
|
+
end
|
25
|
+
|
26
|
+
def end_element(name)
|
27
|
+
return vm_end_element(name) if @parsing_vm && name != 'Vm'
|
28
|
+
vapp_end_element(name)
|
29
|
+
end
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def vapp_start_element(name, attributes)
|
34
|
+
case name
|
35
|
+
when 'VApp'
|
36
|
+
vapp_attrs = extract_attributes(attributes)
|
37
|
+
@vapp.merge!(vapp_attrs.reject { |key, _| ![:href, :name, :status, :type, :deployed].include?(key) })
|
38
|
+
@vapp[:id] ||= id_from_url(@vapp[:href], id_prefix: 'vapp-')
|
39
|
+
@vapp[:deployed] = @vapp[:deployed] == 'true'
|
40
|
+
when 'LeaseSettingsSection' # this is the first of the sections
|
41
|
+
@in_sections = true
|
42
|
+
@vapp[:description] ||= '' # if description wasn't parsed by now, then vApp has empty description
|
43
|
+
when 'User'
|
44
|
+
@vapp[:owner] = attr_value('href', attributes).to_s.split('/').last
|
45
|
+
when 'Vm'
|
46
|
+
@parsing_vm = true
|
47
|
+
vm_reset(@vapp[:id])
|
48
|
+
vm_start_element(name, attributes)
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
def vapp_end_element(name)
|
53
|
+
case name
|
54
|
+
when 'Description'
|
55
|
+
@vapp[:description] = value unless @in_sections
|
56
|
+
when 'InMaintenanceMode'
|
57
|
+
@vapp[:maintenance] = value == 'true'
|
58
|
+
when 'Vm'
|
59
|
+
@parsing_vm = false
|
60
|
+
@vapp[:vms] ||= []
|
61
|
+
@vapp[:vms] << @curr_vm
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
#
|
66
|
+
# Nested VMs
|
67
|
+
#
|
68
|
+
|
69
|
+
def vm_start_element(name, attributes)
|
70
|
+
return parse_vm_attributes(attributes, @curr_vm) if name == 'Vm'
|
71
|
+
parse_start_element(name, attributes, @curr_vm)
|
72
|
+
end
|
73
|
+
|
74
|
+
def vm_end_element(name)
|
75
|
+
parse_end_element(name, @curr_vm)
|
76
|
+
end
|
77
|
+
|
78
|
+
def vm_reset(vapp_id)
|
79
|
+
@curr_vm = initialize_vm
|
80
|
+
@curr_vm[:vapp_id] = vapp_id
|
81
|
+
@in_operating_system = false
|
82
|
+
@in_children = false
|
83
|
+
@resource_type = nil
|
84
|
+
@links = []
|
85
|
+
@element_name = nil
|
86
|
+
@current_network_connection = nil
|
87
|
+
@current_host_resource = nil
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
end
|
@@ -1,9 +1,9 @@
|
|
1
1
|
require 'fog/vcloud_director/parsers/compute/vm_parser_helper'
|
2
2
|
|
3
3
|
module Fog
|
4
|
-
module
|
5
|
-
module
|
6
|
-
module
|
4
|
+
module VcloudDirector
|
5
|
+
module Parsers
|
6
|
+
module Compute
|
7
7
|
class Vm < VcloudDirectorParser
|
8
8
|
include VmParserHelper
|
9
9
|
|
@@ -11,77 +11,18 @@ module Fog
|
|
11
11
|
@in_operating_system = false
|
12
12
|
@in_children = false
|
13
13
|
@resource_type = nil
|
14
|
-
@response = { :vm =>
|
14
|
+
@response = { :vm => initialize_vm }
|
15
15
|
@links = []
|
16
16
|
end
|
17
17
|
|
18
18
|
def start_element(name, attributes)
|
19
19
|
super
|
20
|
-
if name == 'Vm'
|
21
|
-
|
22
|
-
@response[:vm].merge!(vm_attrs.reject {|key,value| ![:href, :name, :status, :type, :deployed].include?(key)})
|
23
|
-
@response[:vm][:id] = @response[:vm][:href].split('/').last
|
24
|
-
@response[:vm][:status] = human_status(@response[:vm][:status])
|
25
|
-
@response[:vm][:deployed] = @response[:vm][:deployed] == 'true'
|
26
|
-
else
|
27
|
-
parse_start_element name, attributes, @response[:vm]
|
28
|
-
end
|
20
|
+
return parse_vm_attributes(attributes, @response[:vm]) if name == 'Vm'
|
21
|
+
parse_start_element name, attributes, @response[:vm]
|
29
22
|
end
|
30
23
|
|
31
24
|
def end_element(name)
|
32
25
|
parse_end_element name, @response[:vm]
|
33
|
-
case name
|
34
|
-
when 'IpAddress'
|
35
|
-
@response[:vm][:ip_address] = value
|
36
|
-
when 'Description'
|
37
|
-
if @in_operating_system
|
38
|
-
@response[:vm][:operating_system] = value
|
39
|
-
@in_operating_system = false
|
40
|
-
end
|
41
|
-
when 'ResourceType'
|
42
|
-
@resource_type = value
|
43
|
-
when 'VirtualQuantity'
|
44
|
-
case @resource_type
|
45
|
-
when '3'
|
46
|
-
@response[:vm][:cpu] = value
|
47
|
-
when '4'
|
48
|
-
@response[:vm][:memory] = value
|
49
|
-
end
|
50
|
-
when 'ElementName'
|
51
|
-
@element_name = value
|
52
|
-
when 'Item'
|
53
|
-
case @resource_type
|
54
|
-
when '17' # disk
|
55
|
-
@response[:vm][:disks] ||= []
|
56
|
-
@response[:vm][:disks] << { @element_name => @current_host_resource[:capacity].to_i }
|
57
|
-
when '10' # nic
|
58
|
-
@response[:vm][:network_adapters] ||= []
|
59
|
-
@response[:vm][:network_adapters] << {
|
60
|
-
:ip_address => @current_network_connection[:ipAddress],
|
61
|
-
:primary => (@current_network_connection[:primaryNetworkConnection] == 'true'),
|
62
|
-
:ip_allocation_mode => @current_network_connection[:ipAddressingMode]
|
63
|
-
}
|
64
|
-
end
|
65
|
-
when 'Link'
|
66
|
-
@response[:vm][:links] = @links
|
67
|
-
end
|
68
|
-
end
|
69
|
-
|
70
|
-
def human_status(status)
|
71
|
-
case status
|
72
|
-
when '-1', -1
|
73
|
-
'failed_creation'
|
74
|
-
when '0', 0
|
75
|
-
'creating'
|
76
|
-
when '8', 8
|
77
|
-
'off'
|
78
|
-
when '4', 4
|
79
|
-
'on'
|
80
|
-
when '3', 3
|
81
|
-
'suspended'
|
82
|
-
else
|
83
|
-
'unknown'
|
84
|
-
end
|
85
26
|
end
|
86
27
|
end
|
87
28
|
end
|