AWS SDK for C++

AWS SDK for C++ Version 1.11.440

Loading...
Searching...
No Matches
DataMigration.h
1
6#pragma once
7#include <aws/dms/DatabaseMigrationService_EXPORTS.h>
8#include <aws/core/utils/memory/stl/AWSString.h>
9#include <aws/core/utils/DateTime.h>
10#include <aws/dms/model/MigrationTypeValue.h>
11#include <aws/dms/model/DataMigrationSettings.h>
12#include <aws/core/utils/memory/stl/AWSVector.h>
13#include <aws/dms/model/DataMigrationStatistics.h>
14#include <aws/dms/model/SourceDataSetting.h>
15#include <utility>
16
17namespace Aws
18{
19namespace Utils
20{
21namespace Json
22{
23 class JsonValue;
24 class JsonView;
25} // namespace Json
26} // namespace Utils
27namespace DatabaseMigrationService
28{
29namespace Model
30{
31
39 {
40 public:
41 AWS_DATABASEMIGRATIONSERVICE_API DataMigration();
42 AWS_DATABASEMIGRATIONSERVICE_API DataMigration(Aws::Utils::Json::JsonView jsonValue);
43 AWS_DATABASEMIGRATIONSERVICE_API DataMigration& operator=(Aws::Utils::Json::JsonView jsonValue);
44 AWS_DATABASEMIGRATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const;
45
46
48
51 inline const Aws::String& GetDataMigrationName() const{ return m_dataMigrationName; }
52 inline bool DataMigrationNameHasBeenSet() const { return m_dataMigrationNameHasBeenSet; }
53 inline void SetDataMigrationName(const Aws::String& value) { m_dataMigrationNameHasBeenSet = true; m_dataMigrationName = value; }
54 inline void SetDataMigrationName(Aws::String&& value) { m_dataMigrationNameHasBeenSet = true; m_dataMigrationName = std::move(value); }
55 inline void SetDataMigrationName(const char* value) { m_dataMigrationNameHasBeenSet = true; m_dataMigrationName.assign(value); }
56 inline DataMigration& WithDataMigrationName(const Aws::String& value) { SetDataMigrationName(value); return *this;}
57 inline DataMigration& WithDataMigrationName(Aws::String&& value) { SetDataMigrationName(std::move(value)); return *this;}
58 inline DataMigration& WithDataMigrationName(const char* value) { SetDataMigrationName(value); return *this;}
60
62
65 inline const Aws::String& GetDataMigrationArn() const{ return m_dataMigrationArn; }
66 inline bool DataMigrationArnHasBeenSet() const { return m_dataMigrationArnHasBeenSet; }
67 inline void SetDataMigrationArn(const Aws::String& value) { m_dataMigrationArnHasBeenSet = true; m_dataMigrationArn = value; }
68 inline void SetDataMigrationArn(Aws::String&& value) { m_dataMigrationArnHasBeenSet = true; m_dataMigrationArn = std::move(value); }
69 inline void SetDataMigrationArn(const char* value) { m_dataMigrationArnHasBeenSet = true; m_dataMigrationArn.assign(value); }
70 inline DataMigration& WithDataMigrationArn(const Aws::String& value) { SetDataMigrationArn(value); return *this;}
71 inline DataMigration& WithDataMigrationArn(Aws::String&& value) { SetDataMigrationArn(std::move(value)); return *this;}
72 inline DataMigration& WithDataMigrationArn(const char* value) { SetDataMigrationArn(value); return *this;}
74
76
79 inline const Aws::Utils::DateTime& GetDataMigrationCreateTime() const{ return m_dataMigrationCreateTime; }
80 inline bool DataMigrationCreateTimeHasBeenSet() const { return m_dataMigrationCreateTimeHasBeenSet; }
81 inline void SetDataMigrationCreateTime(const Aws::Utils::DateTime& value) { m_dataMigrationCreateTimeHasBeenSet = true; m_dataMigrationCreateTime = value; }
82 inline void SetDataMigrationCreateTime(Aws::Utils::DateTime&& value) { m_dataMigrationCreateTimeHasBeenSet = true; m_dataMigrationCreateTime = std::move(value); }
86
88
91 inline const Aws::Utils::DateTime& GetDataMigrationStartTime() const{ return m_dataMigrationStartTime; }
92 inline bool DataMigrationStartTimeHasBeenSet() const { return m_dataMigrationStartTimeHasBeenSet; }
93 inline void SetDataMigrationStartTime(const Aws::Utils::DateTime& value) { m_dataMigrationStartTimeHasBeenSet = true; m_dataMigrationStartTime = value; }
94 inline void SetDataMigrationStartTime(Aws::Utils::DateTime&& value) { m_dataMigrationStartTimeHasBeenSet = true; m_dataMigrationStartTime = std::move(value); }
98
100
103 inline const Aws::Utils::DateTime& GetDataMigrationEndTime() const{ return m_dataMigrationEndTime; }
104 inline bool DataMigrationEndTimeHasBeenSet() const { return m_dataMigrationEndTimeHasBeenSet; }
105 inline void SetDataMigrationEndTime(const Aws::Utils::DateTime& value) { m_dataMigrationEndTimeHasBeenSet = true; m_dataMigrationEndTime = value; }
106 inline void SetDataMigrationEndTime(Aws::Utils::DateTime&& value) { m_dataMigrationEndTimeHasBeenSet = true; m_dataMigrationEndTime = std::move(value); }
108 inline DataMigration& WithDataMigrationEndTime(Aws::Utils::DateTime&& value) { SetDataMigrationEndTime(std::move(value)); return *this;}
110
112
116 inline const Aws::String& GetServiceAccessRoleArn() const{ return m_serviceAccessRoleArn; }
117 inline bool ServiceAccessRoleArnHasBeenSet() const { return m_serviceAccessRoleArnHasBeenSet; }
118 inline void SetServiceAccessRoleArn(const Aws::String& value) { m_serviceAccessRoleArnHasBeenSet = true; m_serviceAccessRoleArn = value; }
119 inline void SetServiceAccessRoleArn(Aws::String&& value) { m_serviceAccessRoleArnHasBeenSet = true; m_serviceAccessRoleArn = std::move(value); }
120 inline void SetServiceAccessRoleArn(const char* value) { m_serviceAccessRoleArnHasBeenSet = true; m_serviceAccessRoleArn.assign(value); }
121 inline DataMigration& WithServiceAccessRoleArn(const Aws::String& value) { SetServiceAccessRoleArn(value); return *this;}
122 inline DataMigration& WithServiceAccessRoleArn(Aws::String&& value) { SetServiceAccessRoleArn(std::move(value)); return *this;}
123 inline DataMigration& WithServiceAccessRoleArn(const char* value) { SetServiceAccessRoleArn(value); return *this;}
125
127
131 inline const Aws::String& GetMigrationProjectArn() const{ return m_migrationProjectArn; }
132 inline bool MigrationProjectArnHasBeenSet() const { return m_migrationProjectArnHasBeenSet; }
133 inline void SetMigrationProjectArn(const Aws::String& value) { m_migrationProjectArnHasBeenSet = true; m_migrationProjectArn = value; }
134 inline void SetMigrationProjectArn(Aws::String&& value) { m_migrationProjectArnHasBeenSet = true; m_migrationProjectArn = std::move(value); }
135 inline void SetMigrationProjectArn(const char* value) { m_migrationProjectArnHasBeenSet = true; m_migrationProjectArn.assign(value); }
136 inline DataMigration& WithMigrationProjectArn(const Aws::String& value) { SetMigrationProjectArn(value); return *this;}
137 inline DataMigration& WithMigrationProjectArn(Aws::String&& value) { SetMigrationProjectArn(std::move(value)); return *this;}
138 inline DataMigration& WithMigrationProjectArn(const char* value) { SetMigrationProjectArn(value); return *this;}
140
142
146 inline const MigrationTypeValue& GetDataMigrationType() const{ return m_dataMigrationType; }
147 inline bool DataMigrationTypeHasBeenSet() const { return m_dataMigrationTypeHasBeenSet; }
148 inline void SetDataMigrationType(const MigrationTypeValue& value) { m_dataMigrationTypeHasBeenSet = true; m_dataMigrationType = value; }
149 inline void SetDataMigrationType(MigrationTypeValue&& value) { m_dataMigrationTypeHasBeenSet = true; m_dataMigrationType = std::move(value); }
150 inline DataMigration& WithDataMigrationType(const MigrationTypeValue& value) { SetDataMigrationType(value); return *this;}
151 inline DataMigration& WithDataMigrationType(MigrationTypeValue&& value) { SetDataMigrationType(std::move(value)); return *this;}
153
155
158 inline const DataMigrationSettings& GetDataMigrationSettings() const{ return m_dataMigrationSettings; }
159 inline bool DataMigrationSettingsHasBeenSet() const { return m_dataMigrationSettingsHasBeenSet; }
160 inline void SetDataMigrationSettings(const DataMigrationSettings& value) { m_dataMigrationSettingsHasBeenSet = true; m_dataMigrationSettings = value; }
161 inline void SetDataMigrationSettings(DataMigrationSettings&& value) { m_dataMigrationSettingsHasBeenSet = true; m_dataMigrationSettings = std::move(value); }
165
167
170 inline const Aws::Vector<SourceDataSetting>& GetSourceDataSettings() const{ return m_sourceDataSettings; }
171 inline bool SourceDataSettingsHasBeenSet() const { return m_sourceDataSettingsHasBeenSet; }
172 inline void SetSourceDataSettings(const Aws::Vector<SourceDataSetting>& value) { m_sourceDataSettingsHasBeenSet = true; m_sourceDataSettings = value; }
173 inline void SetSourceDataSettings(Aws::Vector<SourceDataSetting>&& value) { m_sourceDataSettingsHasBeenSet = true; m_sourceDataSettings = std::move(value); }
176 inline DataMigration& AddSourceDataSettings(const SourceDataSetting& value) { m_sourceDataSettingsHasBeenSet = true; m_sourceDataSettings.push_back(value); return *this; }
177 inline DataMigration& AddSourceDataSettings(SourceDataSetting&& value) { m_sourceDataSettingsHasBeenSet = true; m_sourceDataSettings.push_back(std::move(value)); return *this; }
179
181
185 inline const DataMigrationStatistics& GetDataMigrationStatistics() const{ return m_dataMigrationStatistics; }
186 inline bool DataMigrationStatisticsHasBeenSet() const { return m_dataMigrationStatisticsHasBeenSet; }
187 inline void SetDataMigrationStatistics(const DataMigrationStatistics& value) { m_dataMigrationStatisticsHasBeenSet = true; m_dataMigrationStatistics = value; }
188 inline void SetDataMigrationStatistics(DataMigrationStatistics&& value) { m_dataMigrationStatisticsHasBeenSet = true; m_dataMigrationStatistics = std::move(value); }
192
194
197 inline const Aws::String& GetDataMigrationStatus() const{ return m_dataMigrationStatus; }
198 inline bool DataMigrationStatusHasBeenSet() const { return m_dataMigrationStatusHasBeenSet; }
199 inline void SetDataMigrationStatus(const Aws::String& value) { m_dataMigrationStatusHasBeenSet = true; m_dataMigrationStatus = value; }
200 inline void SetDataMigrationStatus(Aws::String&& value) { m_dataMigrationStatusHasBeenSet = true; m_dataMigrationStatus = std::move(value); }
201 inline void SetDataMigrationStatus(const char* value) { m_dataMigrationStatusHasBeenSet = true; m_dataMigrationStatus.assign(value); }
202 inline DataMigration& WithDataMigrationStatus(const Aws::String& value) { SetDataMigrationStatus(value); return *this;}
203 inline DataMigration& WithDataMigrationStatus(Aws::String&& value) { SetDataMigrationStatus(std::move(value)); return *this;}
204 inline DataMigration& WithDataMigrationStatus(const char* value) { SetDataMigrationStatus(value); return *this;}
206
208
211 inline const Aws::Vector<Aws::String>& GetPublicIpAddresses() const{ return m_publicIpAddresses; }
212 inline bool PublicIpAddressesHasBeenSet() const { return m_publicIpAddressesHasBeenSet; }
213 inline void SetPublicIpAddresses(const Aws::Vector<Aws::String>& value) { m_publicIpAddressesHasBeenSet = true; m_publicIpAddresses = value; }
214 inline void SetPublicIpAddresses(Aws::Vector<Aws::String>&& value) { m_publicIpAddressesHasBeenSet = true; m_publicIpAddresses = std::move(value); }
216 inline DataMigration& WithPublicIpAddresses(Aws::Vector<Aws::String>&& value) { SetPublicIpAddresses(std::move(value)); return *this;}
217 inline DataMigration& AddPublicIpAddresses(const Aws::String& value) { m_publicIpAddressesHasBeenSet = true; m_publicIpAddresses.push_back(value); return *this; }
218 inline DataMigration& AddPublicIpAddresses(Aws::String&& value) { m_publicIpAddressesHasBeenSet = true; m_publicIpAddresses.push_back(std::move(value)); return *this; }
219 inline DataMigration& AddPublicIpAddresses(const char* value) { m_publicIpAddressesHasBeenSet = true; m_publicIpAddresses.push_back(value); return *this; }
221
223
226 inline const Aws::Vector<Aws::String>& GetDataMigrationCidrBlocks() const{ return m_dataMigrationCidrBlocks; }
227 inline bool DataMigrationCidrBlocksHasBeenSet() const { return m_dataMigrationCidrBlocksHasBeenSet; }
228 inline void SetDataMigrationCidrBlocks(const Aws::Vector<Aws::String>& value) { m_dataMigrationCidrBlocksHasBeenSet = true; m_dataMigrationCidrBlocks = value; }
229 inline void SetDataMigrationCidrBlocks(Aws::Vector<Aws::String>&& value) { m_dataMigrationCidrBlocksHasBeenSet = true; m_dataMigrationCidrBlocks = std::move(value); }
232 inline DataMigration& AddDataMigrationCidrBlocks(const Aws::String& value) { m_dataMigrationCidrBlocksHasBeenSet = true; m_dataMigrationCidrBlocks.push_back(value); return *this; }
233 inline DataMigration& AddDataMigrationCidrBlocks(Aws::String&& value) { m_dataMigrationCidrBlocksHasBeenSet = true; m_dataMigrationCidrBlocks.push_back(std::move(value)); return *this; }
234 inline DataMigration& AddDataMigrationCidrBlocks(const char* value) { m_dataMigrationCidrBlocksHasBeenSet = true; m_dataMigrationCidrBlocks.push_back(value); return *this; }
236
238
241 inline const Aws::String& GetLastFailureMessage() const{ return m_lastFailureMessage; }
242 inline bool LastFailureMessageHasBeenSet() const { return m_lastFailureMessageHasBeenSet; }
243 inline void SetLastFailureMessage(const Aws::String& value) { m_lastFailureMessageHasBeenSet = true; m_lastFailureMessage = value; }
244 inline void SetLastFailureMessage(Aws::String&& value) { m_lastFailureMessageHasBeenSet = true; m_lastFailureMessage = std::move(value); }
245 inline void SetLastFailureMessage(const char* value) { m_lastFailureMessageHasBeenSet = true; m_lastFailureMessage.assign(value); }
246 inline DataMigration& WithLastFailureMessage(const Aws::String& value) { SetLastFailureMessage(value); return *this;}
247 inline DataMigration& WithLastFailureMessage(Aws::String&& value) { SetLastFailureMessage(std::move(value)); return *this;}
248 inline DataMigration& WithLastFailureMessage(const char* value) { SetLastFailureMessage(value); return *this;}
250
252
255 inline const Aws::String& GetStopReason() const{ return m_stopReason; }
256 inline bool StopReasonHasBeenSet() const { return m_stopReasonHasBeenSet; }
257 inline void SetStopReason(const Aws::String& value) { m_stopReasonHasBeenSet = true; m_stopReason = value; }
258 inline void SetStopReason(Aws::String&& value) { m_stopReasonHasBeenSet = true; m_stopReason = std::move(value); }
259 inline void SetStopReason(const char* value) { m_stopReasonHasBeenSet = true; m_stopReason.assign(value); }
260 inline DataMigration& WithStopReason(const Aws::String& value) { SetStopReason(value); return *this;}
261 inline DataMigration& WithStopReason(Aws::String&& value) { SetStopReason(std::move(value)); return *this;}
262 inline DataMigration& WithStopReason(const char* value) { SetStopReason(value); return *this;}
264 private:
265
266 Aws::String m_dataMigrationName;
267 bool m_dataMigrationNameHasBeenSet = false;
268
269 Aws::String m_dataMigrationArn;
270 bool m_dataMigrationArnHasBeenSet = false;
271
272 Aws::Utils::DateTime m_dataMigrationCreateTime;
273 bool m_dataMigrationCreateTimeHasBeenSet = false;
274
275 Aws::Utils::DateTime m_dataMigrationStartTime;
276 bool m_dataMigrationStartTimeHasBeenSet = false;
277
278 Aws::Utils::DateTime m_dataMigrationEndTime;
279 bool m_dataMigrationEndTimeHasBeenSet = false;
280
281 Aws::String m_serviceAccessRoleArn;
282 bool m_serviceAccessRoleArnHasBeenSet = false;
283
284 Aws::String m_migrationProjectArn;
285 bool m_migrationProjectArnHasBeenSet = false;
286
287 MigrationTypeValue m_dataMigrationType;
288 bool m_dataMigrationTypeHasBeenSet = false;
289
290 DataMigrationSettings m_dataMigrationSettings;
291 bool m_dataMigrationSettingsHasBeenSet = false;
292
293 Aws::Vector<SourceDataSetting> m_sourceDataSettings;
294 bool m_sourceDataSettingsHasBeenSet = false;
295
296 DataMigrationStatistics m_dataMigrationStatistics;
297 bool m_dataMigrationStatisticsHasBeenSet = false;
298
299 Aws::String m_dataMigrationStatus;
300 bool m_dataMigrationStatusHasBeenSet = false;
301
302 Aws::Vector<Aws::String> m_publicIpAddresses;
303 bool m_publicIpAddressesHasBeenSet = false;
304
305 Aws::Vector<Aws::String> m_dataMigrationCidrBlocks;
306 bool m_dataMigrationCidrBlocksHasBeenSet = false;
307
308 Aws::String m_lastFailureMessage;
309 bool m_lastFailureMessageHasBeenSet = false;
310
311 Aws::String m_stopReason;
312 bool m_stopReasonHasBeenSet = false;
313 };
314
315} // namespace Model
316} // namespace DatabaseMigrationService
317} // namespace Aws
DataMigration & WithDataMigrationStatus(Aws::String &&value)
DataMigration & AddPublicIpAddresses(const char *value)
DataMigration & AddPublicIpAddresses(Aws::String &&value)
void SetDataMigrationType(MigrationTypeValue &&value)
void SetDataMigrationEndTime(Aws::Utils::DateTime &&value)
DataMigration & WithPublicIpAddresses(const Aws::Vector< Aws::String > &value)
AWS_DATABASEMIGRATIONSERVICE_API DataMigration(Aws::Utils::Json::JsonView jsonValue)
DataMigration & WithDataMigrationEndTime(const Aws::Utils::DateTime &value)
void SetDataMigrationType(const MigrationTypeValue &value)
void SetDataMigrationSettings(const DataMigrationSettings &value)
void SetDataMigrationStatistics(const DataMigrationStatistics &value)
AWS_DATABASEMIGRATIONSERVICE_API DataMigration()
DataMigration & WithDataMigrationCidrBlocks(Aws::Vector< Aws::String > &&value)
const Aws::Vector< SourceDataSetting > & GetSourceDataSettings() const
void SetDataMigrationCreateTime(Aws::Utils::DateTime &&value)
DataMigration & WithDataMigrationName(const char *value)
const DataMigrationStatistics & GetDataMigrationStatistics() const
const Aws::Utils::DateTime & GetDataMigrationCreateTime() const
void SetDataMigrationCreateTime(const Aws::Utils::DateTime &value)
void SetDataMigrationStartTime(Aws::Utils::DateTime &&value)
DataMigration & WithDataMigrationArn(const Aws::String &value)
DataMigration & WithLastFailureMessage(Aws::String &&value)
DataMigration & WithDataMigrationSettings(DataMigrationSettings &&value)
DataMigration & WithPublicIpAddresses(Aws::Vector< Aws::String > &&value)
DataMigration & WithDataMigrationArn(Aws::String &&value)
DataMigration & WithStopReason(const char *value)
DataMigration & WithDataMigrationStatistics(const DataMigrationStatistics &value)
DataMigration & WithDataMigrationArn(const char *value)
void SetServiceAccessRoleArn(const Aws::String &value)
void SetDataMigrationCidrBlocks(Aws::Vector< Aws::String > &&value)
DataMigration & AddSourceDataSettings(const SourceDataSetting &value)
DataMigration & WithDataMigrationEndTime(Aws::Utils::DateTime &&value)
DataMigration & WithLastFailureMessage(const char *value)
void SetDataMigrationName(const Aws::String &value)
DataMigration & WithServiceAccessRoleArn(const Aws::String &value)
void SetDataMigrationStartTime(const Aws::Utils::DateTime &value)
DataMigration & WithMigrationProjectArn(const Aws::String &value)
DataMigration & WithDataMigrationSettings(const DataMigrationSettings &value)
const MigrationTypeValue & GetDataMigrationType() const
DataMigration & WithDataMigrationStatus(const char *value)
DataMigration & WithStopReason(const Aws::String &value)
DataMigration & WithDataMigrationType(const MigrationTypeValue &value)
AWS_DATABASEMIGRATIONSERVICE_API DataMigration & operator=(Aws::Utils::Json::JsonView jsonValue)
const Aws::Vector< Aws::String > & GetDataMigrationCidrBlocks() const
DataMigration & WithMigrationProjectArn(const char *value)
DataMigration & AddSourceDataSettings(SourceDataSetting &&value)
DataMigration & WithDataMigrationCreateTime(const Aws::Utils::DateTime &value)
DataMigration & WithDataMigrationName(const Aws::String &value)
const Aws::Utils::DateTime & GetDataMigrationEndTime() const
void SetSourceDataSettings(Aws::Vector< SourceDataSetting > &&value)
void SetDataMigrationStatus(const Aws::String &value)
void SetPublicIpAddresses(Aws::Vector< Aws::String > &&value)
DataMigration & WithServiceAccessRoleArn(const char *value)
DataMigration & WithDataMigrationStartTime(Aws::Utils::DateTime &&value)
void SetDataMigrationSettings(DataMigrationSettings &&value)
const Aws::Utils::DateTime & GetDataMigrationStartTime() const
DataMigration & WithDataMigrationStatus(const Aws::String &value)
DataMigration & WithMigrationProjectArn(Aws::String &&value)
DataMigration & WithSourceDataSettings(Aws::Vector< SourceDataSetting > &&value)
void SetDataMigrationEndTime(const Aws::Utils::DateTime &value)
DataMigration & WithDataMigrationStatistics(DataMigrationStatistics &&value)
DataMigration & AddDataMigrationCidrBlocks(const Aws::String &value)
AWS_DATABASEMIGRATIONSERVICE_API Aws::Utils::Json::JsonValue Jsonize() const
void SetPublicIpAddresses(const Aws::Vector< Aws::String > &value)
void SetLastFailureMessage(const Aws::String &value)
void SetDataMigrationArn(const Aws::String &value)
const Aws::Vector< Aws::String > & GetPublicIpAddresses() const
const DataMigrationSettings & GetDataMigrationSettings() const
void SetSourceDataSettings(const Aws::Vector< SourceDataSetting > &value)
DataMigration & WithDataMigrationCreateTime(Aws::Utils::DateTime &&value)
DataMigration & WithDataMigrationName(Aws::String &&value)
DataMigration & AddDataMigrationCidrBlocks(const char *value)
void SetDataMigrationStatistics(DataMigrationStatistics &&value)
DataMigration & AddPublicIpAddresses(const Aws::String &value)
void SetMigrationProjectArn(const Aws::String &value)
DataMigration & WithSourceDataSettings(const Aws::Vector< SourceDataSetting > &value)
void SetDataMigrationCidrBlocks(const Aws::Vector< Aws::String > &value)
DataMigration & WithLastFailureMessage(const Aws::String &value)
DataMigration & WithStopReason(Aws::String &&value)
DataMigration & WithDataMigrationType(MigrationTypeValue &&value)
DataMigration & AddDataMigrationCidrBlocks(Aws::String &&value)
DataMigration & WithDataMigrationStartTime(const Aws::Utils::DateTime &value)
DataMigration & WithDataMigrationCidrBlocks(const Aws::Vector< Aws::String > &value)
DataMigration & WithServiceAccessRoleArn(Aws::String &&value)
std::basic_string< char, std::char_traits< char >, Aws::Allocator< char > > String
std::vector< T, Aws::Allocator< T > > Vector
Aws::Utils::Json::JsonValue JsonValue