/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include #include #include using namespace Aws::DocDB::Model; using namespace Aws::Utils; CreateDBClusterRequest::CreateDBClusterRequest() : m_availabilityZonesHasBeenSet(false), m_backupRetentionPeriod(0), m_backupRetentionPeriodHasBeenSet(false), m_dBClusterIdentifierHasBeenSet(false), m_dBClusterParameterGroupNameHasBeenSet(false), m_vpcSecurityGroupIdsHasBeenSet(false), m_dBSubnetGroupNameHasBeenSet(false), m_engineHasBeenSet(false), m_engineVersionHasBeenSet(false), m_port(0), m_portHasBeenSet(false), m_masterUsernameHasBeenSet(false), m_masterUserPasswordHasBeenSet(false), m_preferredBackupWindowHasBeenSet(false), m_preferredMaintenanceWindowHasBeenSet(false), m_tagsHasBeenSet(false), m_storageEncrypted(false), m_storageEncryptedHasBeenSet(false), m_kmsKeyIdHasBeenSet(false), m_preSignedUrlHasBeenSet(false), m_enableCloudwatchLogsExportsHasBeenSet(false), m_deletionProtection(false), m_deletionProtectionHasBeenSet(false), m_globalClusterIdentifierHasBeenSet(false), m_sourceRegionHasBeenSet(false) { } Aws::String CreateDBClusterRequest::SerializePayload() const { Aws::StringStream ss; ss << "Action=CreateDBCluster&"; if(m_availabilityZonesHasBeenSet) { unsigned availabilityZonesCount = 1; for(auto& item : m_availabilityZones) { ss << "AvailabilityZones.member." << availabilityZonesCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; availabilityZonesCount++; } } if(m_backupRetentionPeriodHasBeenSet) { ss << "BackupRetentionPeriod=" << m_backupRetentionPeriod << "&"; } if(m_dBClusterIdentifierHasBeenSet) { ss << "DBClusterIdentifier=" << StringUtils::URLEncode(m_dBClusterIdentifier.c_str()) << "&"; } if(m_dBClusterParameterGroupNameHasBeenSet) { ss << "DBClusterParameterGroupName=" << StringUtils::URLEncode(m_dBClusterParameterGroupName.c_str()) << "&"; } if(m_vpcSecurityGroupIdsHasBeenSet) { unsigned vpcSecurityGroupIdsCount = 1; for(auto& item : m_vpcSecurityGroupIds) { ss << "VpcSecurityGroupIds.member." << vpcSecurityGroupIdsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; vpcSecurityGroupIdsCount++; } } if(m_dBSubnetGroupNameHasBeenSet) { ss << "DBSubnetGroupName=" << StringUtils::URLEncode(m_dBSubnetGroupName.c_str()) << "&"; } if(m_engineHasBeenSet) { ss << "Engine=" << StringUtils::URLEncode(m_engine.c_str()) << "&"; } if(m_engineVersionHasBeenSet) { ss << "EngineVersion=" << StringUtils::URLEncode(m_engineVersion.c_str()) << "&"; } if(m_portHasBeenSet) { ss << "Port=" << m_port << "&"; } if(m_masterUsernameHasBeenSet) { ss << "MasterUsername=" << StringUtils::URLEncode(m_masterUsername.c_str()) << "&"; } if(m_masterUserPasswordHasBeenSet) { ss << "MasterUserPassword=" << StringUtils::URLEncode(m_masterUserPassword.c_str()) << "&"; } if(m_preferredBackupWindowHasBeenSet) { ss << "PreferredBackupWindow=" << StringUtils::URLEncode(m_preferredBackupWindow.c_str()) << "&"; } if(m_preferredMaintenanceWindowHasBeenSet) { ss << "PreferredMaintenanceWindow=" << StringUtils::URLEncode(m_preferredMaintenanceWindow.c_str()) << "&"; } if(m_tagsHasBeenSet) { unsigned tagsCount = 1; for(auto& item : m_tags) { item.OutputToStream(ss, "Tags.member.", tagsCount, ""); tagsCount++; } } if(m_storageEncryptedHasBeenSet) { ss << "StorageEncrypted=" << std::boolalpha << m_storageEncrypted << "&"; } if(m_kmsKeyIdHasBeenSet) { ss << "KmsKeyId=" << StringUtils::URLEncode(m_kmsKeyId.c_str()) << "&"; } if(m_preSignedUrlHasBeenSet) { ss << "PreSignedUrl=" << StringUtils::URLEncode(m_preSignedUrl.c_str()) << "&"; } if(m_enableCloudwatchLogsExportsHasBeenSet) { unsigned enableCloudwatchLogsExportsCount = 1; for(auto& item : m_enableCloudwatchLogsExports) { ss << "EnableCloudwatchLogsExports.member." << enableCloudwatchLogsExportsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; enableCloudwatchLogsExportsCount++; } } if(m_deletionProtectionHasBeenSet) { ss << "DeletionProtection=" << std::boolalpha << m_deletionProtection << "&"; } if(m_globalClusterIdentifierHasBeenSet) { ss << "GlobalClusterIdentifier=" << StringUtils::URLEncode(m_globalClusterIdentifier.c_str()) << "&"; } ss << "Version=2014-10-31"; return ss.str(); } void CreateDBClusterRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const { uri.SetQueryString(SerializePayload()); }