/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #include #include #include using namespace Aws::RDS::Model; using namespace Aws::Utils; CreateDBClusterRequest::CreateDBClusterRequest() : m_availabilityZonesHasBeenSet(false), m_backupRetentionPeriod(0), m_backupRetentionPeriodHasBeenSet(false), m_characterSetNameHasBeenSet(false), m_databaseNameHasBeenSet(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_optionGroupNameHasBeenSet(false), m_preferredBackupWindowHasBeenSet(false), m_preferredMaintenanceWindowHasBeenSet(false), m_replicationSourceIdentifierHasBeenSet(false), m_tagsHasBeenSet(false), m_storageEncrypted(false), m_storageEncryptedHasBeenSet(false), m_kmsKeyIdHasBeenSet(false), m_preSignedUrlHasBeenSet(false), m_enableIAMDatabaseAuthentication(false), m_enableIAMDatabaseAuthenticationHasBeenSet(false), m_backtrackWindow(0), m_backtrackWindowHasBeenSet(false), m_enableCloudwatchLogsExportsHasBeenSet(false), m_engineModeHasBeenSet(false), m_scalingConfigurationHasBeenSet(false), m_deletionProtection(false), m_deletionProtectionHasBeenSet(false), m_globalClusterIdentifierHasBeenSet(false), m_enableHttpEndpoint(false), m_enableHttpEndpointHasBeenSet(false), m_copyTagsToSnapshot(false), m_copyTagsToSnapshotHasBeenSet(false), m_domainHasBeenSet(false), m_domainIAMRoleNameHasBeenSet(false), m_enableGlobalWriteForwarding(false), m_enableGlobalWriteForwardingHasBeenSet(false), m_dBClusterInstanceClassHasBeenSet(false), m_allocatedStorage(0), m_allocatedStorageHasBeenSet(false), m_storageTypeHasBeenSet(false), m_iops(0), m_iopsHasBeenSet(false), m_publiclyAccessible(false), m_publiclyAccessibleHasBeenSet(false), m_autoMinorVersionUpgrade(false), m_autoMinorVersionUpgradeHasBeenSet(false), m_monitoringInterval(0), m_monitoringIntervalHasBeenSet(false), m_monitoringRoleArnHasBeenSet(false), m_enablePerformanceInsights(false), m_enablePerformanceInsightsHasBeenSet(false), m_performanceInsightsKMSKeyIdHasBeenSet(false), m_performanceInsightsRetentionPeriod(0), m_performanceInsightsRetentionPeriodHasBeenSet(false), m_serverlessV2ScalingConfigurationHasBeenSet(false), m_networkTypeHasBeenSet(false), m_dBSystemIdHasBeenSet(false), m_manageMasterUserPassword(false), m_manageMasterUserPasswordHasBeenSet(false), m_masterUserSecretKmsKeyIdHasBeenSet(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_characterSetNameHasBeenSet) { ss << "CharacterSetName=" << StringUtils::URLEncode(m_characterSetName.c_str()) << "&"; } if(m_databaseNameHasBeenSet) { ss << "DatabaseName=" << StringUtils::URLEncode(m_databaseName.c_str()) << "&"; } 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_optionGroupNameHasBeenSet) { ss << "OptionGroupName=" << StringUtils::URLEncode(m_optionGroupName.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_replicationSourceIdentifierHasBeenSet) { ss << "ReplicationSourceIdentifier=" << StringUtils::URLEncode(m_replicationSourceIdentifier.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_enableIAMDatabaseAuthenticationHasBeenSet) { ss << "EnableIAMDatabaseAuthentication=" << std::boolalpha << m_enableIAMDatabaseAuthentication << "&"; } if(m_backtrackWindowHasBeenSet) { ss << "BacktrackWindow=" << m_backtrackWindow << "&"; } if(m_enableCloudwatchLogsExportsHasBeenSet) { unsigned enableCloudwatchLogsExportsCount = 1; for(auto& item : m_enableCloudwatchLogsExports) { ss << "EnableCloudwatchLogsExports.member." << enableCloudwatchLogsExportsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; enableCloudwatchLogsExportsCount++; } } if(m_engineModeHasBeenSet) { ss << "EngineMode=" << StringUtils::URLEncode(m_engineMode.c_str()) << "&"; } if(m_scalingConfigurationHasBeenSet) { m_scalingConfiguration.OutputToStream(ss, "ScalingConfiguration"); } if(m_deletionProtectionHasBeenSet) { ss << "DeletionProtection=" << std::boolalpha << m_deletionProtection << "&"; } if(m_globalClusterIdentifierHasBeenSet) { ss << "GlobalClusterIdentifier=" << StringUtils::URLEncode(m_globalClusterIdentifier.c_str()) << "&"; } if(m_enableHttpEndpointHasBeenSet) { ss << "EnableHttpEndpoint=" << std::boolalpha << m_enableHttpEndpoint << "&"; } if(m_copyTagsToSnapshotHasBeenSet) { ss << "CopyTagsToSnapshot=" << std::boolalpha << m_copyTagsToSnapshot << "&"; } if(m_domainHasBeenSet) { ss << "Domain=" << StringUtils::URLEncode(m_domain.c_str()) << "&"; } if(m_domainIAMRoleNameHasBeenSet) { ss << "DomainIAMRoleName=" << StringUtils::URLEncode(m_domainIAMRoleName.c_str()) << "&"; } if(m_enableGlobalWriteForwardingHasBeenSet) { ss << "EnableGlobalWriteForwarding=" << std::boolalpha << m_enableGlobalWriteForwarding << "&"; } if(m_dBClusterInstanceClassHasBeenSet) { ss << "DBClusterInstanceClass=" << StringUtils::URLEncode(m_dBClusterInstanceClass.c_str()) << "&"; } if(m_allocatedStorageHasBeenSet) { ss << "AllocatedStorage=" << m_allocatedStorage << "&"; } if(m_storageTypeHasBeenSet) { ss << "StorageType=" << StringUtils::URLEncode(m_storageType.c_str()) << "&"; } if(m_iopsHasBeenSet) { ss << "Iops=" << m_iops << "&"; } if(m_publiclyAccessibleHasBeenSet) { ss << "PubliclyAccessible=" << std::boolalpha << m_publiclyAccessible << "&"; } if(m_autoMinorVersionUpgradeHasBeenSet) { ss << "AutoMinorVersionUpgrade=" << std::boolalpha << m_autoMinorVersionUpgrade << "&"; } if(m_monitoringIntervalHasBeenSet) { ss << "MonitoringInterval=" << m_monitoringInterval << "&"; } if(m_monitoringRoleArnHasBeenSet) { ss << "MonitoringRoleArn=" << StringUtils::URLEncode(m_monitoringRoleArn.c_str()) << "&"; } if(m_enablePerformanceInsightsHasBeenSet) { ss << "EnablePerformanceInsights=" << std::boolalpha << m_enablePerformanceInsights << "&"; } if(m_performanceInsightsKMSKeyIdHasBeenSet) { ss << "PerformanceInsightsKMSKeyId=" << StringUtils::URLEncode(m_performanceInsightsKMSKeyId.c_str()) << "&"; } if(m_performanceInsightsRetentionPeriodHasBeenSet) { ss << "PerformanceInsightsRetentionPeriod=" << m_performanceInsightsRetentionPeriod << "&"; } if(m_serverlessV2ScalingConfigurationHasBeenSet) { m_serverlessV2ScalingConfiguration.OutputToStream(ss, "ServerlessV2ScalingConfiguration"); } if(m_networkTypeHasBeenSet) { ss << "NetworkType=" << StringUtils::URLEncode(m_networkType.c_str()) << "&"; } if(m_dBSystemIdHasBeenSet) { ss << "DBSystemId=" << StringUtils::URLEncode(m_dBSystemId.c_str()) << "&"; } if(m_manageMasterUserPasswordHasBeenSet) { ss << "ManageMasterUserPassword=" << std::boolalpha << m_manageMasterUserPassword << "&"; } if(m_masterUserSecretKmsKeyIdHasBeenSet) { ss << "MasterUserSecretKmsKeyId=" << StringUtils::URLEncode(m_masterUserSecretKmsKeyId.c_str()) << "&"; } ss << "Version=2014-10-31"; return ss.str(); } void CreateDBClusterRequest::DumpBodyToUrl(Aws::Http::URI& uri ) const { uri.SetQueryString(SerializePayload()); }