1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/iotsitewise/model/CreateAssetModelRequest.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8
9 #include <utility>
10
11 using namespace Aws::IoTSiteWise::Model;
12 using namespace Aws::Utils::Json;
13 using namespace Aws::Utils;
14
CreateAssetModelRequest()15 CreateAssetModelRequest::CreateAssetModelRequest() :
16 m_assetModelNameHasBeenSet(false),
17 m_assetModelDescriptionHasBeenSet(false),
18 m_assetModelPropertiesHasBeenSet(false),
19 m_assetModelHierarchiesHasBeenSet(false),
20 m_assetModelCompositeModelsHasBeenSet(false),
21 m_clientToken(Aws::Utils::UUID::RandomUUID()),
22 m_clientTokenHasBeenSet(true),
23 m_tagsHasBeenSet(false)
24 {
25 }
26
SerializePayload() const27 Aws::String CreateAssetModelRequest::SerializePayload() const
28 {
29 JsonValue payload;
30
31 if(m_assetModelNameHasBeenSet)
32 {
33 payload.WithString("assetModelName", m_assetModelName);
34
35 }
36
37 if(m_assetModelDescriptionHasBeenSet)
38 {
39 payload.WithString("assetModelDescription", m_assetModelDescription);
40
41 }
42
43 if(m_assetModelPropertiesHasBeenSet)
44 {
45 Array<JsonValue> assetModelPropertiesJsonList(m_assetModelProperties.size());
46 for(unsigned assetModelPropertiesIndex = 0; assetModelPropertiesIndex < assetModelPropertiesJsonList.GetLength(); ++assetModelPropertiesIndex)
47 {
48 assetModelPropertiesJsonList[assetModelPropertiesIndex].AsObject(m_assetModelProperties[assetModelPropertiesIndex].Jsonize());
49 }
50 payload.WithArray("assetModelProperties", std::move(assetModelPropertiesJsonList));
51
52 }
53
54 if(m_assetModelHierarchiesHasBeenSet)
55 {
56 Array<JsonValue> assetModelHierarchiesJsonList(m_assetModelHierarchies.size());
57 for(unsigned assetModelHierarchiesIndex = 0; assetModelHierarchiesIndex < assetModelHierarchiesJsonList.GetLength(); ++assetModelHierarchiesIndex)
58 {
59 assetModelHierarchiesJsonList[assetModelHierarchiesIndex].AsObject(m_assetModelHierarchies[assetModelHierarchiesIndex].Jsonize());
60 }
61 payload.WithArray("assetModelHierarchies", std::move(assetModelHierarchiesJsonList));
62
63 }
64
65 if(m_assetModelCompositeModelsHasBeenSet)
66 {
67 Array<JsonValue> assetModelCompositeModelsJsonList(m_assetModelCompositeModels.size());
68 for(unsigned assetModelCompositeModelsIndex = 0; assetModelCompositeModelsIndex < assetModelCompositeModelsJsonList.GetLength(); ++assetModelCompositeModelsIndex)
69 {
70 assetModelCompositeModelsJsonList[assetModelCompositeModelsIndex].AsObject(m_assetModelCompositeModels[assetModelCompositeModelsIndex].Jsonize());
71 }
72 payload.WithArray("assetModelCompositeModels", std::move(assetModelCompositeModelsJsonList));
73
74 }
75
76 if(m_clientTokenHasBeenSet)
77 {
78 payload.WithString("clientToken", m_clientToken);
79
80 }
81
82 if(m_tagsHasBeenSet)
83 {
84 JsonValue tagsJsonMap;
85 for(auto& tagsItem : m_tags)
86 {
87 tagsJsonMap.WithString(tagsItem.first, tagsItem.second);
88 }
89 payload.WithObject("tags", std::move(tagsJsonMap));
90
91 }
92
93 return payload.View().WriteReadable();
94 }
95
96
97
98
99