1 /** 2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 3 * SPDX-License-Identifier: Apache-2.0. 4 */ 5 6 #include <aws/ecs/model/CapacityProviderField.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 ECS 17 { 18 namespace Model 19 { 20 namespace CapacityProviderFieldMapper 21 { 22 23 static const int TAGS_HASH = HashingUtils::HashString("TAGS"); 24 25 GetCapacityProviderFieldForName(const Aws::String & name)26 CapacityProviderField GetCapacityProviderFieldForName(const Aws::String& name) 27 { 28 int hashCode = HashingUtils::HashString(name.c_str()); 29 if (hashCode == TAGS_HASH) 30 { 31 return CapacityProviderField::TAGS; 32 } 33 EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); 34 if(overflowContainer) 35 { 36 overflowContainer->StoreOverflow(hashCode, name); 37 return static_cast<CapacityProviderField>(hashCode); 38 } 39 40 return CapacityProviderField::NOT_SET; 41 } 42 GetNameForCapacityProviderField(CapacityProviderField enumValue)43 Aws::String GetNameForCapacityProviderField(CapacityProviderField enumValue) 44 { 45 switch(enumValue) 46 { 47 case CapacityProviderField::TAGS: 48 return "TAGS"; 49 default: 50 EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer(); 51 if(overflowContainer) 52 { 53 return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue)); 54 } 55 56 return {}; 57 } 58 } 59 60 } // namespace CapacityProviderFieldMapper 61 } // namespace Model 62 } // namespace ECS 63 } // namespace Aws 64