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/TransformJob.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 
TransformJob()21 TransformJob::TransformJob() :
22     m_transformJobNameHasBeenSet(false),
23     m_transformJobArnHasBeenSet(false),
24     m_transformJobStatus(TransformJobStatus::NOT_SET),
25     m_transformJobStatusHasBeenSet(false),
26     m_failureReasonHasBeenSet(false),
27     m_modelNameHasBeenSet(false),
28     m_maxConcurrentTransforms(0),
29     m_maxConcurrentTransformsHasBeenSet(false),
30     m_modelClientConfigHasBeenSet(false),
31     m_maxPayloadInMB(0),
32     m_maxPayloadInMBHasBeenSet(false),
33     m_batchStrategy(BatchStrategy::NOT_SET),
34     m_batchStrategyHasBeenSet(false),
35     m_environmentHasBeenSet(false),
36     m_transformInputHasBeenSet(false),
37     m_transformOutputHasBeenSet(false),
38     m_transformResourcesHasBeenSet(false),
39     m_creationTimeHasBeenSet(false),
40     m_transformStartTimeHasBeenSet(false),
41     m_transformEndTimeHasBeenSet(false),
42     m_labelingJobArnHasBeenSet(false),
43     m_autoMLJobArnHasBeenSet(false),
44     m_dataProcessingHasBeenSet(false),
45     m_experimentConfigHasBeenSet(false),
46     m_tagsHasBeenSet(false)
47 {
48 }
49 
TransformJob(JsonView jsonValue)50 TransformJob::TransformJob(JsonView jsonValue) :
51     m_transformJobNameHasBeenSet(false),
52     m_transformJobArnHasBeenSet(false),
53     m_transformJobStatus(TransformJobStatus::NOT_SET),
54     m_transformJobStatusHasBeenSet(false),
55     m_failureReasonHasBeenSet(false),
56     m_modelNameHasBeenSet(false),
57     m_maxConcurrentTransforms(0),
58     m_maxConcurrentTransformsHasBeenSet(false),
59     m_modelClientConfigHasBeenSet(false),
60     m_maxPayloadInMB(0),
61     m_maxPayloadInMBHasBeenSet(false),
62     m_batchStrategy(BatchStrategy::NOT_SET),
63     m_batchStrategyHasBeenSet(false),
64     m_environmentHasBeenSet(false),
65     m_transformInputHasBeenSet(false),
66     m_transformOutputHasBeenSet(false),
67     m_transformResourcesHasBeenSet(false),
68     m_creationTimeHasBeenSet(false),
69     m_transformStartTimeHasBeenSet(false),
70     m_transformEndTimeHasBeenSet(false),
71     m_labelingJobArnHasBeenSet(false),
72     m_autoMLJobArnHasBeenSet(false),
73     m_dataProcessingHasBeenSet(false),
74     m_experimentConfigHasBeenSet(false),
75     m_tagsHasBeenSet(false)
76 {
77   *this = jsonValue;
78 }
79 
operator =(JsonView jsonValue)80 TransformJob& TransformJob::operator =(JsonView jsonValue)
81 {
82   if(jsonValue.ValueExists("TransformJobName"))
83   {
84     m_transformJobName = jsonValue.GetString("TransformJobName");
85 
86     m_transformJobNameHasBeenSet = true;
87   }
88 
89   if(jsonValue.ValueExists("TransformJobArn"))
90   {
91     m_transformJobArn = jsonValue.GetString("TransformJobArn");
92 
93     m_transformJobArnHasBeenSet = true;
94   }
95 
96   if(jsonValue.ValueExists("TransformJobStatus"))
97   {
98     m_transformJobStatus = TransformJobStatusMapper::GetTransformJobStatusForName(jsonValue.GetString("TransformJobStatus"));
99 
100     m_transformJobStatusHasBeenSet = true;
101   }
102 
103   if(jsonValue.ValueExists("FailureReason"))
104   {
105     m_failureReason = jsonValue.GetString("FailureReason");
106 
107     m_failureReasonHasBeenSet = true;
108   }
109 
110   if(jsonValue.ValueExists("ModelName"))
111   {
112     m_modelName = jsonValue.GetString("ModelName");
113 
114     m_modelNameHasBeenSet = true;
115   }
116 
117   if(jsonValue.ValueExists("MaxConcurrentTransforms"))
118   {
119     m_maxConcurrentTransforms = jsonValue.GetInteger("MaxConcurrentTransforms");
120 
121     m_maxConcurrentTransformsHasBeenSet = true;
122   }
123 
124   if(jsonValue.ValueExists("ModelClientConfig"))
125   {
126     m_modelClientConfig = jsonValue.GetObject("ModelClientConfig");
127 
128     m_modelClientConfigHasBeenSet = true;
129   }
130 
131   if(jsonValue.ValueExists("MaxPayloadInMB"))
132   {
133     m_maxPayloadInMB = jsonValue.GetInteger("MaxPayloadInMB");
134 
135     m_maxPayloadInMBHasBeenSet = true;
136   }
137 
138   if(jsonValue.ValueExists("BatchStrategy"))
139   {
140     m_batchStrategy = BatchStrategyMapper::GetBatchStrategyForName(jsonValue.GetString("BatchStrategy"));
141 
142     m_batchStrategyHasBeenSet = true;
143   }
144 
145   if(jsonValue.ValueExists("Environment"))
146   {
147     Aws::Map<Aws::String, JsonView> environmentJsonMap = jsonValue.GetObject("Environment").GetAllObjects();
148     for(auto& environmentItem : environmentJsonMap)
149     {
150       m_environment[environmentItem.first] = environmentItem.second.AsString();
151     }
152     m_environmentHasBeenSet = true;
153   }
154 
155   if(jsonValue.ValueExists("TransformInput"))
156   {
157     m_transformInput = jsonValue.GetObject("TransformInput");
158 
159     m_transformInputHasBeenSet = true;
160   }
161 
162   if(jsonValue.ValueExists("TransformOutput"))
163   {
164     m_transformOutput = jsonValue.GetObject("TransformOutput");
165 
166     m_transformOutputHasBeenSet = true;
167   }
168 
169   if(jsonValue.ValueExists("TransformResources"))
170   {
171     m_transformResources = jsonValue.GetObject("TransformResources");
172 
173     m_transformResourcesHasBeenSet = true;
174   }
175 
176   if(jsonValue.ValueExists("CreationTime"))
177   {
178     m_creationTime = jsonValue.GetDouble("CreationTime");
179 
180     m_creationTimeHasBeenSet = true;
181   }
182 
183   if(jsonValue.ValueExists("TransformStartTime"))
184   {
185     m_transformStartTime = jsonValue.GetDouble("TransformStartTime");
186 
187     m_transformStartTimeHasBeenSet = true;
188   }
189 
190   if(jsonValue.ValueExists("TransformEndTime"))
191   {
192     m_transformEndTime = jsonValue.GetDouble("TransformEndTime");
193 
194     m_transformEndTimeHasBeenSet = true;
195   }
196 
197   if(jsonValue.ValueExists("LabelingJobArn"))
198   {
199     m_labelingJobArn = jsonValue.GetString("LabelingJobArn");
200 
201     m_labelingJobArnHasBeenSet = true;
202   }
203 
204   if(jsonValue.ValueExists("AutoMLJobArn"))
205   {
206     m_autoMLJobArn = jsonValue.GetString("AutoMLJobArn");
207 
208     m_autoMLJobArnHasBeenSet = true;
209   }
210 
211   if(jsonValue.ValueExists("DataProcessing"))
212   {
213     m_dataProcessing = jsonValue.GetObject("DataProcessing");
214 
215     m_dataProcessingHasBeenSet = true;
216   }
217 
218   if(jsonValue.ValueExists("ExperimentConfig"))
219   {
220     m_experimentConfig = jsonValue.GetObject("ExperimentConfig");
221 
222     m_experimentConfigHasBeenSet = true;
223   }
224 
225   if(jsonValue.ValueExists("Tags"))
226   {
227     Array<JsonView> tagsJsonList = jsonValue.GetArray("Tags");
228     for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex)
229     {
230       m_tags.push_back(tagsJsonList[tagsIndex].AsObject());
231     }
232     m_tagsHasBeenSet = true;
233   }
234 
235   return *this;
236 }
237 
Jsonize() const238 JsonValue TransformJob::Jsonize() const
239 {
240   JsonValue payload;
241 
242   if(m_transformJobNameHasBeenSet)
243   {
244    payload.WithString("TransformJobName", m_transformJobName);
245 
246   }
247 
248   if(m_transformJobArnHasBeenSet)
249   {
250    payload.WithString("TransformJobArn", m_transformJobArn);
251 
252   }
253 
254   if(m_transformJobStatusHasBeenSet)
255   {
256    payload.WithString("TransformJobStatus", TransformJobStatusMapper::GetNameForTransformJobStatus(m_transformJobStatus));
257   }
258 
259   if(m_failureReasonHasBeenSet)
260   {
261    payload.WithString("FailureReason", m_failureReason);
262 
263   }
264 
265   if(m_modelNameHasBeenSet)
266   {
267    payload.WithString("ModelName", m_modelName);
268 
269   }
270 
271   if(m_maxConcurrentTransformsHasBeenSet)
272   {
273    payload.WithInteger("MaxConcurrentTransforms", m_maxConcurrentTransforms);
274 
275   }
276 
277   if(m_modelClientConfigHasBeenSet)
278   {
279    payload.WithObject("ModelClientConfig", m_modelClientConfig.Jsonize());
280 
281   }
282 
283   if(m_maxPayloadInMBHasBeenSet)
284   {
285    payload.WithInteger("MaxPayloadInMB", m_maxPayloadInMB);
286 
287   }
288 
289   if(m_batchStrategyHasBeenSet)
290   {
291    payload.WithString("BatchStrategy", BatchStrategyMapper::GetNameForBatchStrategy(m_batchStrategy));
292   }
293 
294   if(m_environmentHasBeenSet)
295   {
296    JsonValue environmentJsonMap;
297    for(auto& environmentItem : m_environment)
298    {
299      environmentJsonMap.WithString(environmentItem.first, environmentItem.second);
300    }
301    payload.WithObject("Environment", std::move(environmentJsonMap));
302 
303   }
304 
305   if(m_transformInputHasBeenSet)
306   {
307    payload.WithObject("TransformInput", m_transformInput.Jsonize());
308 
309   }
310 
311   if(m_transformOutputHasBeenSet)
312   {
313    payload.WithObject("TransformOutput", m_transformOutput.Jsonize());
314 
315   }
316 
317   if(m_transformResourcesHasBeenSet)
318   {
319    payload.WithObject("TransformResources", m_transformResources.Jsonize());
320 
321   }
322 
323   if(m_creationTimeHasBeenSet)
324   {
325    payload.WithDouble("CreationTime", m_creationTime.SecondsWithMSPrecision());
326   }
327 
328   if(m_transformStartTimeHasBeenSet)
329   {
330    payload.WithDouble("TransformStartTime", m_transformStartTime.SecondsWithMSPrecision());
331   }
332 
333   if(m_transformEndTimeHasBeenSet)
334   {
335    payload.WithDouble("TransformEndTime", m_transformEndTime.SecondsWithMSPrecision());
336   }
337 
338   if(m_labelingJobArnHasBeenSet)
339   {
340    payload.WithString("LabelingJobArn", m_labelingJobArn);
341 
342   }
343 
344   if(m_autoMLJobArnHasBeenSet)
345   {
346    payload.WithString("AutoMLJobArn", m_autoMLJobArn);
347 
348   }
349 
350   if(m_dataProcessingHasBeenSet)
351   {
352    payload.WithObject("DataProcessing", m_dataProcessing.Jsonize());
353 
354   }
355 
356   if(m_experimentConfigHasBeenSet)
357   {
358    payload.WithObject("ExperimentConfig", m_experimentConfig.Jsonize());
359 
360   }
361 
362   if(m_tagsHasBeenSet)
363   {
364    Array<JsonValue> tagsJsonList(m_tags.size());
365    for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex)
366    {
367      tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize());
368    }
369    payload.WithArray("Tags", std::move(tagsJsonList));
370 
371   }
372 
373   return payload;
374 }
375 
376 } // namespace Model
377 } // namespace SageMaker
378 } // namespace Aws
379