245 lines
7.6 KiB
C++
245 lines
7.6 KiB
C++
/**
|
|
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
* SPDX-License-Identifier: Apache-2.0.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <aws/core/client/AWSError.h>
|
|
#include <aws/core/client/CoreErrors.h>
|
|
#include <aws/ec2/EC2_EXPORTS.h>
|
|
|
|
namespace Aws
|
|
{
|
|
namespace EC2
|
|
{
|
|
enum class EC2Errors
|
|
{
|
|
//From Core//
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
INCOMPLETE_SIGNATURE = 0,
|
|
INTERNAL_FAILURE = 1,
|
|
INVALID_ACTION = 2,
|
|
INVALID_CLIENT_TOKEN_ID = 3,
|
|
INVALID_PARAMETER_COMBINATION = 4,
|
|
INVALID_QUERY_PARAMETER = 5,
|
|
INVALID_PARAMETER_VALUE = 6,
|
|
MISSING_ACTION = 7, // SDK should never allow
|
|
MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow
|
|
MISSING_PARAMETER = 9, // SDK should never allow
|
|
OPT_IN_REQUIRED = 10,
|
|
REQUEST_EXPIRED = 11,
|
|
SERVICE_UNAVAILABLE = 12,
|
|
THROTTLING = 13,
|
|
VALIDATION = 14,
|
|
ACCESS_DENIED = 15,
|
|
RESOURCE_NOT_FOUND = 16,
|
|
UNRECOGNIZED_CLIENT = 17,
|
|
MALFORMED_QUERY_STRING = 18,
|
|
SLOW_DOWN = 19,
|
|
REQUEST_TIME_TOO_SKEWED = 20,
|
|
INVALID_SIGNATURE = 21,
|
|
SIGNATURE_DOES_NOT_MATCH = 22,
|
|
INVALID_ACCESS_KEY_ID = 23,
|
|
REQUEST_TIMEOUT = 24,
|
|
NETWORK_CONNECTION = 99,
|
|
|
|
UNKNOWN = 100,
|
|
///////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
ACTIVE_VPC_PEERING_CONNECTION_PER_VPC_LIMIT_EXCEEDED= static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1,
|
|
ADDRESS_LIMIT_EXCEEDED,
|
|
ATTACHMENT_LIMIT_EXCEEDED,
|
|
BUNDLING_IN_PROGRESS,
|
|
CANNOT_DELETE,
|
|
CONCURRENT_SNAPSHOT_LIMIT_EXCEEDED,
|
|
CONCURRENT_TAG_ACCESS,
|
|
CUSTOMER_GATEWAY_LIMIT_EXCEEDED,
|
|
DEPENDENCY_VIOLATION,
|
|
DISK_IMAGE_SIZE_TOO_LARGE,
|
|
DRY_RUN_OPERATION,
|
|
ENCRYPTED_VOLUMES_NOT_SUPPORTED,
|
|
FILTER_LIMIT_EXCEEDED,
|
|
FLOW_LOGS_LIMIT_EXCEEDED,
|
|
FLOW_LOG_ALREADY_EXISTS,
|
|
GATEWAY__NOT_ATTACHED,
|
|
INCORRECT_INSTANCE_STATE,
|
|
INCORRECT_STATE,
|
|
INSTANCE_ALREADY_LINKED,
|
|
INSTANCE_LIMIT_EXCEEDED,
|
|
INSUFFICIENT_FREE_ADDRESSES_IN_SUBNET,
|
|
INSUFFICIENT_RESERVED_INSTANCES_CAPACITY,
|
|
INTERNET_GATEWAY_LIMIT_EXCEEDED,
|
|
INVALID_ADDRESS_I_D__NOT_FOUND,
|
|
INVALID_ADDRESS__MALFORMED,
|
|
INVALID_ADDRESS__NOT_FOUND,
|
|
INVALID_ALLOCATION_I_D__NOT_FOUND,
|
|
INVALID_ASSOCIATION_I_D__NOT_FOUND,
|
|
INVALID_ATTACHMENT_I_D__NOT_FOUND,
|
|
INVALID_ATTACHMENT__NOT_FOUND,
|
|
INVALID_A_M_I_ATTRIBUTE_ITEM_VALUE,
|
|
INVALID_A_M_I_I_D__MALFORMED,
|
|
INVALID_A_M_I_I_D__NOT_FOUND,
|
|
INVALID_A_M_I_I_D__UNAVAILABLE,
|
|
INVALID_A_M_I_NAME__DUPLICATE,
|
|
INVALID_A_M_I_NAME__MALFORMED,
|
|
INVALID_BLOCK_DEVICE_MAPPING,
|
|
INVALID_BUNDLE_I_D__NOT_FOUND,
|
|
INVALID_CONVERSION_TASK_ID,
|
|
INVALID_CUSTOMER_GATEWAY_ID__MALFORMED,
|
|
INVALID_CUSTOMER_GATEWAY_I_D__NOT_FOUND,
|
|
INVALID_CUSTOMER_GATEWAY__DUPLICATE_IP_ADDRESS,
|
|
INVALID_DEVICE__IN_USE,
|
|
INVALID_DHCP_OPTIONS_ID__MALFORMED,
|
|
INVALID_DHCP_OPTIONS_I_D__NOT_FOUND,
|
|
INVALID_DHCP_OPTION_I_D__NOT_FOUND,
|
|
INVALID_EXPORT_TASK_I_D__NOT_FOUND,
|
|
INVALID_FILTER,
|
|
INVALID_FLOW_LOG_ID__NOT_FOUND,
|
|
INVALID_FORMAT,
|
|
INVALID_GATEWAY_I_D__NOT_FOUND,
|
|
INVALID_GROUP_ID__MALFORMED,
|
|
INVALID_GROUP__DUPLICATE,
|
|
INVALID_GROUP__IN_USE,
|
|
INVALID_GROUP__NOT_FOUND,
|
|
INVALID_GROUP__RESERVED,
|
|
INVALID_INPUT,
|
|
INVALID_INSTANCE_ATTRIBUTE_VALUE,
|
|
INVALID_INSTANCE_I_D,
|
|
INVALID_INSTANCE_I_D__MALFORMED,
|
|
INVALID_INSTANCE_I_D__NOT_FOUND,
|
|
INVALID_INSTANCE_I_D__NOT_LINKABLE,
|
|
INVALID_INSTANCE_TYPE,
|
|
INVALID_INTERFACE__IP_ADDRESS_LIMIT_EXCEEDED,
|
|
INVALID_INTERNET_GATEWAY_I_D__NOT_FOUND,
|
|
INVALID_I_D,
|
|
INVALID_I_P_ADDRESS__IN_USE,
|
|
INVALID_KEY_PAIR__DUPLICATE,
|
|
INVALID_KEY_PAIR__FORMAT,
|
|
INVALID_KEY_PAIR__NOT_FOUND,
|
|
INVALID_KEY__FORMAT,
|
|
INVALID_MANIFEST,
|
|
INVALID_NETWORK_ACL_ENTRY__NOT_FOUND,
|
|
INVALID_NETWORK_ACL_I_D__NOT_FOUND,
|
|
INVALID_NETWORK_INTERFACE_ATTACHMENT_I_D__MALFORMED,
|
|
INVALID_NETWORK_INTERFACE_ID__MALFORMED,
|
|
INVALID_NETWORK_INTERFACE_I_D__NOT_FOUND,
|
|
INVALID_OPTION__CONFLICT,
|
|
INVALID_PERMISSION__DUPLICATE,
|
|
INVALID_PERMISSION__MALFORMED,
|
|
INVALID_PERMISSION__NOT_FOUND,
|
|
INVALID_PLACEMENT_GROUP__DUPLICATE,
|
|
INVALID_PLACEMENT_GROUP__IN_USE,
|
|
INVALID_PLACEMENT_GROUP__UNKNOWN,
|
|
INVALID_POLICY_DOCUMENT,
|
|
INVALID_PREFIX_LIST_ID__MALFORMED,
|
|
INVALID_PREFIX_LIST_ID__NOT_FOUND,
|
|
INVALID_REQUEST,
|
|
INVALID_RESERVATION_I_D__MALFORMED,
|
|
INVALID_RESERVATION_I_D__NOT_FOUND,
|
|
INVALID_RESERVED_INSTANCES_ID,
|
|
INVALID_RESERVED_INSTANCES_OFFERING_ID,
|
|
INVALID_ROUTE_TABLE_ID__MALFORMED,
|
|
INVALID_ROUTE_TABLE_I_D__NOT_FOUND,
|
|
INVALID_ROUTE__MALFORMED,
|
|
INVALID_ROUTE__NOT_FOUND,
|
|
INVALID_SECURITY_GROUP_I_D__NOT_FOUND,
|
|
INVALID_SECURITY__REQUEST_HAS_EXPIRED,
|
|
INVALID_SERVICE_NAME,
|
|
INVALID_SNAPSHOT_I_D__MALFORMED,
|
|
INVALID_SNAPSHOT__IN_USE,
|
|
INVALID_SNAPSHOT__NOT_FOUND,
|
|
INVALID_SPOT_DATAFEED__NOT_FOUND,
|
|
INVALID_SPOT_FLEET_REQUEST_CONFIG,
|
|
INVALID_SPOT_FLEET_REQUEST_ID__MALFORMED,
|
|
INVALID_SPOT_FLEET_REQUEST_ID__NOT_FOUND,
|
|
INVALID_SPOT_INSTANCE_REQUEST_I_D__MALFORMED,
|
|
INVALID_SPOT_INSTANCE_REQUEST_I_D__NOT_FOUND,
|
|
INVALID_STATE,
|
|
INVALID_STATE_TRANSITION,
|
|
INVALID_SUBNET_I_D__NOT_FOUND,
|
|
INVALID_SUBNET__CONFLICT,
|
|
INVALID_USER_I_D__MALFORMED,
|
|
INVALID_VOLUME_I_D__DUPLICATE,
|
|
INVALID_VOLUME_I_D__MALFORMED,
|
|
INVALID_VOLUME_I_D__ZONE_MISMATCH,
|
|
INVALID_VOLUME__NOT_FOUND,
|
|
INVALID_VOLUME__ZONE_MISMATCH,
|
|
INVALID_VPC_ENDPOINT_ID__MALFORMED,
|
|
INVALID_VPC_ENDPOINT_ID__NOT_FOUND,
|
|
INVALID_VPC_I_D__NOT_FOUND,
|
|
INVALID_VPC_PEERING_CONNECTION_ID__MALFORMED,
|
|
INVALID_VPC_PEERING_CONNECTION_I_D__NOT_FOUND,
|
|
INVALID_VPC_STATE,
|
|
INVALID_VPC__RANGE,
|
|
INVALID_VPN_CONNECTION_I_D,
|
|
INVALID_VPN_CONNECTION_I_D__NOT_FOUND,
|
|
INVALID_VPN_GATEWAY_ATTACHMENT__NOT_FOUND,
|
|
INVALID_VPN_GATEWAY_I_D__NOT_FOUND,
|
|
INVALID_ZONE__NOT_FOUND,
|
|
LEGACY_SECURITY_GROUP,
|
|
MAX_I_O_P_S_LIMIT_EXCEEDED,
|
|
MAX_SPOT_FLEET_REQUEST_COUNT_EXCEEDED,
|
|
MAX_SPOT_INSTANCE_COUNT_EXCEEDED,
|
|
NETWORK_ACL_ENTRY_ALREADY_EXISTS,
|
|
NETWORK_ACL_ENTRY_LIMIT_EXCEEDED,
|
|
NETWORK_ACL_LIMIT_EXCEEDED,
|
|
NON_E_B_S_INSTANCE,
|
|
NOT_EXPORTABLE,
|
|
OPERATION_NOT_PERMITTED,
|
|
OUTSTANDING_VPC_PEERING_CONNECTION_LIMIT_EXCEEDED,
|
|
PENDING_SNAPSHOT_LIMIT_EXCEEDED,
|
|
PRIVATE_IP_ADDRESS_LIMIT_EXCEEDED,
|
|
REQUEST_RESOURCE_COUNT_EXCEEDED,
|
|
RESERVED_INSTANCES_LIMIT_EXCEEDED,
|
|
RESOURCE_COUNT_EXCEEDED,
|
|
RESOURCE_LIMIT_EXCEEDED,
|
|
RESOURCE__ALREADY_ASSOCIATED,
|
|
ROUTE_ALREADY_EXISTS,
|
|
ROUTE_LIMIT_EXCEEDED,
|
|
ROUTE_TABLE_LIMIT_EXCEEDED,
|
|
RULES_PER_SECURITY_GROUP_LIMIT_EXCEEDED,
|
|
SECURITY_GROUPS_PER_INSTANCE_LIMIT_EXCEEDED,
|
|
SECURITY_GROUPS_PER_INTERFACE_LIMIT_EXCEEDED,
|
|
SECURITY_GROUP_LIMIT_EXCEEDED,
|
|
SNAPSHOT_LIMIT_EXCEEDED,
|
|
SUBNET_LIMIT_EXCEEDED,
|
|
TAG_LIMIT_EXCEEDED,
|
|
UNKNOWN_VOLUME_TYPE,
|
|
UNSUPPORTED,
|
|
UNSUPPORTED_OPERATION,
|
|
VOLUME_IN_USE,
|
|
VOLUME_LIMIT_EXCEEDED,
|
|
VOLUME_TYPE_NOT_AVAILABLE_IN_ZONE,
|
|
VPC_CIDR_CONFLICT,
|
|
VPC_ENDPOINT_LIMIT_EXCEEDED,
|
|
VPC_LIMIT_EXCEEDED,
|
|
VPC_PEERING_CONNECTION_ALREADY_EXISTS,
|
|
VPN_CONNECTION_LIMIT_EXCEEDED,
|
|
VPN_GATEWAY_ATTACHMENT_LIMIT_EXCEEDED,
|
|
VPN_GATEWAY_LIMIT_EXCEEDED,
|
|
V_P_C_ID_NOT_SPECIFIED,
|
|
V_P_C_RESOURCE_NOT_SPECIFIED
|
|
};
|
|
|
|
class AWS_EC2_API EC2Error : public Aws::Client::AWSError<EC2Errors>
|
|
{
|
|
public:
|
|
EC2Error() {}
|
|
EC2Error(const Aws::Client::AWSError<Aws::Client::CoreErrors>& rhs) : Aws::Client::AWSError<EC2Errors>(rhs) {}
|
|
EC2Error(Aws::Client::AWSError<Aws::Client::CoreErrors>&& rhs) : Aws::Client::AWSError<EC2Errors>(rhs) {}
|
|
EC2Error(const Aws::Client::AWSError<EC2Errors>& rhs) : Aws::Client::AWSError<EC2Errors>(rhs) {}
|
|
EC2Error(Aws::Client::AWSError<EC2Errors>&& rhs) : Aws::Client::AWSError<EC2Errors>(rhs) {}
|
|
|
|
template <typename T>
|
|
T GetModeledError();
|
|
};
|
|
|
|
namespace EC2ErrorMapper
|
|
{
|
|
AWS_EC2_API Aws::Client::AWSError<Aws::Client::CoreErrors> GetErrorForName(const char* errorName);
|
|
}
|
|
|
|
} // namespace EC2
|
|
} // namespace Aws
|