784 lines
20 KiB
Ruby
784 lines
20 KiB
Ruby
# This file contains all of the internal errors in Vagrant's core
|
|
# commands, actions, etc.
|
|
|
|
module Vagrant
|
|
# This module contains all of the internal errors in Vagrant's core.
|
|
# These errors are _expected_ errors and as such don't typically represent
|
|
# bugs in Vagrant itself. These are meant as a way to detect errors and
|
|
# display them in a user-friendly way.
|
|
#
|
|
# # Defining a new Error
|
|
#
|
|
# To define a new error, inherit from {VagrantError}, which lets Vagrant
|
|
# know that this is an expected error, and also gives you some helpers for
|
|
# providing exit codes and error messages. An example is shown below, then
|
|
# it is explained:
|
|
#
|
|
# class MyError < Vagrant::Errors::VagrantError
|
|
# error_key "my_error"
|
|
# end
|
|
#
|
|
# This creates an error with an I18n error key of "my_error." {VagrantError}
|
|
# uses I18n to look up error messages, in the "vagrant.errors" namespace. So
|
|
# in the above, the error message would be the translation of "vagrant.errors.my_error"
|
|
#
|
|
# If you don't want to use I18n, you can override the {#initialize} method and
|
|
# set your own error message.
|
|
#
|
|
# # Raising an Error
|
|
#
|
|
# To raise an error, it is nothing special, just raise it like any normal
|
|
# exception:
|
|
#
|
|
# raise MyError.new
|
|
#
|
|
# Eventually this exception will bubble out to the `vagrant` binary which
|
|
# will show a nice error message. And if it is raised in the middle of a
|
|
# middleware sequence, then {Action::Warden} will catch it and begin the
|
|
# recovery process prior to exiting.
|
|
module Errors
|
|
# Main superclass of any errors in Vagrant. This provides some
|
|
# convenience methods for setting the status code and error key.
|
|
# The status code is used by the `vagrant` executable as the
|
|
# error code, and the error key is used as a default message from
|
|
# I18n.
|
|
class VagrantError < StandardError
|
|
# This is extra data passed into the message for translation.
|
|
attr_accessor :extra_data
|
|
|
|
def self.error_key(key=nil, namespace=nil)
|
|
define_method(:error_key) { key }
|
|
error_namespace(namespace) if namespace
|
|
end
|
|
|
|
def self.error_message(message)
|
|
define_method(:error_message) { message }
|
|
end
|
|
|
|
def self.error_namespace(namespace)
|
|
define_method(:error_namespace) { namespace }
|
|
end
|
|
|
|
def initialize(*args)
|
|
key = args.shift if args.first.is_a?(Symbol)
|
|
message = args.shift if args.first.is_a?(Hash)
|
|
message ||= {}
|
|
@extra_data = message.dup
|
|
message[:_key] ||= error_key
|
|
message[:_namespace] ||= error_namespace
|
|
message[:_key] = key if key
|
|
|
|
if message[:_key]
|
|
message = translate_error(message)
|
|
else
|
|
message = error_message
|
|
end
|
|
|
|
super(message)
|
|
end
|
|
|
|
# The error message for this error. This is used if no error_key
|
|
# is specified for a translatable error message.
|
|
def error_message; "No error message"; end
|
|
|
|
# The default error namespace which is used for the error key.
|
|
# This can be overridden here or by calling the "error_namespace"
|
|
# class method.
|
|
def error_namespace; "vagrant.errors"; end
|
|
|
|
# The key for the error message. This should be set using the
|
|
# {error_key} method but can be overridden here if needed.
|
|
def error_key; nil; end
|
|
|
|
# This is the exit code that should be used when exiting from
|
|
# this exception.
|
|
#
|
|
# @return [Integer]
|
|
def status_code; 1; end
|
|
|
|
protected
|
|
|
|
def translate_error(opts)
|
|
return nil if !opts[:_key]
|
|
I18n.t("#{opts[:_namespace]}.#{opts[:_key]}", opts)
|
|
end
|
|
end
|
|
|
|
class ActiveMachineWithDifferentProvider < VagrantError
|
|
error_key(:active_machine_with_different_provider)
|
|
end
|
|
|
|
class AnsibleFailed < VagrantError
|
|
error_key(:ansible_failed)
|
|
end
|
|
|
|
class AnsiblePlaybookAppNotFound < VagrantError
|
|
error_key(:ansible_playbook_app_not_found)
|
|
end
|
|
|
|
class BatchMultiError < VagrantError
|
|
error_key(:batch_multi_error)
|
|
end
|
|
|
|
class BoxAddDirectVersion < VagrantError
|
|
error_key(:box_add_direct_version)
|
|
end
|
|
|
|
class BoxAddMetadataMultiURL < VagrantError
|
|
error_key(:box_add_metadata_multi_url)
|
|
end
|
|
|
|
class BoxAddNameMismatch < VagrantError
|
|
error_key(:box_add_name_mismatch)
|
|
end
|
|
|
|
class BoxAddNameRequired < VagrantError
|
|
error_key(:box_add_name_required)
|
|
end
|
|
|
|
class BoxAddNoMatchingProvider < VagrantError
|
|
error_key(:box_add_no_matching_provider)
|
|
end
|
|
|
|
class BoxAddNoMatchingVersion < VagrantError
|
|
error_key(:box_add_no_matching_version)
|
|
end
|
|
|
|
class BoxAddShortNotFound < VagrantError
|
|
error_key(:box_add_short_not_found)
|
|
end
|
|
|
|
class BoxAlreadyExists < VagrantError
|
|
error_key(:box_add_exists)
|
|
end
|
|
|
|
class BoxChecksumInvalidType < VagrantError
|
|
error_key(:box_checksum_invalid_type)
|
|
end
|
|
|
|
class BoxChecksumMismatch < VagrantError
|
|
error_key(:box_checksum_mismatch)
|
|
end
|
|
|
|
class BoxConfigChangingBox < VagrantError
|
|
error_key(:box_config_changing_box)
|
|
end
|
|
|
|
class BoxMetadataCorrupted < VagrantError
|
|
error_key(:box_metadata_corrupted)
|
|
end
|
|
|
|
class BoxMetadataDownloadError < VagrantError
|
|
error_key(:box_metadata_download_error)
|
|
end
|
|
|
|
class BoxMetadataFileNotFound < VagrantError
|
|
error_key(:box_metadata_file_not_found)
|
|
end
|
|
|
|
class BoxMetadataMalformed < VagrantError
|
|
error_key(:box_metadata_malformed)
|
|
end
|
|
|
|
class BoxMetadataMalformedVersion < VagrantError
|
|
error_key(:box_metadata_malformed_version)
|
|
end
|
|
|
|
class BoxNotFound < VagrantError
|
|
error_key(:box_not_found)
|
|
end
|
|
|
|
class BoxNotFoundWithProvider < VagrantError
|
|
error_key(:box_not_found_with_provider)
|
|
end
|
|
|
|
class BoxNotFoundWithProviderAndVersion < VagrantError
|
|
error_key(:box_not_found_with_provider_and_version)
|
|
end
|
|
|
|
class BoxProviderDoesntMatch < VagrantError
|
|
error_key(:box_provider_doesnt_match)
|
|
end
|
|
|
|
class BoxRemoveNotFound < VagrantError
|
|
error_key(:box_remove_not_found)
|
|
end
|
|
|
|
class BoxRemoveProviderNotFound < VagrantError
|
|
error_key(:box_remove_provider_not_found)
|
|
end
|
|
|
|
class BoxRemoveVersionNotFound < VagrantError
|
|
error_key(:box_remove_version_not_found)
|
|
end
|
|
|
|
class BoxRemoveMultiProvider < VagrantError
|
|
error_key(:box_remove_multi_provider)
|
|
end
|
|
|
|
class BoxRemoveMultiVersion < VagrantError
|
|
error_key(:box_remove_multi_version)
|
|
end
|
|
|
|
class BoxServerNotSet < VagrantError
|
|
error_key(:box_server_not_set)
|
|
end
|
|
|
|
class BoxUnpackageFailure < VagrantError
|
|
error_key(:untar_failure, "vagrant.actions.box.unpackage")
|
|
end
|
|
|
|
class BoxUpdateMultiProvider < VagrantError
|
|
error_key(:box_update_multi_provider)
|
|
end
|
|
|
|
class BoxUpdateNoMetadata < VagrantError
|
|
error_key(:box_update_no_metadata)
|
|
end
|
|
|
|
class BoxVerificationFailed < VagrantError
|
|
error_key(:failed, "vagrant.actions.box.verify")
|
|
end
|
|
|
|
class BundlerDisabled < VagrantError
|
|
error_key(:bundler_disabled)
|
|
end
|
|
|
|
class BundlerError < VagrantError
|
|
error_key(:bundler_error)
|
|
end
|
|
|
|
class CapabilityHostExplicitNotDetected < VagrantError
|
|
error_key(:capability_host_explicit_not_detected)
|
|
end
|
|
|
|
class CapabilityHostNotDetected < VagrantError
|
|
error_key(:capability_host_not_detected)
|
|
end
|
|
|
|
class CapabilityInvalid < VagrantError
|
|
error_key(:capability_invalid)
|
|
end
|
|
|
|
class CapabilityNotFound < VagrantError
|
|
error_key(:capability_not_found)
|
|
end
|
|
|
|
class CFEngineBootstrapFailed < VagrantError
|
|
error_key(:cfengine_bootstrap_failed)
|
|
end
|
|
|
|
class CFEngineCantAutodetectIP < VagrantError
|
|
error_key(:cfengine_cant_autodetect_ip)
|
|
end
|
|
|
|
class CFEngineInstallFailed < VagrantError
|
|
error_key(:cfengine_install_failed)
|
|
end
|
|
|
|
class CFEngineNotInstalled < VagrantError
|
|
error_key(:cfengine_not_installed)
|
|
end
|
|
|
|
class CLIInvalidUsage < VagrantError
|
|
error_key(:cli_invalid_usage)
|
|
end
|
|
|
|
class CLIInvalidOptions < VagrantError
|
|
error_key(:cli_invalid_options)
|
|
end
|
|
|
|
class CommandUnavailable < VagrantError
|
|
error_key(:command_unavailable)
|
|
end
|
|
|
|
class CommandUnavailableWindows < CommandUnavailable
|
|
error_key(:command_unavailable_windows)
|
|
end
|
|
|
|
class CommunicatorNotFound < VagrantError
|
|
error_key(:communicator_not_found)
|
|
end
|
|
|
|
class ConfigInvalid < VagrantError
|
|
error_key(:config_invalid)
|
|
end
|
|
|
|
class ConfigUpgradeErrors < VagrantError
|
|
error_key(:config_upgrade_errors)
|
|
end
|
|
|
|
class CopyPrivateKeyFailed < VagrantError
|
|
error_key(:copy_private_key_failed)
|
|
end
|
|
|
|
class CorruptMachineIndex < VagrantError
|
|
error_key(:corrupt_machine_index)
|
|
end
|
|
|
|
class DarwinNFSMountFailed < VagrantError
|
|
error_key(:darwin_nfs_mount_failed)
|
|
end
|
|
|
|
class DestroyRequiresForce < VagrantError
|
|
error_key(:destroy_requires_force)
|
|
end
|
|
|
|
class DotfileUpgradeJSONError < VagrantError
|
|
error_key(:dotfile_upgrade_json_error)
|
|
end
|
|
|
|
class DownloaderError < VagrantError
|
|
error_key(:downloader_error)
|
|
end
|
|
|
|
class DownloaderInterrupted < DownloaderError
|
|
error_key(:downloader_interrupted)
|
|
end
|
|
|
|
class EnvironmentNonExistentCWD < VagrantError
|
|
error_key(:environment_non_existent_cwd)
|
|
end
|
|
|
|
class EnvironmentLockedError < VagrantError
|
|
error_key(:environment_locked)
|
|
end
|
|
|
|
class HomeDirectoryLaterVersion < VagrantError
|
|
error_key(:home_dir_later_version)
|
|
end
|
|
|
|
class HomeDirectoryNotAccessible < VagrantError
|
|
error_key(:home_dir_not_accessible)
|
|
end
|
|
|
|
class HomeDirectoryUnknownVersion < VagrantError
|
|
error_key(:home_dir_unknown_version)
|
|
end
|
|
|
|
class ForwardPortAdapterNotFound < VagrantError
|
|
error_key(:forward_port_adapter_not_found)
|
|
end
|
|
|
|
class ForwardPortAutolistEmpty < VagrantError
|
|
error_key(:auto_empty, "vagrant.actions.vm.forward_ports")
|
|
end
|
|
|
|
class ForwardPortCollision < VagrantError
|
|
error_key(:collision_error, "vagrant.actions.vm.forward_ports")
|
|
end
|
|
|
|
class GuestCapabilityInvalid < VagrantError
|
|
error_key(:guest_capability_invalid)
|
|
end
|
|
|
|
class GuestCapabilityNotFound < VagrantError
|
|
error_key(:guest_capability_not_found)
|
|
end
|
|
|
|
class GuestExplicitNotDetected < VagrantError
|
|
error_key(:guest_explicit_not_detected)
|
|
end
|
|
|
|
class GuestNotDetected < VagrantError
|
|
error_key(:guest_not_detected)
|
|
end
|
|
|
|
class HostExplicitNotDetected < VagrantError
|
|
error_key(:host_explicit_not_detected)
|
|
end
|
|
|
|
class LinuxMountFailed < VagrantError
|
|
error_key(:linux_mount_failed)
|
|
end
|
|
|
|
class LinuxNFSMountFailed < VagrantError
|
|
error_key(:linux_nfs_mount_failed)
|
|
end
|
|
|
|
class LinuxRDesktopNotFound < VagrantError
|
|
error_key(:linux_rdesktop_not_found)
|
|
end
|
|
|
|
class LocalDataDirectoryNotAccessible < VagrantError
|
|
error_key(:local_data_dir_not_accessible)
|
|
end
|
|
|
|
class MachineActionLockedError < VagrantError
|
|
error_key(:machine_action_locked)
|
|
end
|
|
|
|
class MachineGuestNotReady < VagrantError
|
|
error_key(:machine_guest_not_ready)
|
|
end
|
|
|
|
class MachineLocked < VagrantError
|
|
error_key(:machine_locked)
|
|
end
|
|
|
|
class MachineNotFound < VagrantError
|
|
error_key(:machine_not_found)
|
|
end
|
|
|
|
class MachineStateInvalid < VagrantError
|
|
error_key(:machine_state_invalid)
|
|
end
|
|
|
|
class MultiVMTargetRequired < VagrantError
|
|
error_key(:multi_vm_target_required)
|
|
end
|
|
|
|
class NetSSHException < VagrantError
|
|
error_key(:net_ssh_exception)
|
|
end
|
|
|
|
class NetworkCollision < VagrantError
|
|
error_key(:collides, "vagrant.actions.vm.host_only_network")
|
|
end
|
|
|
|
class NetworkDHCPAlreadyAttached < VagrantError
|
|
error_key(:dhcp_already_attached, "vagrant.actions.vm.network")
|
|
end
|
|
|
|
class NetworkNotFound < VagrantError
|
|
error_key(:not_found, "vagrant.actions.vm.host_only_network")
|
|
end
|
|
|
|
class NFSBadExports < VagrantError
|
|
error_key(:nfs_bad_exports)
|
|
end
|
|
|
|
class NFSCantReadExports < VagrantError
|
|
error_key(:nfs_cant_read_exports)
|
|
end
|
|
|
|
class NFSNoGuestIP < VagrantError
|
|
error_key(:nfs_no_guest_ip)
|
|
end
|
|
|
|
class NFSNoHostIP < VagrantError
|
|
error_key(:nfs_no_host_ip)
|
|
end
|
|
|
|
class NFSNoHostonlyNetwork < VagrantError
|
|
error_key(:nfs_no_hostonly_network)
|
|
end
|
|
|
|
class NFSNoValidIds < VagrantError
|
|
error_key(:nfs_no_valid_ids)
|
|
end
|
|
|
|
class NFSNotSupported < VagrantError
|
|
error_key(:nfs_not_supported)
|
|
end
|
|
|
|
class NFSClientNotInstalledInGuest < VagrantError
|
|
error_key(:nfs_client_not_installed_in_guest)
|
|
end
|
|
|
|
class NoDefaultSyncedFolderImpl < VagrantError
|
|
error_key(:no_default_synced_folder_impl)
|
|
end
|
|
|
|
class NoEnvironmentError < VagrantError
|
|
error_key(:no_env)
|
|
end
|
|
|
|
class PackageIncludeMissing < VagrantError
|
|
error_key(:include_file_missing, "vagrant.actions.general.package")
|
|
end
|
|
|
|
class PackageIncludeSymlink < VagrantError
|
|
error_key(:package_include_symlink)
|
|
end
|
|
|
|
class PackageOutputDirectory < VagrantError
|
|
error_key(:output_is_directory, "vagrant.actions.general.package")
|
|
end
|
|
|
|
class PackageOutputExists < VagrantError
|
|
error_key(:output_exists, "vagrant.actions.general.package")
|
|
end
|
|
|
|
class PackageRequiresDirectory < VagrantError
|
|
error_key(:requires_directory, "vagrant.actions.general.package")
|
|
end
|
|
|
|
class ProviderNotFound < VagrantError
|
|
error_key(:provider_not_found)
|
|
end
|
|
|
|
class ProviderNotUsable < VagrantError
|
|
error_key(:provider_not_usable)
|
|
end
|
|
|
|
class ProvisionerFlagInvalid < VagrantError
|
|
error_key(:provisioner_flag_invalid)
|
|
end
|
|
|
|
class ProvisionerWinRMUnsupported < VagrantError
|
|
error_key(:provisioner_winrm_unsupported)
|
|
end
|
|
|
|
class PluginGemNotFound < VagrantError
|
|
error_key(:plugin_gem_not_found)
|
|
end
|
|
|
|
class PluginInstallLicenseNotFound < VagrantError
|
|
error_key(:plugin_install_license_not_found)
|
|
end
|
|
|
|
class PluginInstallSpace < VagrantError
|
|
error_key(:plugin_install_space)
|
|
end
|
|
|
|
class PluginInstallVersionConflict < VagrantError
|
|
error_key(:plugin_install_version_conflict)
|
|
end
|
|
|
|
class PluginLoadError < VagrantError
|
|
error_key(:plugin_load_error)
|
|
end
|
|
|
|
class PluginNotInstalled < VagrantError
|
|
error_key(:plugin_not_installed)
|
|
end
|
|
|
|
class PluginStateFileParseError < VagrantError
|
|
error_key(:plugin_state_file_not_parsable)
|
|
end
|
|
|
|
class PluginUninstallSystem < VagrantError
|
|
error_key(:plugin_uninstall_system)
|
|
end
|
|
|
|
class RSyncError < VagrantError
|
|
error_key(:rsync_error)
|
|
end
|
|
|
|
class RSyncNotFound < VagrantError
|
|
error_key(:rsync_not_found)
|
|
end
|
|
|
|
class RSyncNotInstalledInGuest < VagrantError
|
|
error_key(:rsync_not_installed_in_guest)
|
|
end
|
|
|
|
class SCPPermissionDenied < VagrantError
|
|
error_key(:scp_permission_denied)
|
|
end
|
|
|
|
class SCPUnavailable < VagrantError
|
|
error_key(:scp_unavailable)
|
|
end
|
|
|
|
class SharedFolderCreateFailed < VagrantError
|
|
error_key(:shared_folder_create_failed)
|
|
end
|
|
|
|
class ShellExpandFailed < VagrantError
|
|
error_key(:shell_expand_failed)
|
|
end
|
|
|
|
class SSHAuthenticationFailed < VagrantError
|
|
error_key(:ssh_authentication_failed)
|
|
end
|
|
|
|
class SSHChannelOpenFail < VagrantError
|
|
error_key(:ssh_channel_open_fail)
|
|
end
|
|
|
|
class SSHConnectEACCES < VagrantError
|
|
error_key(:ssh_connect_eacces)
|
|
end
|
|
|
|
class SSHConnectionRefused < VagrantError
|
|
error_key(:ssh_connection_refused)
|
|
end
|
|
|
|
class SSHConnectionReset < VagrantError
|
|
error_key(:ssh_connection_reset)
|
|
end
|
|
|
|
class SSHConnectionTimeout < VagrantError
|
|
error_key(:ssh_connection_timeout)
|
|
end
|
|
|
|
class SSHDisconnected < VagrantError
|
|
error_key(:ssh_disconnected)
|
|
end
|
|
|
|
class SSHHostDown < VagrantError
|
|
error_key(:ssh_host_down)
|
|
end
|
|
|
|
class SSHInvalidShell< VagrantError
|
|
error_key(:ssh_invalid_shell)
|
|
end
|
|
|
|
class SSHIsPuttyLink < VagrantError
|
|
error_key(:ssh_is_putty_link)
|
|
end
|
|
|
|
class SSHKeyBadOwner < VagrantError
|
|
error_key(:ssh_key_bad_owner)
|
|
end
|
|
|
|
class SSHKeyBadPermissions < VagrantError
|
|
error_key(:ssh_key_bad_permissions)
|
|
end
|
|
|
|
class SSHKeyTypeNotSupported < VagrantError
|
|
error_key(:ssh_key_type_not_supported)
|
|
end
|
|
|
|
class SSHNoRoute < VagrantError
|
|
error_key(:ssh_no_route)
|
|
end
|
|
|
|
class SSHNotReady < VagrantError
|
|
error_key(:ssh_not_ready)
|
|
end
|
|
|
|
class SSHRunRequiresKeys < VagrantError
|
|
error_key(:ssh_run_requires_keys)
|
|
end
|
|
|
|
class SSHUnavailable < VagrantError
|
|
error_key(:ssh_unavailable)
|
|
end
|
|
|
|
class SSHUnavailableWindows < VagrantError
|
|
error_key(:ssh_unavailable_windows)
|
|
end
|
|
|
|
class SyncedFolderUnusable < VagrantError
|
|
error_key(:synced_folder_unusable)
|
|
end
|
|
|
|
class UIExpectsTTY < VagrantError
|
|
error_key(:ui_expects_tty)
|
|
end
|
|
|
|
class UnimplementedProviderAction < VagrantError
|
|
error_key(:unimplemented_provider_action)
|
|
end
|
|
|
|
class VagrantInterrupt < VagrantError
|
|
error_key(:interrupted)
|
|
end
|
|
|
|
class VagrantfileExistsError < VagrantError
|
|
error_key(:vagrantfile_exists)
|
|
end
|
|
|
|
class VagrantfileLoadError < VagrantError
|
|
error_key(:vagrantfile_load_error)
|
|
end
|
|
|
|
class VagrantfileSyntaxError < VagrantError
|
|
error_key(:vagrantfile_syntax_error)
|
|
end
|
|
|
|
class VagrantfileWriteError < VagrantError
|
|
error_key(:vagrantfile_write_error)
|
|
end
|
|
|
|
class VagrantVersionBad < VagrantError
|
|
error_key(:vagrant_version_bad)
|
|
end
|
|
|
|
class VBoxManageError < VagrantError
|
|
error_key(:vboxmanage_error)
|
|
end
|
|
|
|
class VBoxManageNotFoundError < VagrantError
|
|
error_key(:vboxmanage_not_found_error)
|
|
end
|
|
|
|
class VirtualBoxBrokenVersion040214 < VagrantError
|
|
error_key(:virtualbox_broken_version_040214)
|
|
end
|
|
|
|
class VirtualBoxGuestPropertyNotFound < VagrantError
|
|
error_key(:virtualbox_guest_property_not_found)
|
|
end
|
|
|
|
class VirtualBoxInvalidVersion < VagrantError
|
|
error_key(:virtualbox_invalid_version)
|
|
end
|
|
|
|
class VirtualBoxNoRoomForHighLevelNetwork < VagrantError
|
|
error_key(:virtualbox_no_room_for_high_level_network)
|
|
end
|
|
|
|
class VirtualBoxNotDetected < VagrantError
|
|
error_key(:virtualbox_not_detected)
|
|
end
|
|
|
|
class VirtualBoxKernelModuleNotLoaded < VagrantError
|
|
error_key(:virtualbox_kernel_module_not_loaded)
|
|
end
|
|
|
|
class VirtualBoxInstallIncomplete < VagrantError
|
|
error_key(:virtualbox_install_incomplete)
|
|
end
|
|
|
|
class VirtualBoxNoName < VagrantError
|
|
error_key(:virtualbox_no_name)
|
|
end
|
|
|
|
class VirtualBoxNameExists < VagrantError
|
|
error_key(:virtualbox_name_exists)
|
|
end
|
|
|
|
class VMBaseMacNotSpecified < VagrantError
|
|
error_key(:no_base_mac, "vagrant.actions.vm.match_mac")
|
|
end
|
|
|
|
class VMBootBadState < VagrantError
|
|
error_key(:boot_bad_state)
|
|
end
|
|
|
|
class VMBootTimeout < VagrantError
|
|
error_key(:boot_timeout)
|
|
end
|
|
|
|
class VMCustomizationFailed < VagrantError
|
|
error_key(:failure, "vagrant.actions.vm.customize")
|
|
end
|
|
|
|
class VMImportFailure < VagrantError
|
|
error_key(:failure, "vagrant.actions.vm.import")
|
|
end
|
|
|
|
class VMInaccessible < VagrantError
|
|
error_key(:vm_inaccessible)
|
|
end
|
|
|
|
class VMNameExists < VagrantError
|
|
error_key(:vm_name_exists)
|
|
end
|
|
|
|
class VMNoMatchError < VagrantError
|
|
error_key(:vm_no_match)
|
|
end
|
|
|
|
class VMNotCreatedError < VagrantError
|
|
error_key(:vm_creation_required)
|
|
end
|
|
|
|
class VMNotFoundError < VagrantError
|
|
error_key(:vm_not_found)
|
|
end
|
|
|
|
class VMNotRunningError < VagrantError
|
|
error_key(:vm_not_running)
|
|
end
|
|
|
|
class VMPowerOffToPackage < VagrantError
|
|
error_key(:power_off, "vagrant.actions.vm.export")
|
|
end
|
|
end
|
|
end
|