# Copyright 2018 - The Android Open Source Project # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. r"""Custom Exceptions for acloud.""" HTTP_NOT_FOUND_CODE = 404 class DriverError(Exception): """Base Android Gce driver exception.""" class ConfigError(DriverError): """Error related to config.""" class CommandArgError(DriverError): """Error related to command line args.""" class GceOperationTimeoutError(DriverError): """Error raised when a GCE operation timedout.""" class HttpError(DriverError): """Error related to http requests.""" def __init__(self, code, message): self.code = code super(HttpError, self).__init__(message) @staticmethod def CreateFromHttpError(http_error): """Create from an apiclient.errors.HttpError. Parse the error code from apiclient.errors.HttpError and create an instance of HttpError from this module that has the error code. Args: http_error: An apiclient.errors.HttpError instance. Returns: An HttpError instance from this module. """ return HttpError(http_error.resp.status, str(http_error)) class ResourceNotFoundError(HttpError): """Error raised when a resource is not found.""" class InvalidVirtualDeviceIpError(DriverError): """Invalid virtual device's IP is set. Raise this when the virtual device's IP of an AVD instance is invalid. """ class HasRetriableRequestsError(DriverError): """Raised when some retriable requests fail in a batch execution.""" class AuthenticationError(DriverError): """Raised when authentication fails.""" class DeviceBootError(DriverError): """To catch device boot errors.""" class NoSubnetwork(DriverError): """When there is no subnetwork for the GCE.""" class DeviceConnectionError(DriverError): """To catch device connection errors.""" class DeviceBootTimeoutError(DeviceBootError): """Raised when an AVD defice failed to boot within timeout.""" class SetupError(Exception): """Base Setup cmd exception.""" class OSTypeError(SetupError): """Error related to OS type.""" class NoGoogleSDKDetected(SetupError): """Can't find the SDK path.""" class PackageInstallError(SetupError): """Error related to package installation.""" class RequiredPackageNotInstalledError(SetupError): """Error related to required package not installed.""" class UnableToLocatePkgOnRepositoryError(SetupError): """Error related to unable to locate package.""" class NotSupportedPlatformError(SetupError): """Error related to user using a not supported os.""" class ParseBucketRegionError(SetupError): """Raised when parsing bucket information without region information.""" class CreateError(Exception): """Base Create cmd exception.""" class GetAndroidBuildEnvVarError(CreateError): """Can't get Android Build set environment variables.""" class CheckPathError(CreateError): """Path does not exist.""" class UnsupportedInstanceImageType(CreateError): """Unsupported create action for given instance/image type.""" class UnsupportedFlavor(CreateError): """Unsupported create action for given flavor name.""" class GetBuildIDError(CreateError): """Can't get build id from Android Build.""" class GetBranchFromRepoInfoError(CreateError): """Can't get branch information from output of #'repo info'.""" class NotSupportedHWPropertyError(CreateError): """An error to wrap a non-supported property issue.""" class MalformedDictStringError(CreateError): """Error related to unable to convert string to dict.""" class InvalidHWPropertyError(CreateError): """An error to wrap a malformed hw property issue.""" class GetLocalImageError(CreateError): """Can't find the local image.""" class GetCvdLocalHostPackageError(CreateError): """Can't find the lost host package.""" class NoCuttlefishCommonInstalled(SetupError): """Can't find cuttlefish_common lib.""" class UnpackBootImageError(CreateError): """Error related to unpack boot.img.""" class BootImgDoesNotExist(CreateError): """boot.img does not exist.""" class UnsupportedCompressionFileType(SetupError): """Don't support the compression file type.""" class LaunchCVDFail(CreateError): """Cuttlefish AVD launch failed.""" class NoExecuteCmd(CreateError): """Can't find execute bin command.""" class ReconnectError(Exception): """Base reconnect cmd exception.""" class NoInstancesFound(ReconnectError): """No instances found.""" class FunctionTimeoutError(Exception): """Timeout error of decorator function.""" class ZipImageError(Exception): """Zip image error."""