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/ReplicationConfigurationReplicatedDisk.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 
ReplicationConfigurationReplicatedDisk()21 ReplicationConfigurationReplicatedDisk::ReplicationConfigurationReplicatedDisk() :
22     m_deviceNameHasBeenSet(false),
23     m_iops(0),
24     m_iopsHasBeenSet(false),
25     m_isBootDisk(false),
26     m_isBootDiskHasBeenSet(false),
27     m_stagingDiskType(ReplicationConfigurationReplicatedDiskStagingDiskType::NOT_SET),
28     m_stagingDiskTypeHasBeenSet(false)
29 {
30 }
31 
ReplicationConfigurationReplicatedDisk(JsonView jsonValue)32 ReplicationConfigurationReplicatedDisk::ReplicationConfigurationReplicatedDisk(JsonView jsonValue) :
33     m_deviceNameHasBeenSet(false),
34     m_iops(0),
35     m_iopsHasBeenSet(false),
36     m_isBootDisk(false),
37     m_isBootDiskHasBeenSet(false),
38     m_stagingDiskType(ReplicationConfigurationReplicatedDiskStagingDiskType::NOT_SET),
39     m_stagingDiskTypeHasBeenSet(false)
40 {
41   *this = jsonValue;
42 }
43 
operator =(JsonView jsonValue)44 ReplicationConfigurationReplicatedDisk& ReplicationConfigurationReplicatedDisk::operator =(JsonView jsonValue)
45 {
46   if(jsonValue.ValueExists("deviceName"))
47   {
48     m_deviceName = jsonValue.GetString("deviceName");
49 
50     m_deviceNameHasBeenSet = true;
51   }
52 
53   if(jsonValue.ValueExists("iops"))
54   {
55     m_iops = jsonValue.GetInt64("iops");
56 
57     m_iopsHasBeenSet = true;
58   }
59 
60   if(jsonValue.ValueExists("isBootDisk"))
61   {
62     m_isBootDisk = jsonValue.GetBool("isBootDisk");
63 
64     m_isBootDiskHasBeenSet = true;
65   }
66 
67   if(jsonValue.ValueExists("stagingDiskType"))
68   {
69     m_stagingDiskType = ReplicationConfigurationReplicatedDiskStagingDiskTypeMapper::GetReplicationConfigurationReplicatedDiskStagingDiskTypeForName(jsonValue.GetString("stagingDiskType"));
70 
71     m_stagingDiskTypeHasBeenSet = true;
72   }
73 
74   return *this;
75 }
76 
Jsonize() const77 JsonValue ReplicationConfigurationReplicatedDisk::Jsonize() const
78 {
79   JsonValue payload;
80 
81   if(m_deviceNameHasBeenSet)
82   {
83    payload.WithString("deviceName", m_deviceName);
84 
85   }
86 
87   if(m_iopsHasBeenSet)
88   {
89    payload.WithInt64("iops", m_iops);
90 
91   }
92 
93   if(m_isBootDiskHasBeenSet)
94   {
95    payload.WithBool("isBootDisk", m_isBootDisk);
96 
97   }
98 
99   if(m_stagingDiskTypeHasBeenSet)
100   {
101    payload.WithString("stagingDiskType", ReplicationConfigurationReplicatedDiskStagingDiskTypeMapper::GetNameForReplicationConfigurationReplicatedDiskStagingDiskType(m_stagingDiskType));
102   }
103 
104   return payload;
105 }
106 
107 } // namespace Model
108 } // namespace mgn
109 } // namespace Aws
110