forked from aws/aws-sdk-cpp
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathRuntime.cpp
More file actions
143 lines (132 loc) · 4.58 KB
/
Runtime.cpp
File metadata and controls
143 lines (132 loc) · 4.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
/*
* Copyright 2010-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License").
* You may not use this file except in compliance with the License.
* A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed
* on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language governing
* permissions and limitations under the License.
*/
#include <aws/lambda/model/Runtime.h>
#include <aws/core/utils/HashingUtils.h>
#include <aws/core/Globals.h>
#include <aws/core/utils/EnumParseOverflowContainer.h>
using namespace Aws::Utils;
namespace Aws
{
namespace Lambda
{
namespace Model
{
namespace RuntimeMapper
{
static const int nodejs_HASH = HashingUtils::HashString("nodejs");
static const int nodejs4_3_HASH = HashingUtils::HashString("nodejs4.3");
static const int nodejs6_10_HASH = HashingUtils::HashString("nodejs6.10");
static const int nodejs8_10_HASH = HashingUtils::HashString("nodejs8.10");
static const int java8_HASH = HashingUtils::HashString("java8");
static const int python2_7_HASH = HashingUtils::HashString("python2.7");
static const int python3_6_HASH = HashingUtils::HashString("python3.6");
static const int dotnetcore1_0_HASH = HashingUtils::HashString("dotnetcore1.0");
static const int dotnetcore2_0_HASH = HashingUtils::HashString("dotnetcore2.0");
static const int nodejs4_3_edge_HASH = HashingUtils::HashString("nodejs4.3-edge");
static const int go1_x_HASH = HashingUtils::HashString("go1.x");
Runtime GetRuntimeForName(const Aws::String& name)
{
int hashCode = HashingUtils::HashString(name.c_str());
if (hashCode == nodejs_HASH)
{
return Runtime::nodejs;
}
else if (hashCode == nodejs4_3_HASH)
{
return Runtime::nodejs4_3;
}
else if (hashCode == nodejs6_10_HASH)
{
return Runtime::nodejs6_10;
}
else if (hashCode == nodejs8_10_HASH)
{
return Runtime::nodejs8_10;
}
else if (hashCode == java8_HASH)
{
return Runtime::java8;
}
else if (hashCode == python2_7_HASH)
{
return Runtime::python2_7;
}
else if (hashCode == python3_6_HASH)
{
return Runtime::python3_6;
}
else if (hashCode == dotnetcore1_0_HASH)
{
return Runtime::dotnetcore1_0;
}
else if (hashCode == dotnetcore2_0_HASH)
{
return Runtime::dotnetcore2_0;
}
else if (hashCode == nodejs4_3_edge_HASH)
{
return Runtime::nodejs4_3_edge;
}
else if (hashCode == go1_x_HASH)
{
return Runtime::go1_x;
}
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
overflowContainer->StoreOverflow(hashCode, name);
return static_cast<Runtime>(hashCode);
}
return Runtime::NOT_SET;
}
Aws::String GetNameForRuntime(Runtime enumValue)
{
switch(enumValue)
{
case Runtime::nodejs:
return "nodejs";
case Runtime::nodejs4_3:
return "nodejs4.3";
case Runtime::nodejs6_10:
return "nodejs6.10";
case Runtime::nodejs8_10:
return "nodejs8.10";
case Runtime::java8:
return "java8";
case Runtime::python2_7:
return "python2.7";
case Runtime::python3_6:
return "python3.6";
case Runtime::dotnetcore1_0:
return "dotnetcore1.0";
case Runtime::dotnetcore2_0:
return "dotnetcore2.0";
case Runtime::nodejs4_3_edge:
return "nodejs4.3-edge";
case Runtime::go1_x:
return "go1.x";
default:
EnumParseOverflowContainer* overflowContainer = Aws::GetEnumOverflowContainer();
if(overflowContainer)
{
return overflowContainer->RetrieveOverflow(static_cast<int>(enumValue));
}
return "";
}
}
} // namespace RuntimeMapper
} // namespace Model
} // namespace Lambda
} // namespace Aws