1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #pragma once
7 
8 #include <aws/core/client/AWSError.h>
9 #include <aws/core/client/CoreErrors.h>
10 #include <aws/devicefarm/DeviceFarm_EXPORTS.h>
11 
12 namespace Aws
13 {
14 namespace DeviceFarm
15 {
16 enum class DeviceFarmErrors
17 {
18   //From Core//
19   //////////////////////////////////////////////////////////////////////////////////////////
20   INCOMPLETE_SIGNATURE = 0,
21   INTERNAL_FAILURE = 1,
22   INVALID_ACTION = 2,
23   INVALID_CLIENT_TOKEN_ID = 3,
24   INVALID_PARAMETER_COMBINATION = 4,
25   INVALID_QUERY_PARAMETER = 5,
26   INVALID_PARAMETER_VALUE = 6,
27   MISSING_ACTION = 7, // SDK should never allow
28   MISSING_AUTHENTICATION_TOKEN = 8, // SDK should never allow
29   MISSING_PARAMETER = 9, // SDK should never allow
30   OPT_IN_REQUIRED = 10,
31   REQUEST_EXPIRED = 11,
32   SERVICE_UNAVAILABLE = 12,
33   THROTTLING = 13,
34   VALIDATION = 14,
35   ACCESS_DENIED = 15,
36   RESOURCE_NOT_FOUND = 16,
37   UNRECOGNIZED_CLIENT = 17,
38   MALFORMED_QUERY_STRING = 18,
39   SLOW_DOWN = 19,
40   REQUEST_TIME_TOO_SKEWED = 20,
41   INVALID_SIGNATURE = 21,
42   SIGNATURE_DOES_NOT_MATCH = 22,
43   INVALID_ACCESS_KEY_ID = 23,
44   REQUEST_TIMEOUT = 24,
45   NETWORK_CONNECTION = 99,
46 
47   UNKNOWN = 100,
48   ///////////////////////////////////////////////////////////////////////////////////////////
49 
50   ARGUMENT= static_cast<int>(Aws::Client::CoreErrors::SERVICE_EXTENSION_START_RANGE) + 1,
51   CANNOT_DELETE,
52   IDEMPOTENCY,
53   INTERNAL_SERVICE,
54   INVALID_OPERATION,
55   LIMIT_EXCEEDED,
56   NOT_ELIGIBLE,
57   NOT_FOUND,
58   SERVICE_ACCOUNT,
59   TAG_OPERATION,
60   TAG_POLICY,
61   TOO_MANY_TAGS
62 };
63 
64 class AWS_DEVICEFARM_API DeviceFarmError : public Aws::Client::AWSError<DeviceFarmErrors>
65 {
66 public:
DeviceFarmError()67   DeviceFarmError() {}
DeviceFarmError(const Aws::Client::AWSError<Aws::Client::CoreErrors> & rhs)68   DeviceFarmError(const Aws::Client::AWSError<Aws::Client::CoreErrors>& rhs) : Aws::Client::AWSError<DeviceFarmErrors>(rhs) {}
DeviceFarmError(Aws::Client::AWSError<Aws::Client::CoreErrors> && rhs)69   DeviceFarmError(Aws::Client::AWSError<Aws::Client::CoreErrors>&& rhs) : Aws::Client::AWSError<DeviceFarmErrors>(rhs) {}
DeviceFarmError(const Aws::Client::AWSError<DeviceFarmErrors> & rhs)70   DeviceFarmError(const Aws::Client::AWSError<DeviceFarmErrors>& rhs) : Aws::Client::AWSError<DeviceFarmErrors>(rhs) {}
DeviceFarmError(Aws::Client::AWSError<DeviceFarmErrors> && rhs)71   DeviceFarmError(Aws::Client::AWSError<DeviceFarmErrors>&& rhs) : Aws::Client::AWSError<DeviceFarmErrors>(rhs) {}
72 
73   template <typename T>
74   T GetModeledError();
75 };
76 
77 namespace DeviceFarmErrorMapper
78 {
79   AWS_DEVICEFARM_API Aws::Client::AWSError<Aws::Client::CoreErrors> GetErrorForName(const char* errorName);
80 }
81 
82 } // namespace DeviceFarm
83 } // namespace Aws
84