1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/iotevents/model/InputDefinition.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 IoTEvents
17 {
18 namespace Model
19 {
20 
InputDefinition()21 InputDefinition::InputDefinition() :
22     m_attributesHasBeenSet(false)
23 {
24 }
25 
InputDefinition(JsonView jsonValue)26 InputDefinition::InputDefinition(JsonView jsonValue) :
27     m_attributesHasBeenSet(false)
28 {
29   *this = jsonValue;
30 }
31 
operator =(JsonView jsonValue)32 InputDefinition& InputDefinition::operator =(JsonView jsonValue)
33 {
34   if(jsonValue.ValueExists("attributes"))
35   {
36     Array<JsonView> attributesJsonList = jsonValue.GetArray("attributes");
37     for(unsigned attributesIndex = 0; attributesIndex < attributesJsonList.GetLength(); ++attributesIndex)
38     {
39       m_attributes.push_back(attributesJsonList[attributesIndex].AsObject());
40     }
41     m_attributesHasBeenSet = true;
42   }
43 
44   return *this;
45 }
46 
Jsonize() const47 JsonValue InputDefinition::Jsonize() const
48 {
49   JsonValue payload;
50 
51   if(m_attributesHasBeenSet)
52   {
53    Array<JsonValue> attributesJsonList(m_attributes.size());
54    for(unsigned attributesIndex = 0; attributesIndex < attributesJsonList.GetLength(); ++attributesIndex)
55    {
56      attributesJsonList[attributesIndex].AsObject(m_attributes[attributesIndex].Jsonize());
57    }
58    payload.WithArray("attributes", std::move(attributesJsonList));
59 
60   }
61 
62   return payload;
63 }
64 
65 } // namespace Model
66 } // namespace IoTEvents
67 } // namespace Aws
68