1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/chime/model/VoiceConnectorGroup.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 Chime
17 {
18 namespace Model
19 {
20
VoiceConnectorGroup()21 VoiceConnectorGroup::VoiceConnectorGroup() :
22 m_voiceConnectorGroupIdHasBeenSet(false),
23 m_nameHasBeenSet(false),
24 m_voiceConnectorItemsHasBeenSet(false),
25 m_createdTimestampHasBeenSet(false),
26 m_updatedTimestampHasBeenSet(false),
27 m_voiceConnectorGroupArnHasBeenSet(false)
28 {
29 }
30
VoiceConnectorGroup(JsonView jsonValue)31 VoiceConnectorGroup::VoiceConnectorGroup(JsonView jsonValue) :
32 m_voiceConnectorGroupIdHasBeenSet(false),
33 m_nameHasBeenSet(false),
34 m_voiceConnectorItemsHasBeenSet(false),
35 m_createdTimestampHasBeenSet(false),
36 m_updatedTimestampHasBeenSet(false),
37 m_voiceConnectorGroupArnHasBeenSet(false)
38 {
39 *this = jsonValue;
40 }
41
operator =(JsonView jsonValue)42 VoiceConnectorGroup& VoiceConnectorGroup::operator =(JsonView jsonValue)
43 {
44 if(jsonValue.ValueExists("VoiceConnectorGroupId"))
45 {
46 m_voiceConnectorGroupId = jsonValue.GetString("VoiceConnectorGroupId");
47
48 m_voiceConnectorGroupIdHasBeenSet = true;
49 }
50
51 if(jsonValue.ValueExists("Name"))
52 {
53 m_name = jsonValue.GetString("Name");
54
55 m_nameHasBeenSet = true;
56 }
57
58 if(jsonValue.ValueExists("VoiceConnectorItems"))
59 {
60 Array<JsonView> voiceConnectorItemsJsonList = jsonValue.GetArray("VoiceConnectorItems");
61 for(unsigned voiceConnectorItemsIndex = 0; voiceConnectorItemsIndex < voiceConnectorItemsJsonList.GetLength(); ++voiceConnectorItemsIndex)
62 {
63 m_voiceConnectorItems.push_back(voiceConnectorItemsJsonList[voiceConnectorItemsIndex].AsObject());
64 }
65 m_voiceConnectorItemsHasBeenSet = true;
66 }
67
68 if(jsonValue.ValueExists("CreatedTimestamp"))
69 {
70 m_createdTimestamp = jsonValue.GetString("CreatedTimestamp");
71
72 m_createdTimestampHasBeenSet = true;
73 }
74
75 if(jsonValue.ValueExists("UpdatedTimestamp"))
76 {
77 m_updatedTimestamp = jsonValue.GetString("UpdatedTimestamp");
78
79 m_updatedTimestampHasBeenSet = true;
80 }
81
82 if(jsonValue.ValueExists("VoiceConnectorGroupArn"))
83 {
84 m_voiceConnectorGroupArn = jsonValue.GetString("VoiceConnectorGroupArn");
85
86 m_voiceConnectorGroupArnHasBeenSet = true;
87 }
88
89 return *this;
90 }
91
Jsonize() const92 JsonValue VoiceConnectorGroup::Jsonize() const
93 {
94 JsonValue payload;
95
96 if(m_voiceConnectorGroupIdHasBeenSet)
97 {
98 payload.WithString("VoiceConnectorGroupId", m_voiceConnectorGroupId);
99
100 }
101
102 if(m_nameHasBeenSet)
103 {
104 payload.WithString("Name", m_name);
105
106 }
107
108 if(m_voiceConnectorItemsHasBeenSet)
109 {
110 Array<JsonValue> voiceConnectorItemsJsonList(m_voiceConnectorItems.size());
111 for(unsigned voiceConnectorItemsIndex = 0; voiceConnectorItemsIndex < voiceConnectorItemsJsonList.GetLength(); ++voiceConnectorItemsIndex)
112 {
113 voiceConnectorItemsJsonList[voiceConnectorItemsIndex].AsObject(m_voiceConnectorItems[voiceConnectorItemsIndex].Jsonize());
114 }
115 payload.WithArray("VoiceConnectorItems", std::move(voiceConnectorItemsJsonList));
116
117 }
118
119 if(m_createdTimestampHasBeenSet)
120 {
121 payload.WithString("CreatedTimestamp", m_createdTimestamp.ToGmtString(DateFormat::ISO_8601));
122 }
123
124 if(m_updatedTimestampHasBeenSet)
125 {
126 payload.WithString("UpdatedTimestamp", m_updatedTimestamp.ToGmtString(DateFormat::ISO_8601));
127 }
128
129 if(m_voiceConnectorGroupArnHasBeenSet)
130 {
131 payload.WithString("VoiceConnectorGroupArn", m_voiceConnectorGroupArn);
132
133 }
134
135 return payload;
136 }
137
138 } // namespace Model
139 } // namespace Chime
140 } // namespace Aws
141