1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/route53domains/model/OperationType.h>
7 #include <aws/core/utils/HashingUtils.h>
8 #include <aws/core/Globals.h>
9 #include <aws/core/utils/EnumParseOverflowContainer.h>
10 
11 using namespace Aws::Utils;
12 
13 
14 namespace Aws
15 {
16   namespace Route53Domains
17   {
18     namespace Model
19     {
20       namespace OperationTypeMapper
21       {
22 
23         static const int REGISTER_DOMAIN_HASH = HashingUtils::HashString("REGISTER_DOMAIN");
24         static const int DELETE_DOMAIN_HASH = HashingUtils::HashString("DELETE_DOMAIN");
25         static const int TRANSFER_IN_DOMAIN_HASH = HashingUtils::HashString("TRANSFER_IN_DOMAIN");
26         static const int UPDATE_DOMAIN_CONTACT_HASH = HashingUtils::HashString("UPDATE_DOMAIN_CONTACT");
27         static const int UPDATE_NAMESERVER_HASH = HashingUtils::HashString("UPDATE_NAMESERVER");
28         static const int CHANGE_PRIVACY_PROTECTION_HASH = HashingUtils::HashString("CHANGE_PRIVACY_PROTECTION");
29         static const int DOMAIN_LOCK_HASH = HashingUtils::HashString("DOMAIN_LOCK");
30         static const int ENABLE_AUTORENEW_HASH = HashingUtils::HashString("ENABLE_AUTORENEW");
31         static const int DISABLE_AUTORENEW_HASH = HashingUtils::HashString("DISABLE_AUTORENEW");
32         static const int ADD_DNSSEC_HASH = HashingUtils::HashString("ADD_DNSSEC");
33         static const int REMOVE_DNSSEC_HASH = HashingUtils::HashString("REMOVE_DNSSEC");
34         static const int EXPIRE_DOMAIN_HASH = HashingUtils::HashString("EXPIRE_DOMAIN");
35         static const int TRANSFER_OUT_DOMAIN_HASH = HashingUtils::HashString("TRANSFER_OUT_DOMAIN");
36         static const int CHANGE_DOMAIN_OWNER_HASH = HashingUtils::HashString("CHANGE_DOMAIN_OWNER");
37         static const int RENEW_DOMAIN_HASH = HashingUtils::HashString("RENEW_DOMAIN");
38         static const int PUSH_DOMAIN_HASH = HashingUtils::HashString("PUSH_DOMAIN");
39         static const int INTERNAL_TRANSFER_OUT_DOMAIN_HASH = HashingUtils::HashString("INTERNAL_TRANSFER_OUT_DOMAIN");
40         static const int INTERNAL_TRANSFER_IN_DOMAIN_HASH = HashingUtils::HashString("INTERNAL_TRANSFER_IN_DOMAIN");
41 
42 
GetOperationTypeForName(const Aws::String & name)43         OperationType GetOperationTypeForName(const Aws::String& name)
44         {
45           int hashCode = HashingUtils::HashString(name.c_str());
46           if (hashCode == REGISTER_DOMAIN_HASH)
47           {
48             return OperationType::REGISTER_DOMAIN;
49           }
50           else if (hashCode == DELETE_DOMAIN_HASH)
51           {
52             return OperationType::DELETE_DOMAIN;
53           }
54           else if (hashCode == TRANSFER_IN_DOMAIN_HASH)
55           {
56             return OperationType::TRANSFER_IN_DOMAIN;
57           }
58           else if (hashCode == UPDATE_DOMAIN_CONTACT_HASH)
59           {
60             return OperationType::UPDATE_DOMAIN_CONTACT;
61           }
62           else if (hashCode == UPDATE_NAMESERVER_HASH)
63           {
64             return OperationType::UPDATE_NAMESERVER;
65           }
66           else if (hashCode == CHANGE_PRIVACY_PROTECTION_HASH)
67           {
68             return OperationType::CHANGE_PRIVACY_PROTECTION;
69           }
70           else if (hashCode == DOMAIN_LOCK_HASH)
71           {
72             return OperationType::DOMAIN_LOCK;
73           }
74           else if (hashCode == ENABLE_AUTORENEW_HASH)
75           {
76             return OperationType::ENABLE_AUTORENEW;
77           }
78           else if (hashCode == DISABLE_AUTORENEW_HASH)
79           {
80             return OperationType::DISABLE_AUTORENEW;
81           }
82           else if (hashCode == ADD_DNSSEC_HASH)
83           {
84             return OperationType::ADD_DNSSEC;
85           }
86           else if (hashCode == REMOVE_DNSSEC_HASH)
87           {
88             return OperationType::REMOVE_DNSSEC;
89           }
90           else if (hashCode == EXPIRE_DOMAIN_HASH)
91           {
92             return OperationType::EXPIRE_DOMAIN;
93           }
94           else if (hashCode == TRANSFER_OUT_DOMAIN_HASH)
95           {
96             return OperationType::TRANSFER_OUT_DOMAIN;
97           }
98           else if (hashCode == CHANGE_DOMAIN_OWNER_HASH)
99           {
100             return OperationType::CHANGE_DOMAIN_OWNER;
101           }
102           else if (hashCode == RENEW_DOMAIN_HASH)
103           {
104             return OperationType::RENEW_DOMAIN;
105           }
106           else if (hashCode == PUSH_DOMAIN_HASH)
107           {
108             return OperationType::PUSH_DOMAIN;
109           }
110           else if (hashCode == INTERNAL_TRANSFER_OUT_DOMAIN_HASH)
111           {
112             return OperationType::INTERNAL_TRANSFER_OUT_DOMAIN;
113           }
114           else if (hashCode == INTERNAL_TRANSFER_IN_DOMAIN_HASH)
115           {
116             return OperationType::INTERNAL_TRANSFER_IN_DOMAIN;
117           }
118           EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
119           if(overflowContainer)
120           {
121             overflowContainer->StoreOverflow(hashCode, name);
122             return static_cast<OperationType>(hashCode);
123           }
124 
125           return OperationType::NOT_SET;
126         }
127 
GetNameForOperationType(OperationType enumValue)128         Aws::String GetNameForOperationType(OperationType enumValue)
129         {
130           switch(enumValue)
131           {
132           case OperationType::REGISTER_DOMAIN:
133             return "REGISTER_DOMAIN";
134           case OperationType::DELETE_DOMAIN:
135             return "DELETE_DOMAIN";
136           case OperationType::TRANSFER_IN_DOMAIN:
137             return "TRANSFER_IN_DOMAIN";
138           case OperationType::UPDATE_DOMAIN_CONTACT:
139             return "UPDATE_DOMAIN_CONTACT";
140           case OperationType::UPDATE_NAMESERVER:
141             return "UPDATE_NAMESERVER";
142           case OperationType::CHANGE_PRIVACY_PROTECTION:
143             return "CHANGE_PRIVACY_PROTECTION";
144           case OperationType::DOMAIN_LOCK:
145             return "DOMAIN_LOCK";
146           case OperationType::ENABLE_AUTORENEW:
147             return "ENABLE_AUTORENEW";
148           case OperationType::DISABLE_AUTORENEW:
149             return "DISABLE_AUTORENEW";
150           case OperationType::ADD_DNSSEC:
151             return "ADD_DNSSEC";
152           case OperationType::REMOVE_DNSSEC:
153             return "REMOVE_DNSSEC";
154           case OperationType::EXPIRE_DOMAIN:
155             return "EXPIRE_DOMAIN";
156           case OperationType::TRANSFER_OUT_DOMAIN:
157             return "TRANSFER_OUT_DOMAIN";
158           case OperationType::CHANGE_DOMAIN_OWNER:
159             return "CHANGE_DOMAIN_OWNER";
160           case OperationType::RENEW_DOMAIN:
161             return "RENEW_DOMAIN";
162           case OperationType::PUSH_DOMAIN:
163             return "PUSH_DOMAIN";
164           case OperationType::INTERNAL_TRANSFER_OUT_DOMAIN:
165             return "INTERNAL_TRANSFER_OUT_DOMAIN";
166           case OperationType::INTERNAL_TRANSFER_IN_DOMAIN:
167             return "INTERNAL_TRANSFER_IN_DOMAIN";
168           default:
169             EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
170             if(overflowContainer)
171             {
172               return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
173             }
174 
175             return {};
176           }
177         }
178 
179       } // namespace OperationTypeMapper
180     } // namespace Model
181   } // namespace Route53Domains
182 } // namespace Aws
183