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