1 /**
2  * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3  * SPDX-License-Identifier: Apache-2.0.
4  */
5 
6 #include <aws/servicediscovery/model/DnsProperties.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 ServiceDiscovery
17 {
18 namespace Model
19 {
20 
DnsProperties()21 DnsProperties::DnsProperties() :
22     m_hostedZoneIdHasBeenSet(false),
23     m_sOAHasBeenSet(false)
24 {
25 }
26 
DnsProperties(JsonView jsonValue)27 DnsProperties::DnsProperties(JsonView jsonValue) :
28     m_hostedZoneIdHasBeenSet(false),
29     m_sOAHasBeenSet(false)
30 {
31   *this = jsonValue;
32 }
33 
operator =(JsonView jsonValue)34 DnsProperties& DnsProperties::operator =(JsonView jsonValue)
35 {
36   if(jsonValue.ValueExists("HostedZoneId"))
37   {
38     m_hostedZoneId = jsonValue.GetString("HostedZoneId");
39 
40     m_hostedZoneIdHasBeenSet = true;
41   }
42 
43   if(jsonValue.ValueExists("SOA"))
44   {
45     m_sOA = jsonValue.GetObject("SOA");
46 
47     m_sOAHasBeenSet = true;
48   }
49 
50   return *this;
51 }
52 
Jsonize() const53 JsonValue DnsProperties::Jsonize() const
54 {
55   JsonValue payload;
56 
57   if(m_hostedZoneIdHasBeenSet)
58   {
59    payload.WithString("HostedZoneId", m_hostedZoneId);
60 
61   }
62 
63   if(m_sOAHasBeenSet)
64   {
65    payload.WithObject("SOA", m_sOA.Jsonize());
66 
67   }
68 
69   return payload;
70 }
71 
72 } // namespace Model
73 } // namespace ServiceDiscovery
74 } // namespace Aws
75