1 /**
2 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
3 * SPDX-License-Identifier: Apache-2.0.
4 */
5
6 #include <aws/dms/model/CreateReplicationInstanceRequest.h>
7 #include <aws/core/utils/json/JsonSerializer.h>
8
9 #include <utility>
10
11 using namespace Aws::DatabaseMigrationService::Model;
12 using namespace Aws::Utils::Json;
13 using namespace Aws::Utils;
14
CreateReplicationInstanceRequest()15 CreateReplicationInstanceRequest::CreateReplicationInstanceRequest() :
16 m_replicationInstanceIdentifierHasBeenSet(false),
17 m_allocatedStorage(0),
18 m_allocatedStorageHasBeenSet(false),
19 m_replicationInstanceClassHasBeenSet(false),
20 m_vpcSecurityGroupIdsHasBeenSet(false),
21 m_availabilityZoneHasBeenSet(false),
22 m_replicationSubnetGroupIdentifierHasBeenSet(false),
23 m_preferredMaintenanceWindowHasBeenSet(false),
24 m_multiAZ(false),
25 m_multiAZHasBeenSet(false),
26 m_engineVersionHasBeenSet(false),
27 m_autoMinorVersionUpgrade(false),
28 m_autoMinorVersionUpgradeHasBeenSet(false),
29 m_tagsHasBeenSet(false),
30 m_kmsKeyIdHasBeenSet(false),
31 m_publiclyAccessible(false),
32 m_publiclyAccessibleHasBeenSet(false),
33 m_dnsNameServersHasBeenSet(false),
34 m_resourceIdentifierHasBeenSet(false)
35 {
36 }
37
SerializePayload() const38 Aws::String CreateReplicationInstanceRequest::SerializePayload() const
39 {
40 JsonValue payload;
41
42 if(m_replicationInstanceIdentifierHasBeenSet)
43 {
44 payload.WithString("ReplicationInstanceIdentifier", m_replicationInstanceIdentifier);
45
46 }
47
48 if(m_allocatedStorageHasBeenSet)
49 {
50 payload.WithInteger("AllocatedStorage", m_allocatedStorage);
51
52 }
53
54 if(m_replicationInstanceClassHasBeenSet)
55 {
56 payload.WithString("ReplicationInstanceClass", m_replicationInstanceClass);
57
58 }
59
60 if(m_vpcSecurityGroupIdsHasBeenSet)
61 {
62 Array<JsonValue> vpcSecurityGroupIdsJsonList(m_vpcSecurityGroupIds.size());
63 for(unsigned vpcSecurityGroupIdsIndex = 0; vpcSecurityGroupIdsIndex < vpcSecurityGroupIdsJsonList.GetLength(); ++vpcSecurityGroupIdsIndex)
64 {
65 vpcSecurityGroupIdsJsonList[vpcSecurityGroupIdsIndex].AsString(m_vpcSecurityGroupIds[vpcSecurityGroupIdsIndex]);
66 }
67 payload.WithArray("VpcSecurityGroupIds", std::move(vpcSecurityGroupIdsJsonList));
68
69 }
70
71 if(m_availabilityZoneHasBeenSet)
72 {
73 payload.WithString("AvailabilityZone", m_availabilityZone);
74
75 }
76
77 if(m_replicationSubnetGroupIdentifierHasBeenSet)
78 {
79 payload.WithString("ReplicationSubnetGroupIdentifier", m_replicationSubnetGroupIdentifier);
80
81 }
82
83 if(m_preferredMaintenanceWindowHasBeenSet)
84 {
85 payload.WithString("PreferredMaintenanceWindow", m_preferredMaintenanceWindow);
86
87 }
88
89 if(m_multiAZHasBeenSet)
90 {
91 payload.WithBool("MultiAZ", m_multiAZ);
92
93 }
94
95 if(m_engineVersionHasBeenSet)
96 {
97 payload.WithString("EngineVersion", m_engineVersion);
98
99 }
100
101 if(m_autoMinorVersionUpgradeHasBeenSet)
102 {
103 payload.WithBool("AutoMinorVersionUpgrade", m_autoMinorVersionUpgrade);
104
105 }
106
107 if(m_tagsHasBeenSet)
108 {
109 Array<JsonValue> tagsJsonList(m_tags.size());
110 for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex)
111 {
112 tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize());
113 }
114 payload.WithArray("Tags", std::move(tagsJsonList));
115
116 }
117
118 if(m_kmsKeyIdHasBeenSet)
119 {
120 payload.WithString("KmsKeyId", m_kmsKeyId);
121
122 }
123
124 if(m_publiclyAccessibleHasBeenSet)
125 {
126 payload.WithBool("PubliclyAccessible", m_publiclyAccessible);
127
128 }
129
130 if(m_dnsNameServersHasBeenSet)
131 {
132 payload.WithString("DnsNameServers", m_dnsNameServers);
133
134 }
135
136 if(m_resourceIdentifierHasBeenSet)
137 {
138 payload.WithString("ResourceIdentifier", m_resourceIdentifier);
139
140 }
141
142 return payload.View().WriteReadable();
143 }
144
GetRequestSpecificHeaders() const145 Aws::Http::HeaderValueCollection CreateReplicationInstanceRequest::GetRequestSpecificHeaders() const
146 {
147 Aws::Http::HeaderValueCollection headers;
148 headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "AmazonDMSv20160101.CreateReplicationInstance"));
149 return headers;
150
151 }
152
153
154
155
156