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