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,7 +1,7 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
module
|
4
|
-
module
|
2
|
+
module VcloudDirector
|
3
|
+
module Generators
|
4
|
+
module Compute
|
5
5
|
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/types/VAppType.html
|
6
6
|
class Vapp
|
7
7
|
attr_reader :name, :options
|
@@ -12,7 +12,6 @@ module Fog
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def generate_xml
|
15
|
-
attrs = @attrs
|
16
15
|
Nokogiri::XML::Builder.new do
|
17
16
|
VApp('xmlns' => 'http://www.vmware.com/vcloud/v1.5',
|
18
17
|
'name' => name
|
@@ -1,7 +1,7 @@
|
|
1
1
|
module Fog
|
2
|
-
module
|
3
|
-
module
|
4
|
-
module
|
2
|
+
module VcloudDirector
|
3
|
+
module Generators
|
4
|
+
module Compute
|
5
5
|
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/types/VmType.html
|
6
6
|
class Vm
|
7
7
|
attr_reader :attrs
|
@@ -1,11 +1,10 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
1
|
require 'fog/vcloud_director/models/compute/catalog_item'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class CatalogItems < Collection
|
8
|
-
model Fog::Compute::
|
7
|
+
model Fog::VcloudDirector::Compute::CatalogItem
|
9
8
|
|
10
9
|
attribute :catalog
|
11
10
|
|
@@ -1,12 +1,11 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
1
|
require 'fog/vcloud_director/models/compute/catalog'
|
3
2
|
require 'fog/vcloud_director/models/compute/catalog_item'
|
4
3
|
|
5
4
|
module Fog
|
6
|
-
module
|
7
|
-
class
|
5
|
+
module VcloudDirector
|
6
|
+
class Compute
|
8
7
|
class Catalogs < Collection
|
9
|
-
model Fog::Compute::
|
8
|
+
model Fog::VcloudDirector::Compute::Catalog
|
10
9
|
|
11
10
|
attribute :organization
|
12
11
|
|
@@ -14,7 +13,7 @@ module Fog
|
|
14
13
|
item = service.get_catalog_item(item_id).body
|
15
14
|
return nil unless item
|
16
15
|
item[:vapp_template_id] = item[:Entity][:href].split('/').last
|
17
|
-
Fog::Compute::
|
16
|
+
Fog::VcloudDirector::Compute::CatalogItem.new(item.merge({ :service => service, :collection => [] }))
|
18
17
|
end
|
19
18
|
|
20
19
|
private
|
@@ -2,11 +2,11 @@ require 'fog/core/collection'
|
|
2
2
|
require 'fog/vcloud_director/models/compute/custom_field'
|
3
3
|
|
4
4
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
5
|
+
module VcloudDirector
|
6
|
+
class Compute
|
7
7
|
|
8
8
|
class CustomFields < Collection
|
9
|
-
model Fog::Compute::
|
9
|
+
model Fog::VcloudDirector::Compute::CustomField
|
10
10
|
|
11
11
|
attribute :vapp
|
12
12
|
|
@@ -1,8 +1,6 @@
|
|
1
|
-
require 'fog/core/model'
|
2
|
-
|
3
1
|
module Fog
|
4
|
-
module
|
5
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
6
4
|
class Disk < Model # there is no lazy_load in disks
|
7
5
|
identity :id
|
8
6
|
|
@@ -17,13 +15,14 @@ module Fog
|
|
17
15
|
attribute :bus_sub_type
|
18
16
|
attribute :bus_type
|
19
17
|
|
18
|
+
remove_method :capacity=
|
20
19
|
# TODO Virtual machine disk sizes may only be increased, not decreased.
|
21
20
|
def capacity=(new_capacity)
|
22
21
|
has_changed = ( capacity != new_capacity.to_i )
|
23
22
|
not_first_set = !capacity.nil?
|
24
23
|
attributes[:capacity] = new_capacity.to_i
|
25
24
|
if not_first_set && has_changed
|
26
|
-
data = Fog::Generators::Compute::
|
25
|
+
data = Fog::VcloudDirector::Generators::Compute::Disks.new(all_disks)
|
27
26
|
num_disk = name.scan(/\d+/).first.to_i
|
28
27
|
data.modify_hard_disk_size(num_disk, new_capacity)
|
29
28
|
response = service.put_disks(attributes[:vm].id, data.disks)
|
@@ -37,7 +36,7 @@ module Fog
|
|
37
36
|
|
38
37
|
def destroy
|
39
38
|
num_disk = name.scan(/\d+/).first.to_i
|
40
|
-
data = Fog::Generators::Compute::
|
39
|
+
data = Fog::VcloudDirector::Generators::Compute::Disks.new(all_disks)
|
41
40
|
data.delete_hard_disk(num_disk)
|
42
41
|
response = service.put_disks(attributes[:vm].id, data.disks)
|
43
42
|
service.process_task(response.body)
|
@@ -1,17 +1,16 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
1
|
require 'fog/vcloud_director/models/compute/disk'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class Disks < Collection
|
8
|
-
model Fog::Compute::
|
7
|
+
model Fog::VcloudDirector::Compute::Disk
|
9
8
|
|
10
9
|
attribute :vm
|
11
10
|
|
12
11
|
def create(size)
|
13
12
|
item_list unless @disks
|
14
|
-
data = Fog::Generators::Compute::
|
13
|
+
data = Fog::VcloudDirector::Generators::Compute::Disks.new(@disks)
|
15
14
|
data.add_hard_disk(size)
|
16
15
|
response = service.put_disks(vm.id, data.disks)
|
17
16
|
service.process_task(response.body)
|
@@ -1,11 +1,10 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
1
|
require 'fog/vcloud_director/models/compute/media'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class Medias < Collection
|
8
|
-
model Fog::Compute::
|
7
|
+
model Fog::VcloudDirector::Compute::Media
|
9
8
|
|
10
9
|
attribute :vdc
|
11
10
|
|
@@ -1,14 +1,13 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
1
|
require 'fog/vcloud_director/models/compute/network'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class Networks < Collection
|
8
7
|
|
9
8
|
include Fog::VcloudDirector::Query
|
10
9
|
|
11
|
-
model Fog::Compute::
|
10
|
+
model Fog::VcloudDirector::Compute::Network
|
12
11
|
|
13
12
|
attribute :organization
|
14
13
|
attribute :vdc
|
@@ -1,11 +1,10 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
1
|
require 'fog/vcloud_director/models/compute/organization'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class Organizations < Collection
|
8
|
-
model Fog::Compute::
|
7
|
+
model Fog::VcloudDirector::Compute::Organization
|
9
8
|
|
10
9
|
private
|
11
10
|
|
@@ -1,12 +1,11 @@
|
|
1
|
-
require 'fog/core/model'
|
2
|
-
|
3
1
|
module Fog
|
4
|
-
module
|
5
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
6
4
|
class Tag < Model
|
7
5
|
identity :id
|
8
6
|
attribute :value
|
9
7
|
|
8
|
+
remove_method :value=
|
10
9
|
def value=(new_value)
|
11
10
|
has_changed = ( value != new_value )
|
12
11
|
not_first_set = !value.nil?
|
@@ -1,11 +1,10 @@
|
|
1
|
-
require 'fog/core/collection'
|
2
1
|
require 'fog/vcloud_director/models/compute/tag'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class Tags < Collection
|
8
|
-
model Fog::Compute::
|
7
|
+
model Fog::VcloudDirector::Compute::Tag
|
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/task'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class Tasks < Collection
|
8
7
|
|
9
8
|
include Fog::VcloudDirector::Query
|
10
9
|
|
11
|
-
model Fog::Compute::
|
10
|
+
model Fog::VcloudDirector::Compute::Task
|
12
11
|
|
13
12
|
attribute :organization
|
14
13
|
|
@@ -1,19 +1,18 @@
|
|
1
|
-
require 'fog/
|
2
|
-
require 'fog/vcloud_director/models/compute/vm'
|
1
|
+
require 'fog/vcloud_director/models/compute/template_vm'
|
3
2
|
|
4
3
|
module Fog
|
5
|
-
module
|
6
|
-
class
|
4
|
+
module VcloudDirector
|
5
|
+
class Compute
|
7
6
|
class TemplateVms < Collection
|
8
7
|
|
9
8
|
include Fog::VcloudDirector::Query
|
10
9
|
|
11
|
-
model Fog::Compute::
|
10
|
+
model Fog::VcloudDirector::Compute::TemplateVm
|
12
11
|
|
13
12
|
attribute :vapp_template
|
14
13
|
|
15
14
|
|
16
|
-
def
|
15
|
+
def get_single_template_vm(vm_id)
|
17
16
|
item = service.get_template_vm(vm_id).body
|
18
17
|
return nil unless item
|
19
18
|
new(item[:vm])
|
@@ -1,8 +1,6 @@
|
|
1
|
-
require 'fog/core/model'
|
2
|
-
|
3
1
|
module Fog
|
4
|
-
module
|
5
|
-
class
|
2
|
+
module VcloudDirector
|
3
|
+
class Compute
|
6
4
|
class Vapp < Model
|
7
5
|
identity :id
|
8
6
|
|
@@ -12,13 +10,32 @@ module Fog
|
|
12
10
|
attribute :description, :aliases => :Description
|
13
11
|
attribute :deployed, :type => :boolean
|
14
12
|
attribute :status
|
15
|
-
attribute :lease_settings
|
16
|
-
attribute :network_section
|
17
|
-
attribute :network_config
|
18
|
-
attribute :owner
|
19
|
-
attribute :
|
13
|
+
attribute :lease_settings
|
14
|
+
attribute :network_section
|
15
|
+
attribute :network_config
|
16
|
+
attribute :owner
|
17
|
+
attribute :maintenance, :type => :boolean
|
18
|
+
|
19
|
+
def initialize(attributes = {})
|
20
|
+
# Memorize VMs because their full XML description was already included in the vApp XML description.
|
21
|
+
# Instead simple Array we rather store as Collection in order to provide common interface e.g.
|
22
|
+
# vapp.vms.all
|
23
|
+
# vapp.vms.get_by_name
|
24
|
+
if (vms = attributes.delete(:vms))
|
25
|
+
@vms = Fog::VcloudDirector::Compute::Vms.new(
|
26
|
+
:vapp => self,
|
27
|
+
:service => attributes[:service]
|
28
|
+
).with_item_list(Array(vms))
|
29
|
+
end
|
30
|
+
|
31
|
+
super(attributes)
|
32
|
+
end
|
33
|
+
|
34
|
+
def vms(force: false)
|
35
|
+
# Return memorized Collection that we parsed based on vApp XML description. This way we prevent
|
36
|
+
# additional API request to be made for each VM in a vApp.
|
37
|
+
return @vms unless @vms.nil? || force
|
20
38
|
|
21
|
-
def vms
|
22
39
|
requires :id
|
23
40
|
service.vms(:vapp => self)
|
24
41
|
end
|
@@ -33,6 +50,7 @@ module Fog
|
|
33
50
|
service.custom_fields( :vapp => self)
|
34
51
|
end
|
35
52
|
|
53
|
+
# https://pubs.vmware.com/vcd-80/index.jsp#com.vmware.vcloud.api.sp.doc_90/GUID-843BE3AD-5EF6-4442-B864-BCAE44A51867.html
|
36
54
|
def human_status
|
37
55
|
case status
|
38
56
|
when '-1', -1
|
@@ -66,7 +84,7 @@ module Fog
|
|
66
84
|
def undeploy(action='powerOff')
|
67
85
|
begin
|
68
86
|
response = service.post_undeploy_vapp(id, :UndeployPowerAction => action)
|
69
|
-
rescue Fog::Compute::
|
87
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
70
88
|
Fog::Logger.debug(ex.message)
|
71
89
|
return false
|
72
90
|
end
|
@@ -78,7 +96,7 @@ module Fog
|
|
78
96
|
requires :id
|
79
97
|
begin
|
80
98
|
response = service.post_power_off_vapp(id)
|
81
|
-
rescue Fog::Compute::
|
99
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
82
100
|
Fog::Logger.debug(ex.message)
|
83
101
|
return false
|
84
102
|
end
|
@@ -90,7 +108,7 @@ module Fog
|
|
90
108
|
requires :id
|
91
109
|
begin
|
92
110
|
response = service.post_power_on_vapp(id)
|
93
|
-
rescue Fog::Compute::
|
111
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
94
112
|
Fog::Logger.debug(ex.message)
|
95
113
|
return false
|
96
114
|
end
|
@@ -102,7 +120,7 @@ module Fog
|
|
102
120
|
requires :id
|
103
121
|
begin
|
104
122
|
response = service.post_reboot_vapp(id)
|
105
|
-
rescue Fog::Compute::
|
123
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
106
124
|
Fog::Logger.debug(ex.message)
|
107
125
|
return false
|
108
126
|
end
|
@@ -114,7 +132,7 @@ module Fog
|
|
114
132
|
requires :id
|
115
133
|
begin
|
116
134
|
response = service.post_reset_vapp(id)
|
117
|
-
rescue Fog::Compute::
|
135
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
118
136
|
Fog::Logger.debug(ex.message)
|
119
137
|
return false
|
120
138
|
end
|
@@ -126,7 +144,7 @@ module Fog
|
|
126
144
|
requires :id
|
127
145
|
begin
|
128
146
|
response = service.post_shutdown_vapp(id)
|
129
|
-
rescue Fog::Compute::
|
147
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
130
148
|
Fog::Logger.debug(ex.message)
|
131
149
|
return false
|
132
150
|
end
|
@@ -138,7 +156,7 @@ module Fog
|
|
138
156
|
requires :id
|
139
157
|
begin
|
140
158
|
response = service.post_suspend_vapp(id)
|
141
|
-
rescue Fog::Compute::
|
159
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
142
160
|
Fog::Logger.debug(ex.message)
|
143
161
|
return false
|
144
162
|
end
|
@@ -149,7 +167,7 @@ module Fog
|
|
149
167
|
requires :id
|
150
168
|
begin
|
151
169
|
response = service.delete_vapp(id)
|
152
|
-
rescue Fog::Compute::
|
170
|
+
rescue Fog::VcloudDirector::Compute::BadRequest => ex
|
153
171
|
Fog::Logger.debug(ex.message)
|
154
172
|
return false
|
155
173
|
end
|