1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/lightsail/model/CreateLoadBalancerRequest.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8
9 #include <utility>
10
11 using namespace Aws::Lightsail::Model;
12 using namespace Aws::Utils::Json;
13 using namespace Aws::Utils;
14
CreateLoadBalancerRequest()15 CreateLoadBalancerRequest::CreateLoadBalancerRequest() :
16 m_loadBalancerNameHasBeenSet(false),
17 m_instancePort(0),
18 m_instancePortHasBeenSet(false),
19 m_healthCheckPathHasBeenSet(false),
20 m_certificateNameHasBeenSet(false),
21 m_certificateDomainNameHasBeenSet(false),
22 m_certificateAlternativeNamesHasBeenSet(false),
23 m_tagsHasBeenSet(false),
24 m_ipAddressType(IpAddressType::NOT_SET),
25 m_ipAddressTypeHasBeenSet(false)
26 {
27 }
28
SerializePayload() const29 Aws::String CreateLoadBalancerRequest::SerializePayload() const
30 {
31 JsonValue payload;
32
33 if(m_loadBalancerNameHasBeenSet)
34 {
35 payload.WithString("loadBalancerName", m_loadBalancerName);
36
37 }
38
39 if(m_instancePortHasBeenSet)
40 {
41 payload.WithInteger("instancePort", m_instancePort);
42
43 }
44
45 if(m_healthCheckPathHasBeenSet)
46 {
47 payload.WithString("healthCheckPath", m_healthCheckPath);
48
49 }
50
51 if(m_certificateNameHasBeenSet)
52 {
53 payload.WithString("certificateName", m_certificateName);
54
55 }
56
57 if(m_certificateDomainNameHasBeenSet)
58 {
59 payload.WithString("certificateDomainName", m_certificateDomainName);
60
61 }
62
63 if(m_certificateAlternativeNamesHasBeenSet)
64 {
65 Array<JsonValue> certificateAlternativeNamesJsonList(m_certificateAlternativeNames.size());
66 for(unsigned certificateAlternativeNamesIndex = 0; certificateAlternativeNamesIndex < certificateAlternativeNamesJsonList.GetLength(); ++certificateAlternativeNamesIndex)
67 {
68 certificateAlternativeNamesJsonList[certificateAlternativeNamesIndex].AsString(m_certificateAlternativeNames[certificateAlternativeNamesIndex]);
69 }
70 payload.WithArray("certificateAlternativeNames", std::move(certificateAlternativeNamesJsonList));
71
72 }
73
74 if(m_tagsHasBeenSet)
75 {
76 Array<JsonValue> tagsJsonList(m_tags.size());
77 for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex)
78 {
79 tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize());
80 }
81 payload.WithArray("tags", std::move(tagsJsonList));
82
83 }
84
85 if(m_ipAddressTypeHasBeenSet)
86 {
87 payload.WithString("ipAddressType", IpAddressTypeMapper::GetNameForIpAddressType(m_ipAddressType));
88 }
89
90 return payload.View().WriteReadable();
91 }
92
GetRequestSpecificHeaders() const93 Aws::Http::HeaderValueCollection CreateLoadBalancerRequest::GetRequestSpecificHeaders() const
94 {
95 Aws::Http::HeaderValueCollection headers;
96 headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "Lightsail_20161128.CreateLoadBalancer"));
97 return headers;
98
99 }
100
101
102
103
104