1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/dataexchange/model/ImportAssetsFromRedshiftDataSharesResponseDetails.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 DataExchange
17 {
18 namespace Model
19 {
20 
ImportAssetsFromRedshiftDataSharesResponseDetails()21 ImportAssetsFromRedshiftDataSharesResponseDetails::ImportAssetsFromRedshiftDataSharesResponseDetails() :
22     m_assetSourcesHasBeenSet(false),
23     m_dataSetIdHasBeenSet(false),
24     m_revisionIdHasBeenSet(false)
25 {
26 }
27 
ImportAssetsFromRedshiftDataSharesResponseDetails(JsonView jsonValue)28 ImportAssetsFromRedshiftDataSharesResponseDetails::ImportAssetsFromRedshiftDataSharesResponseDetails(JsonView jsonValue) :
29     m_assetSourcesHasBeenSet(false),
30     m_dataSetIdHasBeenSet(false),
31     m_revisionIdHasBeenSet(false)
32 {
33   *this = jsonValue;
34 }
35 
operator =(JsonView jsonValue)36 ImportAssetsFromRedshiftDataSharesResponseDetails& ImportAssetsFromRedshiftDataSharesResponseDetails::operator =(JsonView jsonValue)
37 {
38   if(jsonValue.ValueExists("AssetSources"))
39   {
40     Array<JsonView> assetSourcesJsonList = jsonValue.GetArray("AssetSources");
41     for(unsigned assetSourcesIndex = 0; assetSourcesIndex < assetSourcesJsonList.GetLength(); ++assetSourcesIndex)
42     {
43       m_assetSources.push_back(assetSourcesJsonList[assetSourcesIndex].AsObject());
44     }
45     m_assetSourcesHasBeenSet = true;
46   }
47 
48   if(jsonValue.ValueExists("DataSetId"))
49   {
50     m_dataSetId = jsonValue.GetString("DataSetId");
51 
52     m_dataSetIdHasBeenSet = true;
53   }
54 
55   if(jsonValue.ValueExists("RevisionId"))
56   {
57     m_revisionId = jsonValue.GetString("RevisionId");
58 
59     m_revisionIdHasBeenSet = true;
60   }
61 
62   return *this;
63 }
64 
Jsonize() const65 JsonValue ImportAssetsFromRedshiftDataSharesResponseDetails::Jsonize() const
66 {
67   JsonValue payload;
68 
69   if(m_assetSourcesHasBeenSet)
70   {
71    Array<JsonValue> assetSourcesJsonList(m_assetSources.size());
72    for(unsigned assetSourcesIndex = 0; assetSourcesIndex < assetSourcesJsonList.GetLength(); ++assetSourcesIndex)
73    {
74      assetSourcesJsonList[assetSourcesIndex].AsObject(m_assetSources[assetSourcesIndex].Jsonize());
75    }
76    payload.WithArray("AssetSources", std::move(assetSourcesJsonList));
77 
78   }
79 
80   if(m_dataSetIdHasBeenSet)
81   {
82    payload.WithString("DataSetId", m_dataSetId);
83 
84   }
85 
86   if(m_revisionIdHasBeenSet)
87   {
88    payload.WithString("RevisionId", m_revisionId);
89 
90   }
91 
92   return payload;
93 }
94 
95 } // namespace Model
96 } // namespace DataExchange
97 } // namespace Aws
98