1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/sagemaker/model/TransformJobDefinition.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8
9 #include <utility>
10
11 using namespace Aws::Utils::Json;
12 using namespace Aws::Utils;
13
14 namespace Aws
15 {
16 namespace SageMaker
17 {
18 namespace Model
19 {
20
TransformJobDefinition()21 TransformJobDefinition::TransformJobDefinition() :
22 m_maxConcurrentTransforms(0),
23 m_maxConcurrentTransformsHasBeenSet(false),
24 m_maxPayloadInMB(0),
25 m_maxPayloadInMBHasBeenSet(false),
26 m_batchStrategy(BatchStrategy::NOT_SET),
27 m_batchStrategyHasBeenSet(false),
28 m_environmentHasBeenSet(false),
29 m_transformInputHasBeenSet(false),
30 m_transformOutputHasBeenSet(false),
31 m_transformResourcesHasBeenSet(false)
32 {
33 }
34
TransformJobDefinition(JsonView jsonValue)35 TransformJobDefinition::TransformJobDefinition(JsonView jsonValue) :
36 m_maxConcurrentTransforms(0),
37 m_maxConcurrentTransformsHasBeenSet(false),
38 m_maxPayloadInMB(0),
39 m_maxPayloadInMBHasBeenSet(false),
40 m_batchStrategy(BatchStrategy::NOT_SET),
41 m_batchStrategyHasBeenSet(false),
42 m_environmentHasBeenSet(false),
43 m_transformInputHasBeenSet(false),
44 m_transformOutputHasBeenSet(false),
45 m_transformResourcesHasBeenSet(false)
46 {
47 *this = jsonValue;
48 }
49
operator =(JsonView jsonValue)50 TransformJobDefinition& TransformJobDefinition::operator =(JsonView jsonValue)
51 {
52 if(jsonValue.ValueExists("MaxConcurrentTransforms"))
53 {
54 m_maxConcurrentTransforms = jsonValue.GetInteger("MaxConcurrentTransforms");
55
56 m_maxConcurrentTransformsHasBeenSet = true;
57 }
58
59 if(jsonValue.ValueExists("MaxPayloadInMB"))
60 {
61 m_maxPayloadInMB = jsonValue.GetInteger("MaxPayloadInMB");
62
63 m_maxPayloadInMBHasBeenSet = true;
64 }
65
66 if(jsonValue.ValueExists("BatchStrategy"))
67 {
68 m_batchStrategy = BatchStrategyMapper::GetBatchStrategyForName(jsonValue.GetString("BatchStrategy"));
69
70 m_batchStrategyHasBeenSet = true;
71 }
72
73 if(jsonValue.ValueExists("Environment"))
74 {
75 Aws::Map<Aws::String, JsonView> environmentJsonMap = jsonValue.GetObject("Environment").GetAllObjects();
76 for(auto& environmentItem : environmentJsonMap)
77 {
78 m_environment[environmentItem.first] = environmentItem.second.AsString();
79 }
80 m_environmentHasBeenSet = true;
81 }
82
83 if(jsonValue.ValueExists("TransformInput"))
84 {
85 m_transformInput = jsonValue.GetObject("TransformInput");
86
87 m_transformInputHasBeenSet = true;
88 }
89
90 if(jsonValue.ValueExists("TransformOutput"))
91 {
92 m_transformOutput = jsonValue.GetObject("TransformOutput");
93
94 m_transformOutputHasBeenSet = true;
95 }
96
97 if(jsonValue.ValueExists("TransformResources"))
98 {
99 m_transformResources = jsonValue.GetObject("TransformResources");
100
101 m_transformResourcesHasBeenSet = true;
102 }
103
104 return *this;
105 }
106
Jsonize() const107 JsonValue TransformJobDefinition::Jsonize() const
108 {
109 JsonValue payload;
110
111 if(m_maxConcurrentTransformsHasBeenSet)
112 {
113 payload.WithInteger("MaxConcurrentTransforms", m_maxConcurrentTransforms);
114
115 }
116
117 if(m_maxPayloadInMBHasBeenSet)
118 {
119 payload.WithInteger("MaxPayloadInMB", m_maxPayloadInMB);
120
121 }
122
123 if(m_batchStrategyHasBeenSet)
124 {
125 payload.WithString("BatchStrategy", BatchStrategyMapper::GetNameForBatchStrategy(m_batchStrategy));
126 }
127
128 if(m_environmentHasBeenSet)
129 {
130 JsonValue environmentJsonMap;
131 for(auto& environmentItem : m_environment)
132 {
133 environmentJsonMap.WithString(environmentItem.first, environmentItem.second);
134 }
135 payload.WithObject("Environment", std::move(environmentJsonMap));
136
137 }
138
139 if(m_transformInputHasBeenSet)
140 {
141 payload.WithObject("TransformInput", m_transformInput.Jsonize());
142
143 }
144
145 if(m_transformOutputHasBeenSet)
146 {
147 payload.WithObject("TransformOutput", m_transformOutput.Jsonize());
148
149 }
150
151 if(m_transformResourcesHasBeenSet)
152 {
153 payload.WithObject("TransformResources", m_transformResources.Jsonize());
154
155 }
156
157 return payload;
158 }
159
160 } // namespace Model
161 } // namespace SageMaker
162 } // namespace Aws
163