fog-vcloud-director 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.editorconfig +11 -0
- data/.gitignore +17 -0
- data/.hound.yml +2 -0
- data/.rubocop.yml +240 -0
- data/.ruby-gemset +1 -0
- data/.travis.yml +15 -0
- data/Gemfile +4 -0
- data/LICENSE.md +20 -0
- data/README.md +962 -0
- data/Rakefile +19 -0
- data/fog-vcloud-director.gemspec +31 -0
- data/lib/fog/vcloud_director.rb +1 -0
- data/lib/fog/vcloud_director/compute.rb +916 -0
- data/lib/fog/vcloud_director/core.rb +69 -0
- data/lib/fog/vcloud_director/generators/compute/compose_common.rb +122 -0
- data/lib/fog/vcloud_director/generators/compute/compose_vapp.rb +25 -0
- data/lib/fog/vcloud_director/generators/compute/create_snapshot.rb +25 -0
- data/lib/fog/vcloud_director/generators/compute/customization.rb +105 -0
- data/lib/fog/vcloud_director/generators/compute/disks.rb +186 -0
- data/lib/fog/vcloud_director/generators/compute/edge_gateway_service_configuration.rb +243 -0
- data/lib/fog/vcloud_director/generators/compute/instantiate_vapp_template_params.rb +30 -0
- data/lib/fog/vcloud_director/generators/compute/metadata.rb +104 -0
- data/lib/fog/vcloud_director/generators/compute/org_vdc_network.rb +88 -0
- data/lib/fog/vcloud_director/generators/compute/recompose_vapp.rb +34 -0
- data/lib/fog/vcloud_director/generators/compute/vapp.rb +28 -0
- data/lib/fog/vcloud_director/generators/compute/vm.rb +32 -0
- data/lib/fog/vcloud_director/generators/compute/vm_network.rb +119 -0
- data/lib/fog/vcloud_director/models/compute/catalog.rb +22 -0
- data/lib/fog/vcloud_director/models/compute/catalog_item.rb +30 -0
- data/lib/fog/vcloud_director/models/compute/catalog_items.rb +33 -0
- data/lib/fog/vcloud_director/models/compute/catalogs.rb +30 -0
- data/lib/fog/vcloud_director/models/compute/custom_field.rb +18 -0
- data/lib/fog/vcloud_director/models/compute/custom_fields.rb +67 -0
- data/lib/fog/vcloud_director/models/compute/disk.rb +53 -0
- data/lib/fog/vcloud_director/models/compute/disks.rb +44 -0
- data/lib/fog/vcloud_director/models/compute/media.rb +26 -0
- data/lib/fog/vcloud_director/models/compute/medias.rb +75 -0
- data/lib/fog/vcloud_director/models/compute/network.rb +25 -0
- data/lib/fog/vcloud_director/models/compute/networks.rb +62 -0
- data/lib/fog/vcloud_director/models/compute/organization.rb +37 -0
- data/lib/fog/vcloud_director/models/compute/organizations.rb +28 -0
- data/lib/fog/vcloud_director/models/compute/tag.rb +31 -0
- data/lib/fog/vcloud_director/models/compute/tags.rb +41 -0
- data/lib/fog/vcloud_director/models/compute/task.rb +55 -0
- data/lib/fog/vcloud_director/models/compute/tasks.rb +36 -0
- data/lib/fog/vcloud_director/models/compute/template_vm.rb +52 -0
- data/lib/fog/vcloud_director/models/compute/template_vms.rb +41 -0
- data/lib/fog/vcloud_director/models/compute/vapp.rb +144 -0
- data/lib/fog/vcloud_director/models/compute/vapp_template.rb +26 -0
- data/lib/fog/vcloud_director/models/compute/vapp_templates.rb +40 -0
- data/lib/fog/vcloud_director/models/compute/vapps.rb +40 -0
- data/lib/fog/vcloud_director/models/compute/vdc.rb +45 -0
- data/lib/fog/vcloud_director/models/compute/vdcs.rb +37 -0
- data/lib/fog/vcloud_director/models/compute/vm.rb +197 -0
- data/lib/fog/vcloud_director/models/compute/vm_customization.rb +40 -0
- data/lib/fog/vcloud_director/models/compute/vm_customizations.rb +29 -0
- data/lib/fog/vcloud_director/models/compute/vm_network.rb +27 -0
- data/lib/fog/vcloud_director/models/compute/vm_networks.rb +19 -0
- data/lib/fog/vcloud_director/models/compute/vms.rb +46 -0
- data/lib/fog/vcloud_director/parsers/compute/disks.rb +53 -0
- data/lib/fog/vcloud_director/parsers/compute/metadata.rb +61 -0
- data/lib/fog/vcloud_director/parsers/compute/network.rb +104 -0
- data/lib/fog/vcloud_director/parsers/compute/vm.rb +86 -0
- data/lib/fog/vcloud_director/parsers/compute/vm_customization.rb +55 -0
- data/lib/fog/vcloud_director/parsers/compute/vm_network.rb +107 -0
- data/lib/fog/vcloud_director/parsers/compute/vm_parser_helper.rb +62 -0
- data/lib/fog/vcloud_director/parsers/compute/vms.rb +68 -0
- data/lib/fog/vcloud_director/parsers/compute/vms_by_metadata.rb +37 -0
- data/lib/fog/vcloud_director/query.rb +59 -0
- data/lib/fog/vcloud_director/requests/compute/delete_catalog_item.rb +22 -0
- data/lib/fog/vcloud_director/requests/compute/delete_catalog_item_metadata_item_metadata.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/delete_disk.rb +60 -0
- data/lib/fog/vcloud_director/requests/compute/delete_disk_metadata_item_metadata.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/delete_logout.rb +18 -0
- data/lib/fog/vcloud_director/requests/compute/delete_media.rb +122 -0
- data/lib/fog/vcloud_director/requests/compute/delete_media_metadata_item_metadata.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/delete_network.rb +62 -0
- data/lib/fog/vcloud_director/requests/compute/delete_shadow_vm.rb +30 -0
- data/lib/fog/vcloud_director/requests/compute/delete_vapp.rb +59 -0
- data/lib/fog/vcloud_director/requests/compute/delete_vapp_metadata_item_metadata.rb +30 -0
- data/lib/fog/vcloud_director/requests/compute/delete_vapp_template.rb +27 -0
- data/lib/fog/vcloud_director/requests/compute/delete_vapp_template_metadata_item_metadata.rb +26 -0
- data/lib/fog/vcloud_director/requests/compute/get_allocated_ip_addresses.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_catalog.rb +63 -0
- data/lib/fog/vcloud_director/requests/compute/get_catalog_item.rb +48 -0
- data/lib/fog/vcloud_director/requests/compute/get_catalog_item_metadata.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_catalog_item_metadata_item_metadata.rb +26 -0
- data/lib/fog/vcloud_director/requests/compute/get_catalog_metadata.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_catalog_metadata_item_metadata.rb +26 -0
- data/lib/fog/vcloud_director/requests/compute/get_catalogs_from_query.rb +94 -0
- data/lib/fog/vcloud_director/requests/compute/get_control_access_params_catalog.rb +26 -0
- data/lib/fog/vcloud_director/requests/compute/get_control_access_params_vapp.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_cpu_rasd_item.rb +65 -0
- data/lib/fog/vcloud_director/requests/compute/get_current_session.rb +83 -0
- data/lib/fog/vcloud_director/requests/compute/get_disk.rb +123 -0
- data/lib/fog/vcloud_director/requests/compute/get_disk_metadata.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_disk_metadata_item_metadata.rb +26 -0
- data/lib/fog/vcloud_director/requests/compute/get_disk_owner.rb +70 -0
- data/lib/fog/vcloud_director/requests/compute/get_disks_from_query.rb +94 -0
- data/lib/fog/vcloud_director/requests/compute/get_disks_rasd_items_list.rb +90 -0
- data/lib/fog/vcloud_director/requests/compute/get_edge_gateway.rb +109 -0
- data/lib/fog/vcloud_director/requests/compute/get_entity.rb +38 -0
- data/lib/fog/vcloud_director/requests/compute/get_execute_query.rb +736 -0
- data/lib/fog/vcloud_director/requests/compute/get_groups_from_query.rb +95 -0
- data/lib/fog/vcloud_director/requests/compute/get_guest_customization_system_section_vapp.rb +69 -0
- data/lib/fog/vcloud_director/requests/compute/get_guest_customization_system_section_vapp_template.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_href.rb +21 -0
- data/lib/fog/vcloud_director/requests/compute/get_lease_settings_section_vapp.rb +59 -0
- data/lib/fog/vcloud_director/requests/compute/get_lease_settings_section_vapp_template.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_media.rb +111 -0
- data/lib/fog/vcloud_director/requests/compute/get_media_drives_rasd_items_list.rb +92 -0
- data/lib/fog/vcloud_director/requests/compute/get_media_metadata.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_media_metadata_item_metadata.rb +26 -0
- data/lib/fog/vcloud_director/requests/compute/get_media_owner.rb +70 -0
- data/lib/fog/vcloud_director/requests/compute/get_medias_from_query.rb +94 -0
- data/lib/fog/vcloud_director/requests/compute/get_memory_rasd_item.rb +64 -0
- data/lib/fog/vcloud_director/requests/compute/get_metadata.rb +41 -0
- data/lib/fog/vcloud_director/requests/compute/get_network.rb +67 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_cards_items_list.rb +70 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_complete.rb +78 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_config_section_vapp.rb +61 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_config_section_vapp_template.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_connection_system_section_vapp.rb +68 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_connection_system_section_vapp_template.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_metadata.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_metadata_item_metadata.rb +26 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_section_vapp.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_network_section_vapp_template.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_operating_system_section.rb +59 -0
- data/lib/fog/vcloud_director/requests/compute/get_org_settings.rb +38 -0
- data/lib/fog/vcloud_director/requests/compute/get_org_vdc_gateways.rb +83 -0
- data/lib/fog/vcloud_director/requests/compute/get_organization.rb +100 -0
- data/lib/fog/vcloud_director/requests/compute/get_organization_metadata.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_organization_metadata_item_metadata.rb +28 -0
- data/lib/fog/vcloud_director/requests/compute/get_organizations.rb +52 -0
- data/lib/fog/vcloud_director/requests/compute/get_organizations_from_query.rb +95 -0
- data/lib/fog/vcloud_director/requests/compute/get_product_sections_vapp.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_product_sections_vapp_template.rb +26 -0
- data/lib/fog/vcloud_director/requests/compute/get_request.rb +19 -0
- data/lib/fog/vcloud_director/requests/compute/get_runtime_info_section_type.rb +57 -0
- data/lib/fog/vcloud_director/requests/compute/get_serial_ports_items_list.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_shadow_vm.rb +24 -0
- data/lib/fog/vcloud_director/requests/compute/get_snapshot_section.rb +55 -0
- data/lib/fog/vcloud_director/requests/compute/get_startup_section.rb +64 -0
- data/lib/fog/vcloud_director/requests/compute/get_supported_systems_info.rb +239 -0
- data/lib/fog/vcloud_director/requests/compute/get_supported_versions.rb +1159 -0
- data/lib/fog/vcloud_director/requests/compute/get_task.rb +168 -0
- data/lib/fog/vcloud_director/requests/compute/get_task_list.rb +130 -0
- data/lib/fog/vcloud_director/requests/compute/get_template_vm.rb +74 -0
- data/lib/fog/vcloud_director/requests/compute/get_template_vms.rb +41 -0
- data/lib/fog/vcloud_director/requests/compute/get_thumbnail.rb +28 -0
- data/lib/fog/vcloud_director/requests/compute/get_users_from_query.rb +95 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp.rb +176 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_metadata.rb +84 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_metadata_item_metadata.rb +26 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_ovf_descriptor.rb +24 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_owner.rb +58 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_template.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_template_customization_system_section.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_template_metadata.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_template_metadata_item_metadata.rb +27 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_template_ovf_descriptor.rb +24 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_template_owner.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapp_templates_from_query.rb +95 -0
- data/lib/fog/vcloud_director/requests/compute/get_vapps_in_lease_from_query.rb +94 -0
- data/lib/fog/vcloud_director/requests/compute/get_vcloud.rb +76 -0
- data/lib/fog/vcloud_director/requests/compute/get_vdc.rb +174 -0
- data/lib/fog/vcloud_director/requests/compute/get_vdc_metadata.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_vdc_metadata_item_metadata.rb +28 -0
- data/lib/fog/vcloud_director/requests/compute/get_vdc_storage_class.rb +83 -0
- data/lib/fog/vcloud_director/requests/compute/get_vdc_storage_class_metadata.rb +27 -0
- data/lib/fog/vcloud_director/requests/compute/get_vdc_storage_class_metadata_item_metadata.rb +25 -0
- data/lib/fog/vcloud_director/requests/compute/get_vdcs_from_query.rb +94 -0
- data/lib/fog/vcloud_director/requests/compute/get_virtual_hardware_section.rb +29 -0
- data/lib/fog/vcloud_director/requests/compute/get_vm.rb +74 -0
- data/lib/fog/vcloud_director/requests/compute/get_vm_capabilities.rb +61 -0
- data/lib/fog/vcloud_director/requests/compute/get_vm_compliance_results.rb +24 -0
- data/lib/fog/vcloud_director/requests/compute/get_vm_customization.rb +31 -0
- data/lib/fog/vcloud_director/requests/compute/get_vm_disks.rb +51 -0
- data/lib/fog/vcloud_director/requests/compute/get_vm_network.rb +56 -0
- data/lib/fog/vcloud_director/requests/compute/get_vm_pending_question.rb +34 -0
- data/lib/fog/vcloud_director/requests/compute/get_vms.rb +41 -0
- data/lib/fog/vcloud_director/requests/compute/get_vms_by_metadata.rb +20 -0
- data/lib/fog/vcloud_director/requests/compute/get_vms_disk_attached_to.rb +39 -0
- data/lib/fog/vcloud_director/requests/compute/get_vms_in_lease_from_query.rb +150 -0
- data/lib/fog/vcloud_director/requests/compute/instantiate_vapp_template.rb +173 -0
- data/lib/fog/vcloud_director/requests/compute/post_acquire_ticket.rb +27 -0
- data/lib/fog/vcloud_director/requests/compute/post_answer_vm_pending_question.rb +36 -0
- data/lib/fog/vcloud_director/requests/compute/post_attach_disk.rb +51 -0
- data/lib/fog/vcloud_director/requests/compute/post_cancel_task.rb +43 -0
- data/lib/fog/vcloud_director/requests/compute/post_capture_vapp.rb +70 -0
- data/lib/fog/vcloud_director/requests/compute/post_check_vm_compliance.rb +28 -0
- data/lib/fog/vcloud_director/requests/compute/post_clone_media.rb +102 -0
- data/lib/fog/vcloud_director/requests/compute/post_clone_vapp.rb +62 -0
- data/lib/fog/vcloud_director/requests/compute/post_clone_vapp_template.rb +52 -0
- data/lib/fog/vcloud_director/requests/compute/post_compose_vapp.rb +45 -0
- data/lib/fog/vcloud_director/requests/compute/post_configure_edge_gateway_services.rb +73 -0
- data/lib/fog/vcloud_director/requests/compute/post_consolidate_vm_vapp.rb +27 -0
- data/lib/fog/vcloud_director/requests/compute/post_consolidate_vm_vapp_template.rb +27 -0
- data/lib/fog/vcloud_director/requests/compute/post_create_catalog_item.rb +56 -0
- data/lib/fog/vcloud_director/requests/compute/post_create_org_vdc_network.rb +171 -0
- data/lib/fog/vcloud_director/requests/compute/post_create_snapshot.rb +21 -0
- data/lib/fog/vcloud_director/requests/compute/post_deploy_vapp.rb +51 -0
- data/lib/fog/vcloud_director/requests/compute/post_detach_disk.rb +39 -0
- data/lib/fog/vcloud_director/requests/compute/post_disable_nested_hv.rb +27 -0
- data/lib/fog/vcloud_director/requests/compute/post_disable_vapp_template_download.rb +24 -0
- data/lib/fog/vcloud_director/requests/compute/post_discard_vapp_state.rb +30 -0
- data/lib/fog/vcloud_director/requests/compute/post_eject_cd_rom.rb +39 -0
- data/lib/fog/vcloud_director/requests/compute/post_enable_nested_hv.rb +27 -0
- data/lib/fog/vcloud_director/requests/compute/post_enable_vapp_template_download.rb +24 -0
- data/lib/fog/vcloud_director/requests/compute/post_enter_maintenance_mode.rb +26 -0
- data/lib/fog/vcloud_director/requests/compute/post_exit_maintenance_mode.rb +22 -0
- data/lib/fog/vcloud_director/requests/compute/post_insert_cd_rom.rb +39 -0
- data/lib/fog/vcloud_director/requests/compute/post_install_vmware_tools.rb +27 -0
- data/lib/fog/vcloud_director/requests/compute/post_instantiate_vapp_template.rb +196 -0
- data/lib/fog/vcloud_director/requests/compute/post_login_session.rb +39 -0
- data/lib/fog/vcloud_director/requests/compute/post_power_off_vapp.rb +36 -0
- data/lib/fog/vcloud_director/requests/compute/post_power_on_vapp.rb +71 -0
- data/lib/fog/vcloud_director/requests/compute/post_reboot_vapp.rb +33 -0
- data/lib/fog/vcloud_director/requests/compute/post_recompose_vapp.rb +21 -0
- data/lib/fog/vcloud_director/requests/compute/post_reconfigure_vm.rb +118 -0
- data/lib/fog/vcloud_director/requests/compute/post_remove_all_snapshots.rb +27 -0
- data/lib/fog/vcloud_director/requests/compute/post_reset_vapp.rb +33 -0
- data/lib/fog/vcloud_director/requests/compute/post_revert_snapshot.rb +27 -0
- data/lib/fog/vcloud_director/requests/compute/post_shutdown_vapp.rb +33 -0
- data/lib/fog/vcloud_director/requests/compute/post_suspend_vapp.rb +33 -0
- data/lib/fog/vcloud_director/requests/compute/post_undeploy_vapp.rb +66 -0
- data/lib/fog/vcloud_director/requests/compute/post_update_catalog_item_metadata.rb +52 -0
- data/lib/fog/vcloud_director/requests/compute/post_update_disk_metadata.rb +52 -0
- data/lib/fog/vcloud_director/requests/compute/post_update_media_metadata.rb +52 -0
- data/lib/fog/vcloud_director/requests/compute/post_update_vapp_metadata.rb +86 -0
- data/lib/fog/vcloud_director/requests/compute/post_update_vapp_template_metadata.rb +52 -0
- data/lib/fog/vcloud_director/requests/compute/post_upgrade_hw_version.rb +28 -0
- data/lib/fog/vcloud_director/requests/compute/post_upload_disk.rb +133 -0
- data/lib/fog/vcloud_director/requests/compute/post_upload_media.rb +120 -0
- data/lib/fog/vcloud_director/requests/compute/post_upload_vapp_template.rb +46 -0
- data/lib/fog/vcloud_director/requests/compute/put_catalog_item_metadata_item_metadata.rb +50 -0
- data/lib/fog/vcloud_director/requests/compute/put_cpu.rb +88 -0
- data/lib/fog/vcloud_director/requests/compute/put_disk_metadata_item_metadata.rb +46 -0
- data/lib/fog/vcloud_director/requests/compute/put_disks.rb +39 -0
- data/lib/fog/vcloud_director/requests/compute/put_guest_customization_section_vapp.rb +141 -0
- data/lib/fog/vcloud_director/requests/compute/put_media_metadata_item_metadata.rb +50 -0
- data/lib/fog/vcloud_director/requests/compute/put_memory.rb +89 -0
- data/lib/fog/vcloud_director/requests/compute/put_metadata_value.rb +26 -0
- data/lib/fog/vcloud_director/requests/compute/put_network.rb +162 -0
- data/lib/fog/vcloud_director/requests/compute/put_network_connection_system_section_vapp.rb +152 -0
- data/lib/fog/vcloud_director/requests/compute/put_product_sections.rb +46 -0
- data/lib/fog/vcloud_director/requests/compute/put_vapp_metadata_item_metadata.rb +85 -0
- data/lib/fog/vcloud_director/requests/compute/put_vapp_name_and_description.rb +36 -0
- data/lib/fog/vcloud_director/requests/compute/put_vapp_template_metadata_item_metadata.rb +50 -0
- data/lib/fog/vcloud_director/requests/compute/put_vm.rb +72 -0
- data/lib/fog/vcloud_director/requests/compute/put_vm_capabilities.rb +44 -0
- data/lib/fog/vcloud_director/version.rb +5 -0
- data/spec/spec_helper.rb +15 -0
- data/spec/vcloud_director/generators/compute/instantiate_vapp_template_params_spec.rb +68 -0
- data/spec/vcloud_director/requests/compute/instantiate_vapp_template_spec.rb +78 -0
- data/spec/vcloud_director/spec_helper.rb +11 -0
- data/tasks/bundler.rake +3 -0
- data/tasks/console.rake +12 -0
- data/tasks/lint.rake +3 -0
- data/tasks/test.rake +13 -0
- data/tests/helper.rb +32 -0
- data/tests/helpers/collection_helper.rb +97 -0
- data/tests/helpers/compute/flavors_helper.rb +32 -0
- data/tests/helpers/compute/server_helper.rb +25 -0
- data/tests/helpers/compute/servers_helper.rb +10 -0
- data/tests/helpers/formats_helper.rb +98 -0
- data/tests/helpers/formats_helper_tests.rb +110 -0
- data/tests/helpers/mock_helper.rb +95 -0
- data/tests/helpers/model_helper.rb +31 -0
- data/tests/helpers/responds_to_helper.rb +11 -0
- data/tests/helpers/schema_validator_tests.rb +107 -0
- data/tests/helpers/succeeds_helper.rb +9 -0
- data/tests/lorem.txt +1 -0
- data/tests/vcloud_director/ensure_list_tests.rb +84 -0
- data/tests/vcloud_director/fixtures/test.iso +1 -0
- data/tests/vcloud_director/fixtures/vapp.xml +532 -0
- data/tests/vcloud_director/fixtures/vm.xml +213 -0
- data/tests/vcloud_director/generators/compute/compose_vapp_tests.rb +108 -0
- data/tests/vcloud_director/models/compute/catalog_items_tests.rb +42 -0
- data/tests/vcloud_director/models/compute/catalogs_tests.rb +40 -0
- data/tests/vcloud_director/models/compute/helper.rb +60 -0
- data/tests/vcloud_director/models/compute/media_tests.rb +58 -0
- data/tests/vcloud_director/models/compute/network_tests.rb +108 -0
- data/tests/vcloud_director/models/compute/organizations_tests.rb +18 -0
- data/tests/vcloud_director/models/compute/tasks_tests.rb +56 -0
- data/tests/vcloud_director/models/compute/vapp_life_cycle_tests.rb +93 -0
- data/tests/vcloud_director/models/compute/vapp_template_tests.rb +29 -0
- data/tests/vcloud_director/models/compute/vapp_tests.rb +61 -0
- data/tests/vcloud_director/models/compute/vdcs_tests.rb +54 -0
- data/tests/vcloud_director/models/compute/vms_tests.rb +101 -0
- data/tests/vcloud_director/requests/compute/admin_tests.rb +16 -0
- data/tests/vcloud_director/requests/compute/catalog_tests.rb +42 -0
- data/tests/vcloud_director/requests/compute/disk_tests.rb +178 -0
- data/tests/vcloud_director/requests/compute/edge_gateway_tests.rb +217 -0
- data/tests/vcloud_director/requests/compute/groups_tests.rb +18 -0
- data/tests/vcloud_director/requests/compute/helper.rb +32 -0
- data/tests/vcloud_director/requests/compute/media_tests.rb +195 -0
- data/tests/vcloud_director/requests/compute/network_tests.rb +186 -0
- data/tests/vcloud_director/requests/compute/organization_tests.rb +37 -0
- data/tests/vcloud_director/requests/compute/ovf_descriptor_tests.rb +36 -0
- data/tests/vcloud_director/requests/compute/query_tests.rb +99 -0
- data/tests/vcloud_director/requests/compute/schema_helper.rb +663 -0
- data/tests/vcloud_director/requests/compute/session_tests.rb +14 -0
- data/tests/vcloud_director/requests/compute/supported_systems_tests.rb +11 -0
- data/tests/vcloud_director/requests/compute/task_tests.rb +35 -0
- data/tests/vcloud_director/requests/compute/users_tests.rb +18 -0
- data/tests/vcloud_director/requests/compute/vapp_tests.rb +123 -0
- data/tests/vcloud_director/requests/compute/vdc_storage_profile_tests.rb +27 -0
- data/tests/vcloud_director/requests/compute/vdc_tests.rb +36 -0
- data/tests/vcloud_director/requests/compute/versions_tests.rb +13 -0
- data/tests/vcloud_director/requests/compute/vm_tests.rb +185 -0
- data/tests/watchr.rb +22 -0
- metadata +461 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieve metadata associated with a media object.
|
|
6
|
+
#
|
|
7
|
+
# @param [String] id Object identifier of the media object
|
|
8
|
+
# @return [Excon::Response]
|
|
9
|
+
# * body<~Hash>:
|
|
10
|
+
#
|
|
11
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-MediaMetadata.html
|
|
12
|
+
# @since vCloud API version 1.5
|
|
13
|
+
def get_media_metadata(id)
|
|
14
|
+
request(
|
|
15
|
+
:expects => 200,
|
|
16
|
+
:idempotent => true,
|
|
17
|
+
:method => 'GET',
|
|
18
|
+
:parser => Fog::ToHashDocument.new,
|
|
19
|
+
:path => "media/#{id}/metadata"
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieve the value of the specified key from media object metadata.
|
|
6
|
+
#
|
|
7
|
+
# @param [String] id Object identifier of the media object.
|
|
8
|
+
# @param [String] key Key of the metadata.
|
|
9
|
+
# @return [Excon::Response]
|
|
10
|
+
# * body<~Hash>:
|
|
11
|
+
#
|
|
12
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-MediaMetadataItem-metadata.html
|
|
13
|
+
# @since vCloud API version 1.5
|
|
14
|
+
def get_media_metadata_item_metadata(id, key)
|
|
15
|
+
request(
|
|
16
|
+
:expects => 200,
|
|
17
|
+
:idempotent => true,
|
|
18
|
+
:method => 'GET',
|
|
19
|
+
:parser => Fog::ToHashDocument.new,
|
|
20
|
+
:path => "media/#{id}/metadata/#{URI.escape(key)})"
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieve the owner of a media object.
|
|
6
|
+
#
|
|
7
|
+
# @param [String] id Object identifier of the media object.
|
|
8
|
+
# @return [Excon::Response]
|
|
9
|
+
# * body<~Hash>:
|
|
10
|
+
# * :href<~String> - The URI of the media object.
|
|
11
|
+
# * :type<~String> - The MIME type of the media object.
|
|
12
|
+
# * :Link<~Hash>:
|
|
13
|
+
# * :href<~String> -
|
|
14
|
+
# * :type<~String> -
|
|
15
|
+
# * :rel<~String> -
|
|
16
|
+
# * :User<~Hash> - Reference to the user who is the owner of this
|
|
17
|
+
# media object.
|
|
18
|
+
# * :href<~String> - The URI of the user.
|
|
19
|
+
# * :name<~String> - The name of the user.
|
|
20
|
+
# * :type<~String> - The MIME type of the user.
|
|
21
|
+
#
|
|
22
|
+
# @raise [Fog::Compute::VcloudDirector::Forbidden]
|
|
23
|
+
#
|
|
24
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-MediaOwner.html
|
|
25
|
+
# @since vCloud API version 1.5
|
|
26
|
+
def get_media_owner(id)
|
|
27
|
+
request(
|
|
28
|
+
:expects => 200,
|
|
29
|
+
:idempotent => true,
|
|
30
|
+
:method => 'GET',
|
|
31
|
+
:parser => Fog::ToHashDocument.new,
|
|
32
|
+
:path => "media/#{id}/owner"
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
class Mock
|
|
38
|
+
def get_media_owner(id)
|
|
39
|
+
unless data[:medias][id]
|
|
40
|
+
raise Fog::Compute::VcloudDirector::Forbidden.new(
|
|
41
|
+
'No access to entity "com.vmware.vcloud.entity.media:%s".' % id
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
body = {
|
|
46
|
+
:xmlns => xmlns,
|
|
47
|
+
:xmlns_xsi => xmlns_xsi,
|
|
48
|
+
:xsi_schemaLocation => xsi_schema_location,
|
|
49
|
+
:Link => {
|
|
50
|
+
:href => make_href("media/#{id}"),
|
|
51
|
+
:type => 'application/vnd.vmware.vcloud.media+xml',
|
|
52
|
+
:rel => 'up'
|
|
53
|
+
},
|
|
54
|
+
:User => {
|
|
55
|
+
:href => make_href("admin/user/#{user_uuid}"),
|
|
56
|
+
:name => user_name,
|
|
57
|
+
:type => 'application/vnd.vmware.admin.user+xml',
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
Excon::Response.new(
|
|
62
|
+
:status => 200,
|
|
63
|
+
:headers => {'Content-Type' => "#{body[:type]};version=#{@version}"},
|
|
64
|
+
:body => body
|
|
65
|
+
)
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieves a media list by using REST API general QueryHandler.
|
|
6
|
+
#
|
|
7
|
+
# @param [Hash] options
|
|
8
|
+
# @option options [String] :sortAsc (Sorted by database ID) Sort
|
|
9
|
+
# results by attribute-name in ascending order. attribute-name cannot
|
|
10
|
+
# include metadata.
|
|
11
|
+
# @option options [String] :sortDesc (Sorted by database ID) Sort
|
|
12
|
+
# results by attribute-name in descending order. attribute-name
|
|
13
|
+
# cannot include metadata.
|
|
14
|
+
# @option options [Integer] :page (1) If the query results span
|
|
15
|
+
# multiple pages, return this page.
|
|
16
|
+
# @option options [Integer] :pageSize (25) Number of results per page,
|
|
17
|
+
# to a maximum of 128.
|
|
18
|
+
# @option options [String] :format (records) One of the following
|
|
19
|
+
# types:
|
|
20
|
+
# - *references* Returns a reference to each object, including its
|
|
21
|
+
# :name, :type, and :href attributes.
|
|
22
|
+
# - *records* Returns all database records for each object, with each
|
|
23
|
+
# record as an attribute.
|
|
24
|
+
# - *idrecords* Identical to the records format, except that object
|
|
25
|
+
# references are returned in :id format rather than :href format.
|
|
26
|
+
# @option options [Array<String>] :fields (all static attribute names)
|
|
27
|
+
# List of attribute names or metadata key names to return.
|
|
28
|
+
# @option options [Integer] :offset (0) Integer value specifying the
|
|
29
|
+
# first record to return. Record numbers < offset are not returned.
|
|
30
|
+
# @option options [String] :filter (none) Filter expression.
|
|
31
|
+
# @return [Excon::Response]
|
|
32
|
+
# * hash<~Hash>:
|
|
33
|
+
# * :href<~String> - The URI of the entity.
|
|
34
|
+
# * :type<~String> - The MIME type of the entity.
|
|
35
|
+
# * :name<~String> - Query name that generated this result set.
|
|
36
|
+
# * :page<~String> - Page of the result set that this container
|
|
37
|
+
# holds. The first page is page number 1.
|
|
38
|
+
# * :pageSize<~String> - Page size, as a number of records or
|
|
39
|
+
# references.
|
|
40
|
+
# * :total<~String> - Total number of records or references in the
|
|
41
|
+
# container.
|
|
42
|
+
# * :Link<~Array<Hash>>:
|
|
43
|
+
# * :href<~String> - Contains the URI to the entity.
|
|
44
|
+
# * :type<~String> - Contains the type of the entity.
|
|
45
|
+
# * :rel<~String> - Defines the relationship of the link to the
|
|
46
|
+
# object that contains it.
|
|
47
|
+
# * :MediaRecord<~Array<Hash>>:
|
|
48
|
+
# * TODO
|
|
49
|
+
# * :firstPage<~Integer> - First page in the result set.
|
|
50
|
+
# * :previousPage<~Integer> - Previous page in the result set.
|
|
51
|
+
# * :nextPage<~Integer> - Next page in the result set.
|
|
52
|
+
# * :lastPage<~Integer> - Last page in the result set.
|
|
53
|
+
#
|
|
54
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-MediasFromQuery.html
|
|
55
|
+
# @since vCloud API version 1.5
|
|
56
|
+
def get_medias_from_query(options={})
|
|
57
|
+
query = []
|
|
58
|
+
query << "sortAsc=#{options[:sortAsc]}" if options[:sortAsc]
|
|
59
|
+
query << "sortDesc=#{options[:sortDesc]}" if options[:sortDesc]
|
|
60
|
+
query << "page=#{options[:page]}" if options[:page]
|
|
61
|
+
query << "pageSize=#{options[:pageSize]}" if options[:pageSize]
|
|
62
|
+
query << "format=#{options[:format]}" if options[:format]
|
|
63
|
+
query << "fields=#{Array(options[:fields]).join(',')}" if options[:fields]
|
|
64
|
+
query << "offset=#{options[:offset]}" if options[:offset]
|
|
65
|
+
query << "filter=#{options[:filter]}" if options[:filter]
|
|
66
|
+
|
|
67
|
+
response = request(
|
|
68
|
+
:expects => 200,
|
|
69
|
+
:idempotent => true,
|
|
70
|
+
:method => 'GET',
|
|
71
|
+
:parser => Fog::ToHashDocument.new,
|
|
72
|
+
:path => 'mediaList/query',
|
|
73
|
+
:query => query.map {|q| URI.escape(q)}.join('&')
|
|
74
|
+
)
|
|
75
|
+
ensure_list! response.body, :Link
|
|
76
|
+
ensure_list! response.body,
|
|
77
|
+
response.body[:type] == 'application/vnd.vmware.vcloud.query.references+xml' ?
|
|
78
|
+
:MediaReference : :MediaRecord
|
|
79
|
+
|
|
80
|
+
%w[firstPage previousPage nextPage lastPage].each do |rel|
|
|
81
|
+
if link = response.body[:Link].find {|l| l[:rel] == rel}
|
|
82
|
+
href = Nokogiri::XML.fragment(link[:href])
|
|
83
|
+
query = CGI.parse(URI.parse(href.text).query)
|
|
84
|
+
response.body[rel.to_sym] = query['page'].first.to_i
|
|
85
|
+
response.body[:pageSize] ||= query['pageSize'].first.to_i
|
|
86
|
+
end
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
response
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
end
|
|
93
|
+
end
|
|
94
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
extend Fog::Deprecation
|
|
6
|
+
deprecate :get_vm_memory, :get_memory_rasd_item
|
|
7
|
+
|
|
8
|
+
# Retrieve the RASD item that specifies memory properties of a VM.
|
|
9
|
+
#
|
|
10
|
+
# @param [String] id Object identifier of the VM.
|
|
11
|
+
# @return [Excon::Response]
|
|
12
|
+
# * body<~Hash>:
|
|
13
|
+
#
|
|
14
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-MemoryRasdItem.html
|
|
15
|
+
# @since vCloud API version 0.9
|
|
16
|
+
def get_memory_rasd_item(id)
|
|
17
|
+
request(
|
|
18
|
+
:expects => 200,
|
|
19
|
+
:idempotent => true,
|
|
20
|
+
:method => 'GET',
|
|
21
|
+
:parser => Fog::ToHashDocument.new,
|
|
22
|
+
:path => "vApp/#{id}/virtualHardwareSection/memory"
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
class Mock
|
|
28
|
+
|
|
29
|
+
def get_memory_rasd_item(id)
|
|
30
|
+
type = 'application/vnd.vmware.vcloud.rasdItem+xml'
|
|
31
|
+
|
|
32
|
+
unless vm = data[:vms][id]
|
|
33
|
+
raise Fog::Compute::VcloudDirector::Forbidden.new(
|
|
34
|
+
'This operation is denied.'
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
Excon::Response.new(
|
|
39
|
+
:status => 200,
|
|
40
|
+
:headers => {'Content-Type' => "#{type};version=#{api_version}"},
|
|
41
|
+
:body => get_memory_rasd_item_body(id, vm)
|
|
42
|
+
)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def get_memory_rasd_item_body(id, vm)
|
|
46
|
+
{
|
|
47
|
+
:ns12_href => make_href("vApp/#{id}/virtualHardwareSection/memory"),
|
|
48
|
+
:ns12_type=>"application/vnd.vmware.vcloud.rasdItem+xml",
|
|
49
|
+
:"rasd:AllocationUnits"=>"byte * 2^20",
|
|
50
|
+
:"rasd:Description"=>"Memory Size",
|
|
51
|
+
:"rasd:ElementName"=>"#{vm[:memory_in_mb]} MB of memory",
|
|
52
|
+
:"rasd:InstanceID"=>"5",
|
|
53
|
+
:"rasd:Reservation"=>"0",
|
|
54
|
+
:"rasd:ResourceType"=>"4",
|
|
55
|
+
:"rasd:VirtualQuantity"=>"#{vm[:memory_in_mb]}",
|
|
56
|
+
:"rasd:Weight"=>"0",
|
|
57
|
+
}
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieve metadata associated with the vApp or VM.
|
|
6
|
+
#
|
|
7
|
+
# @deprecated Use {#get_vapp_metadata} instead.
|
|
8
|
+
# @todo Log deprecation warning.
|
|
9
|
+
#
|
|
10
|
+
# @param [String] id Object identifier of the vApp or VM.
|
|
11
|
+
# @return [Excon::Response]
|
|
12
|
+
# * body<~Hash>:
|
|
13
|
+
#
|
|
14
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-VAppMetadata.html
|
|
15
|
+
# @since vCloud API version 1.5
|
|
16
|
+
def get_metadata(id)
|
|
17
|
+
require 'fog/vcloud_director/parsers/compute/metadata'
|
|
18
|
+
|
|
19
|
+
request(
|
|
20
|
+
:expects => 200,
|
|
21
|
+
:idempotent => true,
|
|
22
|
+
:method => 'GET',
|
|
23
|
+
:parser => Fog::Parsers::Compute::VcloudDirector::Metadata.new,
|
|
24
|
+
:path => "vApp/#{id}/metadata/"
|
|
25
|
+
)
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
class Mock
|
|
29
|
+
def get_metadata(id)
|
|
30
|
+
tags = data[:tags][id] || {}
|
|
31
|
+
body = {:type => 'application/vnd.vmware.vcloud.metadata+xml', :metadata => tags}
|
|
32
|
+
Excon::Response.new(
|
|
33
|
+
:status => 200,
|
|
34
|
+
:headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
|
|
35
|
+
:body => body
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
require 'fog/vcloud_director/parsers/compute/network'
|
|
6
|
+
|
|
7
|
+
# Retrieve an organization network.
|
|
8
|
+
#
|
|
9
|
+
# @deprecated Use {#get_network_complete} instead
|
|
10
|
+
#
|
|
11
|
+
# @param [String] id Object identifier of the network.
|
|
12
|
+
# @return [Excon::Response]
|
|
13
|
+
# * body<~Hash>:
|
|
14
|
+
#
|
|
15
|
+
# @raise [Fog::Compute::VcloudDirector::Forbidden]
|
|
16
|
+
#
|
|
17
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-Network.html
|
|
18
|
+
# @since vCloud API version 0.9
|
|
19
|
+
def get_network(id)
|
|
20
|
+
Fog::Logger.deprecation("#{self} => #get_network is deprecated, use #get_network_complete instead [light_black](#{caller.first})[/]")
|
|
21
|
+
request(
|
|
22
|
+
:expects => 200,
|
|
23
|
+
:idempotent => true,
|
|
24
|
+
:method => 'GET',
|
|
25
|
+
:parser => Fog::Parsers::Compute::VcloudDirector::Network.new,
|
|
26
|
+
:path => "network/#{id}"
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
class Mock
|
|
32
|
+
def get_network(id)
|
|
33
|
+
Fog::Logger.deprecation("#{self} => #get_network is deprecated, use #get_network_complete instead [light_black](#{caller.first})[/]")
|
|
34
|
+
unless network = data[:networks][id]
|
|
35
|
+
raise Fog::Compute::VcloudDirector::Forbidden.new(
|
|
36
|
+
'This operation is denied.'
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
body =
|
|
41
|
+
{:name=>network[:name],
|
|
42
|
+
:href=>make_href("network/#{id}"),
|
|
43
|
+
:type=>"application/vnd.vmware.vcloud.orgNetwork+xml",
|
|
44
|
+
:id=>id,
|
|
45
|
+
:description=>nil,
|
|
46
|
+
:is_inherited=>network[:IsInherited],
|
|
47
|
+
:gateway=>network[:Gateway],
|
|
48
|
+
:netmask=>network[:Netmask],
|
|
49
|
+
:dns1=>network[:Dns1],
|
|
50
|
+
:dns2=>network[:Dns2],
|
|
51
|
+
:dns_suffix=>network[:DnsSuffix]}
|
|
52
|
+
|
|
53
|
+
body[:ip_ranges] = network[:IpRanges].map do |ip_range|
|
|
54
|
+
{:start_address=>ip_range[:StartAddress],
|
|
55
|
+
:end_address=>ip_range[:EndAddress]}
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
Excon::Response.new(
|
|
59
|
+
:status => 200,
|
|
60
|
+
:headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
|
|
61
|
+
:body => body
|
|
62
|
+
)
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieve all RASD items that specify network card properties of a VM.
|
|
6
|
+
#
|
|
7
|
+
# @param [String] id Object identifier of the VM.
|
|
8
|
+
# @return [Excon::Response]
|
|
9
|
+
# * body<~Hash>:
|
|
10
|
+
#
|
|
11
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-NetworkCardsItemsList.html
|
|
12
|
+
# @since vCloud API version 0.9
|
|
13
|
+
def get_network_cards_items_list(id)
|
|
14
|
+
request(
|
|
15
|
+
:expects => 200,
|
|
16
|
+
:idempotent => true,
|
|
17
|
+
:method => 'GET',
|
|
18
|
+
:parser => Fog::ToHashDocument.new,
|
|
19
|
+
:path => "vApp/#{id}/virtualHardwareSection/networkCards"
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
class Mock
|
|
25
|
+
def get_network_cards_items_list(id)
|
|
26
|
+
type = 'application/vnd.vmware.vcloud.rasdItemsList+xml'
|
|
27
|
+
|
|
28
|
+
unless vm = data[:vms][id]
|
|
29
|
+
raise Fog::Compute::VcloudDirector::Forbidden.new(
|
|
30
|
+
'This operation is denied.'
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
body = {
|
|
35
|
+
:type => type,
|
|
36
|
+
:href => make_href("vApp/#{id}/virtualHardwareSection/networkCards"),
|
|
37
|
+
:Link => {
|
|
38
|
+
:rel=>"edit",
|
|
39
|
+
:type=>"application/vnd.vmware.vcloud.rasdItemsList+xml",
|
|
40
|
+
:href=>make_href("vApp/#{id}/virtualHardwareSection/networkCards"),
|
|
41
|
+
},
|
|
42
|
+
:Item => get_network_cards_rasd_items_list_body(id, vm)
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
Excon::Response.new(
|
|
46
|
+
:status => 200,
|
|
47
|
+
:headers => {'Content-Type' => "#{type};version=#{api_version}"},
|
|
48
|
+
:body => body
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
def get_network_cards_rasd_items_list_body(id, vm)
|
|
54
|
+
[{
|
|
55
|
+
:"rasd:Address" => vm[:nics][0][:mac_address],
|
|
56
|
+
:"rasd:AddressOnParent" => "0",
|
|
57
|
+
:"rasd:AutomaticAllocation" => "true",
|
|
58
|
+
:"rasd:Connection" => vm[:nics][0][:network_name],
|
|
59
|
+
:"rasd:Description" => "E1000 ethernet adapter",
|
|
60
|
+
:"rasd:ElementName" => "Network adapter 0",
|
|
61
|
+
:"rasd:InstanceID" => "1",
|
|
62
|
+
:"rasd:ResourceSubType" => "E1000",
|
|
63
|
+
:"rasd:ResourceType" => "10"
|
|
64
|
+
}]
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|