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