/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include #include #include using namespace Aws::DocDBElastic::Model; using namespace Aws::Utils::Json; using namespace Aws::Utils; RestoreClusterFromSnapshotRequest::RestoreClusterFromSnapshotRequest() : m_clusterNameHasBeenSet(false), m_kmsKeyIdHasBeenSet(false), m_snapshotArnHasBeenSet(false), m_subnetIdsHasBeenSet(false), m_tagsHasBeenSet(false), m_vpcSecurityGroupIdsHasBeenSet(false) { } Aws::String RestoreClusterFromSnapshotRequest::SerializePayload() const { JsonValue payload; if(m_clusterNameHasBeenSet) { payload.WithString("clusterName", m_clusterName); } if(m_kmsKeyIdHasBeenSet) { payload.WithString("kmsKeyId", m_kmsKeyId); } if(m_subnetIdsHasBeenSet) { Aws::Utils::Array subnetIdsJsonList(m_subnetIds.size()); for(unsigned subnetIdsIndex = 0; subnetIdsIndex < subnetIdsJsonList.GetLength(); ++subnetIdsIndex) { subnetIdsJsonList[subnetIdsIndex].AsString(m_subnetIds[subnetIdsIndex]); } payload.WithArray("subnetIds", std::move(subnetIdsJsonList)); } if(m_tagsHasBeenSet) { JsonValue tagsJsonMap; for(auto& tagsItem : m_tags) { tagsJsonMap.WithString(tagsItem.first, tagsItem.second); } payload.WithObject("tags", std::move(tagsJsonMap)); } if(m_vpcSecurityGroupIdsHasBeenSet) { Aws::Utils::Array vpcSecurityGroupIdsJsonList(m_vpcSecurityGroupIds.size()); for(unsigned vpcSecurityGroupIdsIndex = 0; vpcSecurityGroupIdsIndex < vpcSecurityGroupIdsJsonList.GetLength(); ++vpcSecurityGroupIdsIndex) { vpcSecurityGroupIdsJsonList[vpcSecurityGroupIdsIndex].AsString(m_vpcSecurityGroupIds[vpcSecurityGroupIdsIndex]); } payload.WithArray("vpcSecurityGroupIds", std::move(vpcSecurityGroupIdsJsonList)); } return payload.View().WriteReadable(); }