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,39 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Log in and create a Session object.
|
|
6
|
+
#
|
|
7
|
+
# @return [Excon::Response]
|
|
8
|
+
# * body<~Hash>:
|
|
9
|
+
# * :href<~String> - The URI of the entity.
|
|
10
|
+
# * :type<~String> - The MIME type of the entity.
|
|
11
|
+
# * :org<~String> - The name of the user's organization.
|
|
12
|
+
# * :user<~String> - The name of the user that owns the session
|
|
13
|
+
# * :Link<~Array<Hash>]:
|
|
14
|
+
# * :href<~String> - Contains the URI to the linked entity.
|
|
15
|
+
# * :name<~String> - Contains the name of the linked entity.
|
|
16
|
+
# * :type<~String> - Contains the type of the linked entity.
|
|
17
|
+
# * :rel<~String> - Defines the relationship of the link to the
|
|
18
|
+
# object that contains it.
|
|
19
|
+
#
|
|
20
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-Login-sessions.html
|
|
21
|
+
# @since vCloud API version 1.5
|
|
22
|
+
def post_login_session
|
|
23
|
+
headers = {
|
|
24
|
+
'Accept' => "application/*+xml;version=#{@api_version}",
|
|
25
|
+
'Authorization' => "Basic #{Base64.encode64("#{@vcloud_director_username}:#{@vcloud_director_password}").delete("\r\n")}"
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@connection.request(
|
|
29
|
+
:expects => 200,
|
|
30
|
+
:headers => headers,
|
|
31
|
+
:method => 'POST',
|
|
32
|
+
:parser => Fog::ToHashDocument.new,
|
|
33
|
+
:path => "#{@path}/sessions"
|
|
34
|
+
)
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
extend Fog::Deprecation
|
|
6
|
+
deprecate :post_vm_poweroff, :post_power_off_vapp
|
|
7
|
+
|
|
8
|
+
# Power off a vApp or VM.
|
|
9
|
+
#
|
|
10
|
+
# If used on a vApp, powers off all VMs in the vApp. If used on a VM,
|
|
11
|
+
# powers off the VM. This operation is available only for a vApp or VM
|
|
12
|
+
# that is powered on.
|
|
13
|
+
#
|
|
14
|
+
# This operation is asynchronous and returns a task that you can
|
|
15
|
+
# monitor to track the progress of the request.
|
|
16
|
+
#
|
|
17
|
+
# @param [String] id Object identifier of the vApp or VM.
|
|
18
|
+
# @return [Excon::Response]
|
|
19
|
+
# * body<~Hash>:
|
|
20
|
+
#
|
|
21
|
+
# @raise [Fog::Compute::VcloudDirector::BadRequest]
|
|
22
|
+
#
|
|
23
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-PowerOffVApp.html
|
|
24
|
+
# @since vCloud API version 0.9
|
|
25
|
+
def post_power_off_vapp(id)
|
|
26
|
+
request(
|
|
27
|
+
:expects => 202,
|
|
28
|
+
:method => 'POST',
|
|
29
|
+
:parser => Fog::ToHashDocument.new,
|
|
30
|
+
:path => "vApp/#{id}/power/action/powerOff"
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
36
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
extend Fog::Deprecation
|
|
6
|
+
deprecate :post_vm_poweron, :post_power_on_vapp
|
|
7
|
+
|
|
8
|
+
# Power on a vApp or VM.
|
|
9
|
+
#
|
|
10
|
+
# If used on a vApp, powers on all VMs in the vApp. If used on a VM,
|
|
11
|
+
# powers on the VM. This operation is available only for a vApp or VM
|
|
12
|
+
# that is powered off.
|
|
13
|
+
#
|
|
14
|
+
# This operation is asynchronous and returns a task that you can
|
|
15
|
+
# monitor to track the progress of the request.
|
|
16
|
+
#
|
|
17
|
+
# @param [String] id Object identifier of the vApp or VM.
|
|
18
|
+
# @return [Excon::Response]
|
|
19
|
+
# * body<~Hash>:
|
|
20
|
+
#
|
|
21
|
+
# @raise [Fog::Compute::VcloudDirector::BadRequest]
|
|
22
|
+
#
|
|
23
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-PowerOnVApp.html
|
|
24
|
+
# @since vCloud API version 0.9
|
|
25
|
+
def post_power_on_vapp(id)
|
|
26
|
+
request(
|
|
27
|
+
:expects => 202,
|
|
28
|
+
:method => 'POST',
|
|
29
|
+
:parser => Fog::ToHashDocument.new,
|
|
30
|
+
:path => "vApp/#{id}/power/action/powerOn"
|
|
31
|
+
)
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
class Mock
|
|
35
|
+
def post_power_on_vapp(id)
|
|
36
|
+
unless vapp = data[:vapps][id]
|
|
37
|
+
raise Fog::Compute::VcloudDirector::Forbidden.new(
|
|
38
|
+
'This operation is denied.'
|
|
39
|
+
)
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
owner = {
|
|
43
|
+
:href => make_href("vApp/#{id}"),
|
|
44
|
+
:type => 'application/vnd.vmware.vcloud.vApp+xml'
|
|
45
|
+
}
|
|
46
|
+
task_id = enqueue_task(
|
|
47
|
+
"Starting Virtual Application #{data[:vapps][id]} vapp(#{id})", 'vappDeploy', owner,
|
|
48
|
+
:on_success => lambda do
|
|
49
|
+
data[:vms].values.each do |vm|
|
|
50
|
+
if vm[:parent_vapp] == id
|
|
51
|
+
vm[:status] = '4' # on
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
)
|
|
56
|
+
body = {
|
|
57
|
+
:xmlns => xmlns,
|
|
58
|
+
:xmlns_xsi => xmlns_xsi,
|
|
59
|
+
:xsi_schemaLocation => xsi_schema_location,
|
|
60
|
+
}.merge(task_body(task_id))
|
|
61
|
+
|
|
62
|
+
Excon::Response.new(
|
|
63
|
+
:status => 202,
|
|
64
|
+
:headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
|
|
65
|
+
:body => body
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Reboot a vApp or VM.
|
|
6
|
+
#
|
|
7
|
+
# If used on a vApp, reboots all VMs in the vApp. If used on a VM,
|
|
8
|
+
# reboots the VM. This operation is available only for a vApp or VM
|
|
9
|
+
# that is powered on.
|
|
10
|
+
#
|
|
11
|
+
# This operation is asynchronous and returns a task that you can
|
|
12
|
+
# monitor to track the progress of the request.
|
|
13
|
+
#
|
|
14
|
+
# @param [String] id Object identifier of the vApp or VM.
|
|
15
|
+
# @return [Excon::Response]
|
|
16
|
+
# * body<~Hash>:
|
|
17
|
+
#
|
|
18
|
+
# @raise [Fog::Compute::VcloudDirector::BadRequest]
|
|
19
|
+
#
|
|
20
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-RebootVApp.html
|
|
21
|
+
# @since vCloud API version 0.9
|
|
22
|
+
def post_reboot_vapp(id)
|
|
23
|
+
request(
|
|
24
|
+
:expects => 202,
|
|
25
|
+
:method => 'POST',
|
|
26
|
+
:parser => Fog::ToHashDocument.new,
|
|
27
|
+
:path => "vApp/#{id}/power/action/reboot"
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
require 'fog/vcloud_director/generators/compute/recompose_vapp'
|
|
6
|
+
def post_recompose_vapp(id, options={})
|
|
7
|
+
body = Fog::Generators::Compute::VcloudDirector::RecomposeVapp.new(options).generate_xml
|
|
8
|
+
|
|
9
|
+
request(
|
|
10
|
+
:body => body,
|
|
11
|
+
:expects => 202,
|
|
12
|
+
:headers => { 'Content-Type' => 'application/vnd.vmware.vcloud.recomposeVAppParams+xml' },
|
|
13
|
+
:method => 'POST',
|
|
14
|
+
:parser => Fog::ToHashDocument.new,
|
|
15
|
+
:path => "vApp/#{id}/action/recomposeVApp"
|
|
16
|
+
)
|
|
17
|
+
end
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
end
|
|
21
|
+
end
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
|
|
6
|
+
# Updates VM configuration.
|
|
7
|
+
#
|
|
8
|
+
# This operation is asynchronous and returns a task that you can
|
|
9
|
+
# monitor to track the progress of the request.
|
|
10
|
+
#
|
|
11
|
+
# @param [String] id Object identifier of the VM.
|
|
12
|
+
# @param [Hash] options
|
|
13
|
+
#
|
|
14
|
+
# @option options [String] :name Change the VM's name [required].
|
|
15
|
+
# @option options [String] :description VM description
|
|
16
|
+
# @option options [Integer] :cpu Number of CPUs
|
|
17
|
+
# @option options [Integer] :memory Memory in MB
|
|
18
|
+
#
|
|
19
|
+
# @return [Excon::Response]
|
|
20
|
+
# * body<~Hash>:
|
|
21
|
+
# * :Tasks<~Hash>:
|
|
22
|
+
# * :Task<~Hash>:
|
|
23
|
+
#
|
|
24
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-ReconfigureVm.html
|
|
25
|
+
# @since vCloud API version 5.1
|
|
26
|
+
def post_reconfigure_vm(id, options={})
|
|
27
|
+
|
|
28
|
+
body = Nokogiri::XML::Builder.new do |xml|
|
|
29
|
+
attrs = {
|
|
30
|
+
:xmlns => 'http://www.vmware.com/vcloud/v1.5',
|
|
31
|
+
'xmlns:ovf' => 'http://schemas.dmtf.org/ovf/envelope/1',
|
|
32
|
+
'xmlns:rasd' => 'http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData',
|
|
33
|
+
:name => options[:name]
|
|
34
|
+
}
|
|
35
|
+
xml.Vm(attrs) do
|
|
36
|
+
xml.Description options[:description] if options[:description]
|
|
37
|
+
virtual_hardware_section(xml, options)
|
|
38
|
+
end
|
|
39
|
+
end.to_xml
|
|
40
|
+
|
|
41
|
+
request(
|
|
42
|
+
:body => body,
|
|
43
|
+
:expects => 202,
|
|
44
|
+
:headers => {'Content-Type' => 'application/vnd.vmware.vcloud.vm+xml'},
|
|
45
|
+
:method => 'POST',
|
|
46
|
+
:parser => Fog::ToHashDocument.new,
|
|
47
|
+
:path => "vApp/#{id}/action/reconfigureVm"
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
private
|
|
52
|
+
|
|
53
|
+
def virtual_hardware_section(xml, options)
|
|
54
|
+
return unless options[:cpu] or options[:memory]
|
|
55
|
+
xml['ovf'].VirtualHardwareSection do
|
|
56
|
+
xml['ovf'].Info 'Virtual Hardware Requirements'
|
|
57
|
+
cpu_section(xml, options[:cpu]) if options[:cpu]
|
|
58
|
+
memory_section(xml, options[:memory]) if options[:memory]
|
|
59
|
+
end
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def cpu_section(xml, cpu)
|
|
63
|
+
xml['ovf'].Item do
|
|
64
|
+
xml['rasd'].AllocationUnits 'hertz * 10 ^ 6'
|
|
65
|
+
xml['rasd'].InstanceID 5
|
|
66
|
+
xml['rasd'].ResourceType 3
|
|
67
|
+
xml['rasd'].VirtualQuantity cpu.to_i
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
def memory_section(xml, memory)
|
|
72
|
+
xml['ovf'].Item do
|
|
73
|
+
xml['rasd'].AllocationUnits 'byte * 2^20'
|
|
74
|
+
xml['rasd'].InstanceID 6
|
|
75
|
+
xml['rasd'].ResourceType 4
|
|
76
|
+
xml['rasd'].VirtualQuantity memory.to_i
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
class Mock
|
|
83
|
+
def post_reconfigure_vm(id, options={})
|
|
84
|
+
unless vm = data[:vms][id]
|
|
85
|
+
raise Fog::Compute::VcloudDirector::Forbidden.new(
|
|
86
|
+
'This operation is denied.'
|
|
87
|
+
)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
owner = {
|
|
91
|
+
:href => make_href("vApp/#{id}"),
|
|
92
|
+
:type => 'application/vnd.vmware.vcloud.vApp+xml'
|
|
93
|
+
}
|
|
94
|
+
task_id = enqueue_task(
|
|
95
|
+
"Updating Virtual Machine #{data[:vms][id][:name]}(#{id})", 'vappUpdateVm', owner,
|
|
96
|
+
:on_success => lambda do
|
|
97
|
+
data[:vms][id][:name] = options[:name]
|
|
98
|
+
data[:vms][id][:description] = options[:description] if options[:description]
|
|
99
|
+
data[:vms][id][:cpu_count] = options[:cpu] if options[:cpu]
|
|
100
|
+
data[:vms][id][:memory_in_mb] = options[:memory] if options[:memory]
|
|
101
|
+
end
|
|
102
|
+
)
|
|
103
|
+
body = {
|
|
104
|
+
:xmlns => xmlns,
|
|
105
|
+
:xmlns_xsi => xmlns_xsi,
|
|
106
|
+
:xsi_schemaLocation => xsi_schema_location,
|
|
107
|
+
}.merge(task_body(task_id))
|
|
108
|
+
|
|
109
|
+
Excon::Response.new(
|
|
110
|
+
:status => 202,
|
|
111
|
+
:headers => {'Content-Type' => "#{body[:type]};version=#{api_version}"},
|
|
112
|
+
:body => body
|
|
113
|
+
)
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Removes all user created snapshots for a vApp or virtual machine.
|
|
6
|
+
#
|
|
7
|
+
# This operation is asynchronous and returns a task that you can
|
|
8
|
+
# monitor to track the progress of the request.
|
|
9
|
+
#
|
|
10
|
+
# @param [String] id Object identifier of the vApp or virtual machine.
|
|
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/POST-RemoveAllSnapshots.html
|
|
15
|
+
# @since vCloud API version 5.1
|
|
16
|
+
def post_remove_all_snapshots(id)
|
|
17
|
+
request(
|
|
18
|
+
:expects => 202,
|
|
19
|
+
:method => 'POST',
|
|
20
|
+
:parser => Fog::ToHashDocument.new,
|
|
21
|
+
:path => "vApp/#{id}/action/removeAllSnapshots"
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Reset a vApp or VM.
|
|
6
|
+
#
|
|
7
|
+
# If used on a vApp, resets all VMs in the vApp. If used on a VM,
|
|
8
|
+
# resets the VM. This operation is available only for a vApp or VM that
|
|
9
|
+
# is powered on.
|
|
10
|
+
#
|
|
11
|
+
# This operation is asynchronous and returns a task that you can
|
|
12
|
+
# monitor to track the progress of the request.
|
|
13
|
+
#
|
|
14
|
+
# @param [String] id Object identifier of the vApp or VM.
|
|
15
|
+
# @return [Excon::Response]
|
|
16
|
+
# * body<~Hash>:
|
|
17
|
+
#
|
|
18
|
+
# @raise [Fog::Compute::VcloudDirector::BadRequest]
|
|
19
|
+
#
|
|
20
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-ResetVApp.html
|
|
21
|
+
# @since vCloud API version 0.9
|
|
22
|
+
def post_reset_vapp(id)
|
|
23
|
+
request(
|
|
24
|
+
:expects => 202,
|
|
25
|
+
:method => 'POST',
|
|
26
|
+
:parser => Fog::ToHashDocument.new,
|
|
27
|
+
:path => "vApp/#{id}/power/action/reset"
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Reverts a vApp or virtual machine to the current snapshot, if any.
|
|
6
|
+
#
|
|
7
|
+
# This operation is asynchronous and returns a task that you can
|
|
8
|
+
# monitor to track the progress of the request.
|
|
9
|
+
#
|
|
10
|
+
# @param [String] id Object identifier of the vApp or virtual machine.
|
|
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/POST-RevertSnapshot.html
|
|
15
|
+
# @since vCloud API version 5.1
|
|
16
|
+
def post_revert_snapshot(id)
|
|
17
|
+
request(
|
|
18
|
+
:expects => 202,
|
|
19
|
+
:method => 'POST',
|
|
20
|
+
:parser => Fog::ToHashDocument.new,
|
|
21
|
+
:path => "vApp/#{id}/action/revertToCurrentSnapshot"
|
|
22
|
+
)
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Fog
|
|
2
|
+
module Compute
|
|
3
|
+
class VcloudDirector
|
|
4
|
+
class Real
|
|
5
|
+
# Shut down a vApp or VM.
|
|
6
|
+
#
|
|
7
|
+
# If used on a vApp, shuts down all VMs in the vApp. If used on a VM,
|
|
8
|
+
# shuts down the VM. This operation is available only for a vApp or VM
|
|
9
|
+
# that is powered on.
|
|
10
|
+
#
|
|
11
|
+
# This operation is asynchronous and returns a task that you can
|
|
12
|
+
# monitor to track the progress of the request.
|
|
13
|
+
#
|
|
14
|
+
# @param [String] id Object identifier of the vApp or VM.
|
|
15
|
+
# @return [Excon::Response]
|
|
16
|
+
# * body<~Hash>:
|
|
17
|
+
#
|
|
18
|
+
# @raise [Fog::Compute::VcloudDirector::BadRequest]
|
|
19
|
+
#
|
|
20
|
+
# @see http://pubs.vmware.com/vcd-51/topic/com.vmware.vcloud.api.reference.doc_51/doc/operations/POST-ShutdownVApp.html
|
|
21
|
+
# @since vCloud API version 0.9
|
|
22
|
+
def post_shutdown_vapp(id)
|
|
23
|
+
request(
|
|
24
|
+
:expects => 202,
|
|
25
|
+
:method => 'POST',
|
|
26
|
+
:parser => Fog::ToHashDocument.new,
|
|
27
|
+
:path => "vApp/#{id}/power/action/shutdown"
|
|
28
|
+
)
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|