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,63 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieve a catalog.
|
|
6
|
+
#
|
|
7
|
+
# @param [String] id Object identifier of the catalog.
|
|
8
|
+
# @return [Excon::Response]
|
|
9
|
+
# * hash<~Hash>:
|
|
10
|
+
#
|
|
11
|
+
# @raise [Fog::Compute::VcloudDirector::Forbidden]
|
|
12
|
+
#
|
|
13
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-Catalog.html
|
|
14
|
+
# @since vCloud API version 0.9
|
|
15
|
+
def get_catalog(id)
|
|
16
|
+
response = request(
|
|
17
|
+
:expects => 200,
|
|
18
|
+
:idempotent => true,
|
|
19
|
+
:method => 'GET',
|
|
20
|
+
:parser => Fog::ToHashDocument.new,
|
|
21
|
+
:path => "catalog/#{id}"
|
|
22
|
+
)
|
|
23
|
+
ensure_list! response.body, :CatalogItems, :CatalogItem
|
|
24
|
+
response
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
class Mock
|
|
29
|
+
def get_catalog(id)
|
|
30
|
+
unless catalog = data[:catalogs][id]
|
|
31
|
+
raise Fog::Compute::VcloudDirector::Forbidden.new(
|
|
32
|
+
"No access to entity \"(com.vmware.vcloud.entity.catalog:#{id})\"."
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
items = data[:catalog_items].select {|_,v| v[:catalog] == id}
|
|
37
|
+
|
|
38
|
+
body = {
|
|
39
|
+
:href => make_href("catalog/#{id}"),
|
|
40
|
+
:type => 'application/vnd.vmware.vcloud.catalog+xml',
|
|
41
|
+
:id => id,
|
|
42
|
+
:name => catalog[:name],
|
|
43
|
+
:CatalogItems => {
|
|
44
|
+
:CatalogItem => items.map do |uuid,item|
|
|
45
|
+
{
|
|
46
|
+
:href => make_href("catalogItem/#{uuid}"),
|
|
47
|
+
:id => uuid,
|
|
48
|
+
:name => item[:name],
|
|
49
|
+
:type => 'application/vnd.vmware.vcloud.catalogItem+xml'
|
|
50
|
+
}
|
|
51
|
+
end
|
|
52
|
+
},
|
|
53
|
+
}
|
|
54
|
+
Excon::Response.new(
|
|
55
|
+
:status => 200,
|
|
56
|
+
:headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
|
|
57
|
+
:body => body
|
|
58
|
+
)
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
end
|
|
62
|
+
end
|
|
63
|
+
end
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieve a catalog item.
|
|
6
|
+
#
|
|
7
|
+
# @param [String] id Object identifier of the catalog item.
|
|
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-CatalogItem.html
|
|
12
|
+
# @since vCloud API version 0.9
|
|
13
|
+
def get_catalog_item(id)
|
|
14
|
+
request(
|
|
15
|
+
:expects => 200,
|
|
16
|
+
:idempotent => true,
|
|
17
|
+
:method => 'GET',
|
|
18
|
+
:parser => Fog::ToHashDocument.new,
|
|
19
|
+
:path => "catalogItem/#{id}"
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
class Mock
|
|
24
|
+
def get_catalog_item(id)
|
|
25
|
+
unless item = data[:catalog_items][id]
|
|
26
|
+
raise Fog::Compute::VcloudDirector::Forbidden.new(
|
|
27
|
+
"No access to entity \"(com.vmware.vcloud.entity.catalogItem:#{id})\"."
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
body = {
|
|
31
|
+
:href => make_href("catalogItem/#{id}"),
|
|
32
|
+
:id => id,
|
|
33
|
+
:name => item[:name],
|
|
34
|
+
:type => 'application/vnd.vmware.vcloud.catalogItem+xml',
|
|
35
|
+
:Entity => {
|
|
36
|
+
:href => make_href("vAppTemplate/#{item[:template_id]}")
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
Excon::Response.new(
|
|
40
|
+
:status => 200,
|
|
41
|
+
:headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
|
|
42
|
+
:body => body
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
end
|
|
48
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieve all metadata associated with a catalog item.
|
|
6
|
+
#
|
|
7
|
+
# @param [String] id Object identifier of the catalog item.
|
|
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-CatalogItemMetadata.html
|
|
12
|
+
# @since vCloud API version 1.5
|
|
13
|
+
def get_catalog_item_metadata(id)
|
|
14
|
+
request(
|
|
15
|
+
:expects => 200,
|
|
16
|
+
:idempotent => true,
|
|
17
|
+
:method => 'GET',
|
|
18
|
+
:parser => Fog::ToHashDocument.new,
|
|
19
|
+
:path => "catalogItem/#{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 catalog item metadata.
|
|
6
|
+
#
|
|
7
|
+
# @param [String] id Object identifier of the catalog item.
|
|
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-CatalogItemMetadataItem-metadata.html
|
|
13
|
+
# @since vCloud API version 1.5
|
|
14
|
+
def get_catalog_item_metadata_item_metadata(id, key)
|
|
15
|
+
request(
|
|
16
|
+
:expects => 200,
|
|
17
|
+
:idempotent => true,
|
|
18
|
+
:method => 'GET',
|
|
19
|
+
:parser => Fog::ToHashDocument.new,
|
|
20
|
+
:path => "catalogItem/#{id}/metadata/#{URI.escape(key)})"
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieve all catalog metadata.
|
|
6
|
+
#
|
|
7
|
+
# @param [String] id Object identifier of the catalog.
|
|
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-CatalogMetadata.html
|
|
12
|
+
# @since vCloud API version 1.5
|
|
13
|
+
def get_catalog_metadata(id)
|
|
14
|
+
request(
|
|
15
|
+
:expects => 200,
|
|
16
|
+
:idempotent => true,
|
|
17
|
+
:method => 'GET',
|
|
18
|
+
:parser => Fog::ToHashDocument.new,
|
|
19
|
+
:path => "catalog/#{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 catalog metadata.
|
|
6
|
+
#
|
|
7
|
+
# @param [String] id Object identifier of the catalog.
|
|
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-CatalogMetadataItem-metadata.html
|
|
13
|
+
# @since vCloud API version 1.5
|
|
14
|
+
def get_catalog_metadata_item_metadata(id, key)
|
|
15
|
+
request(
|
|
16
|
+
:expects => 200,
|
|
17
|
+
:idempotent => true,
|
|
18
|
+
:method => 'GET',
|
|
19
|
+
:parser => Fog::ToHashDocument.new,
|
|
20
|
+
:path => "catalog/#{id}/metadata/#{URI.escape(key)})"
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieves a list of Catalogs 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
|
+
# * :CatalogRecord<~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-CatalogsFromQuery.html
|
|
55
|
+
# @since vCloud API version 1.5
|
|
56
|
+
def get_catalogs_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 => 'catalogs/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
|
+
:CatalogReference : :CatalogRecord
|
|
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,26 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieve access control information for a catalog.
|
|
6
|
+
#
|
|
7
|
+
# @param [String] id Object identifier of the organization.
|
|
8
|
+
# @param [String] catalog_id Object identifier of the catalog.
|
|
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-ControlAccessParams-vApp.html
|
|
13
|
+
# @since vCloud API 0.9
|
|
14
|
+
def get_control_access_params_catalog(id, catalog_id)
|
|
15
|
+
request(
|
|
16
|
+
:expects => 200,
|
|
17
|
+
:idempotent => true,
|
|
18
|
+
:method => 'GET',
|
|
19
|
+
:parser => Fog::ToHashDocument.new,
|
|
20
|
+
:path => "org/#{id}/catalog/#{catalog_id}/controlAccess"
|
|
21
|
+
)
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieve access control information for a vApp.
|
|
6
|
+
#
|
|
7
|
+
# @param [String] id Object identifier of the vApp.
|
|
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-ControlAccessParams-vApp.html
|
|
12
|
+
# @since vCloud API 0.9
|
|
13
|
+
def get_control_access_params_vapp(id)
|
|
14
|
+
request(
|
|
15
|
+
:expects => 200,
|
|
16
|
+
:idempotent => true,
|
|
17
|
+
:method => 'GET',
|
|
18
|
+
:parser => Fog::ToHashDocument.new,
|
|
19
|
+
:path => "vApp/#{id}/controlAccess"
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
extend Fog::Deprecation
|
|
6
|
+
deprecate :get_vm_cpu, :get_cpu_rasd_item
|
|
7
|
+
|
|
8
|
+
# Retrieve the RASD item that specifies CPU 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-CpuRasdItem.html
|
|
15
|
+
# @since vCloud API version 0.9
|
|
16
|
+
def get_cpu_rasd_item(id)
|
|
17
|
+
request(
|
|
18
|
+
:expects => 200,
|
|
19
|
+
:idempotent => true,
|
|
20
|
+
:method => 'GET',
|
|
21
|
+
:parser => Fog::ToHashDocument.new,
|
|
22
|
+
:path => "vApp/#{id}/virtualHardwareSection/cpu"
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
class Mock
|
|
29
|
+
|
|
30
|
+
def get_cpu_rasd_item(id)
|
|
31
|
+
type = 'application/vnd.vmware.vcloud.rasdItem+xml'
|
|
32
|
+
|
|
33
|
+
unless vm = data[:vms][id]
|
|
34
|
+
raise Fog::Compute::VcloudDirector::Forbidden.new(
|
|
35
|
+
'This operation is denied.'
|
|
36
|
+
)
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
Excon::Response.new(
|
|
40
|
+
:status => 200,
|
|
41
|
+
:headers => {'Content-Type' => "#{type};version=#{api_version}"},
|
|
42
|
+
:body => get_cpu_rasd_item_body(id, vm)
|
|
43
|
+
)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
def get_cpu_rasd_item_body(id, vm)
|
|
47
|
+
{
|
|
48
|
+
:ns12_href => make_href("vApp/#{id}/virtualHardwareSection/cpu"),
|
|
49
|
+
:ns12_type => "application/vnd.vmware.vcloud.rasdItem+xml",
|
|
50
|
+
:"rasd:AllocationUnits"=>"hertz * 10^6",
|
|
51
|
+
:"rasd:Description"=>"Number of Virtual CPUs",
|
|
52
|
+
:"rasd:ElementName"=>"#{vm[:cpu_count]} virtual CPU(s)",
|
|
53
|
+
:"rasd:InstanceID"=>"4",
|
|
54
|
+
:"rasd:Reservation"=>"0",
|
|
55
|
+
:"rasd:ResourceType"=>"3",
|
|
56
|
+
:"rasd:VirtualQuantity"=>"#{vm[:cpu_count]}",
|
|
57
|
+
:"rasd:Weight"=>"0",
|
|
58
|
+
}
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
end
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Retrieve a representation of the current session.
|
|
6
|
+
#
|
|
7
|
+
# A Session object contains one or more URLs from which you can begin
|
|
8
|
+
# browsing, as well as links to the query service and entity resolver.
|
|
9
|
+
# The list of URLs in the Session object is based on the role and
|
|
10
|
+
# privileges of the authenticated user.
|
|
11
|
+
#
|
|
12
|
+
# A Session object expires after a configurable interval of client
|
|
13
|
+
# inactivity.
|
|
14
|
+
#
|
|
15
|
+
# @return [Excon::Response]
|
|
16
|
+
# * body<~Hash>:
|
|
17
|
+
# * :href<~String> - The URI of the entity.
|
|
18
|
+
# * :type<~String> - The MIME type of the entity.
|
|
19
|
+
# * :org<~String> - The name of the user's organization.
|
|
20
|
+
# * :user<~String> - The name of the user that owns the session
|
|
21
|
+
# * :Link<~Array<Hash>]:
|
|
22
|
+
# * :href<~String> - Contains the URI to the linked entity.
|
|
23
|
+
# * :name<~String> - Contains the name of the linked entity.
|
|
24
|
+
# * :type<~String> - Contains the type of the linked entity.
|
|
25
|
+
# * :rel<~String> - Defines the relationship of the link to the
|
|
26
|
+
# object that contains it.
|
|
27
|
+
#
|
|
28
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/GET-CurrentSession.html
|
|
29
|
+
# @since vCloud API version 1.5
|
|
30
|
+
def get_current_session
|
|
31
|
+
request(
|
|
32
|
+
:expects => 200,
|
|
33
|
+
:idempotent => true,
|
|
34
|
+
:method => 'GET',
|
|
35
|
+
:parser => Fog::ToHashDocument.new,
|
|
36
|
+
:path => 'session'
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
class Mock
|
|
42
|
+
def get_current_session
|
|
43
|
+
body =
|
|
44
|
+
{:href => make_href('session/'),
|
|
45
|
+
:type => 'application/vnd.vmware.vcloud.session+xml',
|
|
46
|
+
:org => data[:org][:name],
|
|
47
|
+
:user => user_name,
|
|
48
|
+
:Link =>
|
|
49
|
+
[{:href => make_href('org/'),
|
|
50
|
+
:type => 'application/vnd.vmware.vcloud.orgList+xml',
|
|
51
|
+
:rel => 'down'},
|
|
52
|
+
{:href => make_href('admin/'),
|
|
53
|
+
:type => 'application/vnd.vmware.admin.vcloud+xml',
|
|
54
|
+
:rel => 'down'},
|
|
55
|
+
{:href => make_href("org/#{data[:org][:uuid]}"),
|
|
56
|
+
:name => data[:org][:name],
|
|
57
|
+
:type => 'application/vnd.vmware.vcloud.org+xml',
|
|
58
|
+
:rel => 'down'},
|
|
59
|
+
{:href => make_href('query'),
|
|
60
|
+
:type => 'application/vnd.vmware.vcloud.query.queryList+xml',
|
|
61
|
+
:rel => 'down'},
|
|
62
|
+
{:href => make_href('entity/'),
|
|
63
|
+
:type => 'application/vnd.vmware.vcloud.entity+xml',
|
|
64
|
+
:rel => 'entityResolver'}]}
|
|
65
|
+
|
|
66
|
+
if @api_version.to_f >= 5.1
|
|
67
|
+
body[:Link] << {
|
|
68
|
+
:href => make_href('extensibility'),
|
|
69
|
+
:type => 'application/vnd.vmware.vcloud.apiextensibility+xml',
|
|
70
|
+
:rel => 'down:extensibility'
|
|
71
|
+
}
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
Excon::Response.new(
|
|
75
|
+
:body => body,
|
|
76
|
+
:headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
|
|
77
|
+
:status => 200
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|