1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/mgn/model/DescribeSourceServersRequestFilters.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 mgn
17 {
18 namespace Model
19 {
20 
DescribeSourceServersRequestFilters()21 DescribeSourceServersRequestFilters::DescribeSourceServersRequestFilters() :
22     m_isArchived(false),
23     m_isArchivedHasBeenSet(false),
24     m_sourceServerIDsHasBeenSet(false)
25 {
26 }
27 
DescribeSourceServersRequestFilters(JsonView jsonValue)28 DescribeSourceServersRequestFilters::DescribeSourceServersRequestFilters(JsonView jsonValue) :
29     m_isArchived(false),
30     m_isArchivedHasBeenSet(false),
31     m_sourceServerIDsHasBeenSet(false)
32 {
33   *this = jsonValue;
34 }
35 
operator =(JsonView jsonValue)36 DescribeSourceServersRequestFilters& DescribeSourceServersRequestFilters::operator =(JsonView jsonValue)
37 {
38   if(jsonValue.ValueExists("isArchived"))
39   {
40     m_isArchived = jsonValue.GetBool("isArchived");
41 
42     m_isArchivedHasBeenSet = true;
43   }
44 
45   if(jsonValue.ValueExists("sourceServerIDs"))
46   {
47     Array<JsonView> sourceServerIDsJsonList = jsonValue.GetArray("sourceServerIDs");
48     for(unsigned sourceServerIDsIndex = 0; sourceServerIDsIndex < sourceServerIDsJsonList.GetLength(); ++sourceServerIDsIndex)
49     {
50       m_sourceServerIDs.push_back(sourceServerIDsJsonList[sourceServerIDsIndex].AsString());
51     }
52     m_sourceServerIDsHasBeenSet = true;
53   }
54 
55   return *this;
56 }
57 
Jsonize() const58 JsonValue DescribeSourceServersRequestFilters::Jsonize() const
59 {
60   JsonValue payload;
61 
62   if(m_isArchivedHasBeenSet)
63   {
64    payload.WithBool("isArchived", m_isArchived);
65 
66   }
67 
68   if(m_sourceServerIDsHasBeenSet)
69   {
70    Array<JsonValue> sourceServerIDsJsonList(m_sourceServerIDs.size());
71    for(unsigned sourceServerIDsIndex = 0; sourceServerIDsIndex < sourceServerIDsJsonList.GetLength(); ++sourceServerIDsIndex)
72    {
73      sourceServerIDsJsonList[sourceServerIDsIndex].AsString(m_sourceServerIDs[sourceServerIDsIndex]);
74    }
75    payload.WithArray("sourceServerIDs", std::move(sourceServerIDsJsonList));
76 
77   }
78 
79   return payload;
80 }
81 
82 } // namespace Model
83 } // namespace mgn
84 } // namespace Aws
85