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,8 +1,17 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
module
|
4
|
-
module
|
2
|
+
module VcloudDirector
|
3
|
+
module Parsers
|
4
|
+
module Compute
|
5
5
|
module VmParserHelper
|
6
|
+
def initialize_vm
|
7
|
+
{
|
8
|
+
:vapp_id => nil,
|
9
|
+
:ip_address => '',
|
10
|
+
:description => '',
|
11
|
+
:cpu_hot_add => nil,
|
12
|
+
:memory_hot_add => nil
|
13
|
+
}
|
14
|
+
end
|
6
15
|
|
7
16
|
def parse_end_element(name, vm)
|
8
17
|
case name
|
@@ -39,6 +48,12 @@ module Fog
|
|
39
48
|
}
|
40
49
|
when 'Link'
|
41
50
|
vm[:links] = @links
|
51
|
+
when 'CoresPerSocket'
|
52
|
+
vm[:cores_per_socket] = value
|
53
|
+
when 'CpuHotAddEnabled'
|
54
|
+
vm[:cpu_hot_add] = value == 'true'
|
55
|
+
when 'MemoryHotAddEnabled'
|
56
|
+
vm[:memory_hot_add] = value == 'true'
|
42
57
|
end
|
43
58
|
end
|
44
59
|
|
@@ -46,15 +61,52 @@ module Fog
|
|
46
61
|
case name
|
47
62
|
when 'OperatingSystemSection'
|
48
63
|
@in_operating_system = true
|
64
|
+
|
65
|
+
# VirtualHardwareSection was parsed if we're here. Set missing values to defaults since
|
66
|
+
# repeatable parsing won't get them.
|
67
|
+
vm[:cores_per_socket] ||= 1
|
68
|
+
vm[:disks] ||= []
|
69
|
+
vm[:network_adapters] ||= []
|
49
70
|
when 'HostResource'
|
50
71
|
@current_host_resource = extract_attributes(attributes)
|
51
72
|
when 'Connection'
|
52
73
|
@current_network_connection = extract_attributes(attributes)
|
53
74
|
when 'Link'
|
75
|
+
# Parse vapp id from any link if not found elsewhere.
|
76
|
+
vm[:vapp_id] ||= id_from_url(attr_value('href', attributes), :id_prefix => 'vapp-')
|
77
|
+
|
54
78
|
@links << extract_attributes(attributes)
|
55
79
|
end
|
56
80
|
end
|
57
81
|
|
82
|
+
def parse_vm_attributes(attributes, vm)
|
83
|
+
vm_attrs = extract_attributes(attributes)
|
84
|
+
vm.merge!(vm_attrs.select { |key, _| %i(href name status type deployed).include?(key) })
|
85
|
+
vm[:id] = vm[:href].split('/').last
|
86
|
+
vm[:status] = human_status(vm[:status])
|
87
|
+
vm[:deployed] = vm[:deployed] == 'true'
|
88
|
+
end
|
89
|
+
|
90
|
+
def human_status(status)
|
91
|
+
case status
|
92
|
+
when '-1', -1
|
93
|
+
'failed_creation'
|
94
|
+
when '0', 0
|
95
|
+
'creating'
|
96
|
+
when '8', 8
|
97
|
+
'off'
|
98
|
+
when '4', 4
|
99
|
+
'on'
|
100
|
+
when '3', 3
|
101
|
+
'suspended'
|
102
|
+
else
|
103
|
+
'unknown'
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
107
|
+
def id_from_url(url, id_prefix: 'vapp-')
|
108
|
+
url.split('/').detect { |part| part.start_with?(id_prefix) }
|
109
|
+
end
|
58
110
|
end
|
59
111
|
end
|
60
112
|
end
|
@@ -1,14 +1,14 @@
|
|
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 Vms < VcloudDirectorParser
|
8
8
|
include VmParserHelper
|
9
9
|
|
10
10
|
def reset
|
11
|
-
@vm =
|
11
|
+
@vm = initialize_vm
|
12
12
|
@in_operating_system = false
|
13
13
|
@in_children = false
|
14
14
|
@resource_type = nil
|
@@ -20,13 +20,7 @@ module Fog
|
|
20
20
|
super
|
21
21
|
case name
|
22
22
|
when 'Vm'
|
23
|
-
|
24
|
-
@vm.merge!(vapp.reject {|key,value| ![:href, :name, :status, :type, :deployed].include?(key)})
|
25
|
-
@vm[:deployed] = response[:deployed] == 'true'
|
26
|
-
@vm[:id] = @vm[:href].split('/').last
|
27
|
-
@vm[:vapp_id] = @response[:id]
|
28
|
-
@vm[:vapp_name] = @response[:name]
|
29
|
-
@vm[:status] = human_status(@vm[:status])
|
23
|
+
parse_vm_attributes(attributes, @vm)
|
30
24
|
when 'VApp'
|
31
25
|
vapp = extract_attributes(attributes)
|
32
26
|
@response.merge!(vapp.reject {|key,value| ![:href, :name, :size, :status, :type].include?(key)})
|
@@ -48,21 +42,6 @@ module Fog
|
|
48
42
|
end
|
49
43
|
end
|
50
44
|
end
|
51
|
-
|
52
|
-
def human_status(status)
|
53
|
-
case status
|
54
|
-
when '0', 0
|
55
|
-
'creating'
|
56
|
-
when '8', 8
|
57
|
-
'off'
|
58
|
-
when '4', 4
|
59
|
-
'on'
|
60
|
-
when '3', 3
|
61
|
-
'suspended'
|
62
|
-
else
|
63
|
-
'unknown'
|
64
|
-
end
|
65
|
-
end
|
66
45
|
end
|
67
46
|
end
|
68
47
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
4
4
|
class Real
|
5
5
|
# Delete the specified key and its value from catalog item metadata.
|
6
6
|
#
|
@@ -16,7 +16,7 @@ module Fog
|
|
16
16
|
:expects => 202,
|
17
17
|
:method => 'DELETE',
|
18
18
|
:parser => Fog::ToHashDocument.new,
|
19
|
-
:path => "catalogItem/#{id}/metadata/#{URI.escape(key)}"
|
19
|
+
:path => "catalogItem/#{id}/metadata/#{URI::DEFAULT_PARSER.escape(key)}"
|
20
20
|
)
|
21
21
|
end
|
22
22
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
4
4
|
class Real
|
5
5
|
# Delete a disk.
|
6
6
|
#
|
@@ -26,7 +26,7 @@ module Fog
|
|
26
26
|
class Mock
|
27
27
|
def delete_disk(id)
|
28
28
|
unless data[:disks][id]
|
29
|
-
raise Fog::Compute::
|
29
|
+
raise Fog::VcloudDirector::Compute::Forbidden.new(
|
30
30
|
"No access to entity \"(com.vmware.vcloud.entity.disk:#{id})\""
|
31
31
|
)
|
32
32
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
4
4
|
class Real
|
5
5
|
# Delete the specified key and its value from disk metadata.
|
6
6
|
#
|
@@ -16,7 +16,7 @@ module Fog
|
|
16
16
|
:expects => 202,
|
17
17
|
:method => 'DELETE',
|
18
18
|
:parser => Fog::ToHashDocument.new,
|
19
|
-
:path => "disk/#{id}/metadata/#{URI.escape(key)}"
|
19
|
+
:path => "disk/#{id}/metadata/#{URI::DEFAULT_PARSER.escape(key)}"
|
20
20
|
)
|
21
21
|
end
|
22
22
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
4
4
|
class Real
|
5
5
|
# Delete a media object.
|
6
6
|
#
|
@@ -72,7 +72,7 @@ module Fog
|
|
72
72
|
# contained by the :Owner entity when task status is
|
73
73
|
# preRunning.
|
74
74
|
#
|
75
|
-
# @raise [Fog::Compute::
|
75
|
+
# @raise [Fog::VcloudDirector::Compute::Forbidden]
|
76
76
|
#
|
77
77
|
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/DELETE-Media.html
|
78
78
|
# @since vCloud API version 0.9
|
@@ -89,7 +89,7 @@ module Fog
|
|
89
89
|
class Mock
|
90
90
|
def delete_media(id)
|
91
91
|
unless media = data[:medias][id]
|
92
|
-
raise Fog::Compute::
|
92
|
+
raise Fog::VcloudDirector::Compute::Forbidden.new(
|
93
93
|
"No access to entity \"(com.vmware.vcloud.entity.media:#{id})\""
|
94
94
|
)
|
95
95
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
4
4
|
class Real
|
5
5
|
# Delete the specified key and its value from media object metadata.
|
6
6
|
#
|
@@ -16,7 +16,7 @@ module Fog
|
|
16
16
|
:expects => 202,
|
17
17
|
:method => 'DELETE',
|
18
18
|
:parser => Fog::ToHashDocument.new,
|
19
|
-
:path => "media/#{id}/metadata/#{URI.escape(key)}"
|
19
|
+
:path => "media/#{id}/metadata/#{URI::DEFAULT_PARSER.escape(key)}"
|
20
20
|
)
|
21
21
|
end
|
22
22
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
4
4
|
class Real
|
5
5
|
# Delete an OrgVdcNetwork
|
6
6
|
#
|
@@ -11,7 +11,7 @@ module Fog
|
|
11
11
|
# @return [Excon::Response]
|
12
12
|
# * body<~Hash>:
|
13
13
|
#
|
14
|
-
# @raise [Fog::Compute::
|
14
|
+
# @raise [Fog::VcloudDirector::Compute::BadRequest]
|
15
15
|
#
|
16
16
|
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/DELETE-Network.html
|
17
17
|
# @since vCloud API version 0.9
|
@@ -28,7 +28,7 @@ module Fog
|
|
28
28
|
class Mock
|
29
29
|
def delete_network(id)
|
30
30
|
unless data[:networks][id]
|
31
|
-
raise Fog::Compute::
|
31
|
+
raise Fog::VcloudDirector::Compute::Forbidden.new(
|
32
32
|
"No access to entity \"(com.vmware.vcloud.entity.orgVdcNetwork:#{id})\""
|
33
33
|
)
|
34
34
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
4
4
|
class Real
|
5
5
|
# Delete a vApp or VM.
|
6
6
|
#
|
@@ -11,7 +11,7 @@ module Fog
|
|
11
11
|
# @return [Excon::Response]
|
12
12
|
# * body<~Hash>:
|
13
13
|
#
|
14
|
-
# @raise [Fog::Compute::
|
14
|
+
# @raise [Fog::VcloudDirector::Compute::BadRequest]
|
15
15
|
#
|
16
16
|
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/DELETE-VApp.html
|
17
17
|
# @since vCloud API version 0.9
|
@@ -26,8 +26,8 @@ module Fog
|
|
26
26
|
end
|
27
27
|
class Mock
|
28
28
|
def delete_vapp(id)
|
29
|
-
unless
|
30
|
-
raise Fog::Compute::
|
29
|
+
unless data[:vapps][id]
|
30
|
+
raise Fog::VcloudDirector::Compute::Forbidden.new(
|
31
31
|
'This operation is denied.'
|
32
32
|
)
|
33
33
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
4
4
|
class Real
|
5
5
|
extend Fog::Deprecation
|
6
6
|
deprecate :delete_metadata, :delete_vapp_metadata_item_metadata
|
@@ -21,7 +21,7 @@ module Fog
|
|
21
21
|
:expects => 202,
|
22
22
|
:method => 'DELETE',
|
23
23
|
:parser => Fog::ToHashDocument.new,
|
24
|
-
:path => "vApp/#{id}/metadata/#{URI.escape(key)}"
|
24
|
+
:path => "vApp/#{id}/metadata/#{URI::DEFAULT_PARSER.escape(key)}"
|
25
25
|
)
|
26
26
|
end
|
27
27
|
end
|
data/lib/fog/vcloud_director/requests/compute/delete_vapp_template_metadata_item_metadata.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
4
4
|
class Real
|
5
5
|
# Delete the specified key and its value from vApp template or VM
|
6
6
|
# metadata.
|
@@ -17,7 +17,7 @@ module Fog
|
|
17
17
|
:expects => 202,
|
18
18
|
:method => 'DELETE',
|
19
19
|
:parser => Fog::ToHashDocument.new,
|
20
|
-
:path => "vAppTemplate/#{id}/metadata/#{URI.escape(key)}"
|
20
|
+
:path => "vAppTemplate/#{id}/metadata/#{URI::DEFAULT_PARSER.escape(key)}"
|
21
21
|
)
|
22
22
|
end
|
23
23
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
4
4
|
class Real
|
5
5
|
# Retrieve a catalog.
|
6
6
|
#
|
@@ -8,7 +8,7 @@ module Fog
|
|
8
8
|
# @return [Excon::Response]
|
9
9
|
# * hash<~Hash>:
|
10
10
|
#
|
11
|
-
# @raise [Fog::Compute::
|
11
|
+
# @raise [Fog::VcloudDirector::Compute::Forbidden]
|
12
12
|
#
|
13
13
|
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-Catalog.html
|
14
14
|
# @since vCloud API version 0.9
|
@@ -28,7 +28,7 @@ module Fog
|
|
28
28
|
class Mock
|
29
29
|
def get_catalog(id)
|
30
30
|
unless catalog = data[:catalogs][id]
|
31
|
-
raise Fog::Compute::
|
31
|
+
raise Fog::VcloudDirector::Compute::Forbidden.new(
|
32
32
|
"No access to entity \"(com.vmware.vcloud.entity.catalog:#{id})\"."
|
33
33
|
)
|
34
34
|
end
|