void ListMultipartUploadsRequest::AddQueryStringParameters(URI& uri) const { Aws::StringStream ss; if(m_delimiterHasBeenSet) { ss << m_delimiter; uri.AddQueryStringParameter("delimiter", ss.str()); ss.str(""); } if(m_encodingTypeHasBeenSet) { ss << EncodingTypeMapper::GetNameForEncodingType(m_encodingType); uri.AddQueryStringParameter("encoding-type", ss.str()); ss.str(""); } if(m_keyMarkerHasBeenSet) { ss << m_keyMarker; uri.AddQueryStringParameter("key-marker", ss.str()); ss.str(""); } if(m_maxUploadsHasBeenSet) { ss << m_maxUploads; uri.AddQueryStringParameter("max-uploads", ss.str()); ss.str(""); } if(m_prefixHasBeenSet) { ss << m_prefix; uri.AddQueryStringParameter("prefix", ss.str()); ss.str(""); } if(m_uploadIdMarkerHasBeenSet) { ss << m_uploadIdMarker; uri.AddQueryStringParameter("upload-id-marker", ss.str()); ss.str(""); } }
Aws::String CreateEventSubscriptionRequest::SerializePayload() const { Aws::StringStream ss; ss << "Action=CreateEventSubscription&"; if(m_subscriptionNameHasBeenSet) { ss << "SubscriptionName=" << StringUtils::URLEncode(m_subscriptionName.c_str()) << "&"; } if(m_snsTopicArnHasBeenSet) { ss << "SnsTopicArn=" << StringUtils::URLEncode(m_snsTopicArn.c_str()) << "&"; } if(m_sourceTypeHasBeenSet) { ss << "SourceType=" << StringUtils::URLEncode(m_sourceType.c_str()) << "&"; } if(m_sourceIdsHasBeenSet) { unsigned sourceIdsCount = 1; for(auto& item : m_sourceIds) { ss << "SourceIds.member." << sourceIdsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; sourceIdsCount++; } } if(m_eventCategoriesHasBeenSet) { unsigned eventCategoriesCount = 1; for(auto& item : m_eventCategories) { ss << "EventCategories.member." << eventCategoriesCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; eventCategoriesCount++; } } if(m_severityHasBeenSet) { ss << "Severity=" << StringUtils::URLEncode(m_severity.c_str()) << "&"; } if(m_enabledHasBeenSet) { ss << "Enabled=" << m_enabled << "&"; } if(m_tagsHasBeenSet) { unsigned tagsCount = 1; for(auto& item : m_tags) { item.OutputToStream(ss, "Tags.member.", tagsCount, ""); tagsCount++; } } ss << "Version=2012-12-01"; return ss.str(); }
bool AWSAuthV4Signer::PresignRequest(Aws::Http::HttpRequest& request, long long expirationTimeInSeconds) const { AWSCredentials credentials = m_credentialsProvider->GetAWSCredentials(); //don't sign anonymous requests if (credentials.GetAWSAccessKeyId().empty() || credentials.GetAWSSecretKey().empty()) { return true; } Aws::StringStream intConversionStream; intConversionStream << expirationTimeInSeconds; request.AddQueryStringParameter(Http::X_AMZ_EXPIRES_HEADER, intConversionStream.str()); if (!credentials.GetSessionToken().empty()) { request.AddQueryStringParameter(Http::AWS_SECURITY_TOKEN, credentials.GetSessionToken()); } //calculate date header to use in internal signature (this also goes into date header). Aws::String dateQueryValue = DateTime::CalculateGmtTimestampAsString(LONG_DATE_FORMAT_STR); request.AddQueryStringParameter(Http::AWS_DATE_HEADER, dateQueryValue); Aws::StringStream ss; ss << Http::HOST_HEADER << ":" << request.GetHeaderValue(Http::HOST_HEADER) << NEWLINE; Aws::String canonicalHeadersString(ss.str()); ss.str(""); AWS_LOGSTREAM_DEBUG(v4LogTag, "Canonical Header String: " << canonicalHeadersString); //calculate signed headers parameter Aws::String signedHeadersValue(Http::HOST_HEADER); request.AddQueryStringParameter(X_AMZ_SIGNED_HEADERS, signedHeadersValue); AWS_LOGSTREAM_DEBUG(v4LogTag, "Signed Headers value: " << signedHeadersValue); Aws::String regionName = RegionMapper::GetRegionName(m_region); Aws::String simpleDate = DateTime::CalculateGmtTimestampAsString(SIMPLE_DATE_FORMAT_STR); ss << credentials.GetAWSAccessKeyId() << "/" << simpleDate << "/" << regionName << "/" << m_serviceName << "/" << AWS4_REQUEST; request.AddQueryStringParameter(X_AMZ_ALGORITHM, AWS_HMAC_SHA256); request.AddQueryStringParameter(X_AMZ_CREDENTIAL, ss.str()); ss.str(""); //generate generalized canonicalized request string. Aws::String canonicalRequestString = CanonicalizeRequestSigningString(request); //append v4 stuff to the canonical request string. canonicalRequestString.append(canonicalHeadersString); canonicalRequestString.append(NEWLINE); canonicalRequestString.append(signedHeadersValue); canonicalRequestString.append(NEWLINE); canonicalRequestString.append(UNSIGNED_PAYLOAD); AWS_LOGSTREAM_DEBUG(v4LogTag, "Canonical Request String: " << canonicalRequestString); //now compute sha256 on that request string auto hashResult = m_hash->Calculate(canonicalRequestString); if (!hashResult.IsSuccess()) { AWS_LOGSTREAM_ERROR(v4LogTag, "Failed to hash (sha256) request string \"" << canonicalRequestString << "\""); return false; } auto sha256Digest = hashResult.GetResult(); auto cannonicalRequestHash = HashingUtils::HexEncode(sha256Digest); auto stringToSign = GenerateStringToSign(dateQueryValue, simpleDate, regionName, cannonicalRequestHash); auto finalSigningHash = GenerateSignature(credentials, stringToSign, simpleDate, regionName); if (finalSigningHash.empty()) { return false; } //add that the signature to the query string request.AddQueryStringParameter(X_AMZ_SIGNATURE, finalSigningHash); return true; }
void NatGateway::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const { if(m_vpcIdHasBeenSet) { oStream << location << index << locationValue << ".VpcId=" << StringUtils::URLEncode(m_vpcId.c_str()) << "&"; } if(m_subnetIdHasBeenSet) { oStream << location << index << locationValue << ".SubnetId=" << StringUtils::URLEncode(m_subnetId.c_str()) << "&"; } if(m_natGatewayIdHasBeenSet) { oStream << location << index << locationValue << ".NatGatewayId=" << StringUtils::URLEncode(m_natGatewayId.c_str()) << "&"; } if(m_createTimeHasBeenSet) { oStream << location << index << locationValue << ".CreateTime=" << StringUtils::URLEncode(m_createTime.ToGmtString(DateFormat::ISO_8601).c_str()) << "&"; } if(m_deleteTimeHasBeenSet) { oStream << location << index << locationValue << ".DeleteTime=" << StringUtils::URLEncode(m_deleteTime.ToGmtString(DateFormat::ISO_8601).c_str()) << "&"; } if(m_natGatewayAddressesHasBeenSet) { unsigned natGatewayAddressesIdx = 1; for(auto& item : m_natGatewayAddresses) { Aws::StringStream natGatewayAddressesSs; natGatewayAddressesSs << location << index << locationValue << ".NatGatewayAddressSet." << natGatewayAddressesIdx++; item.OutputToStream(oStream, natGatewayAddressesSs.str().c_str()); } } if(m_stateHasBeenSet) { oStream << location << index << locationValue << ".State=" << NatGatewayStateMapper::GetNameForNatGatewayState(m_state) << "&"; } if(m_failureCodeHasBeenSet) { oStream << location << index << locationValue << ".FailureCode=" << StringUtils::URLEncode(m_failureCode.c_str()) << "&"; } if(m_failureMessageHasBeenSet) { oStream << location << index << locationValue << ".FailureMessage=" << StringUtils::URLEncode(m_failureMessage.c_str()) << "&"; } if(m_provisionedBandwidthHasBeenSet) { Aws::StringStream provisionedBandwidthLocationAndMemberSs; provisionedBandwidthLocationAndMemberSs << location << index << locationValue << ".ProvisionedBandwidth"; m_provisionedBandwidth.OutputToStream(oStream, provisionedBandwidthLocationAndMemberSs.str().c_str()); } }
Aws::String PutMetricAlarmRequest::SerializePayload() const { Aws::StringStream ss; ss << "Action=PutMetricAlarm&"; if(m_alarmNameHasBeenSet) { ss << "AlarmName=" << StringUtils::URLEncode(m_alarmName.c_str()) << "&"; } if(m_alarmDescriptionHasBeenSet) { ss << "AlarmDescription=" << StringUtils::URLEncode(m_alarmDescription.c_str()) << "&"; } if(m_actionsEnabledHasBeenSet) { ss << "ActionsEnabled=" << m_actionsEnabled << "&"; } if(m_oKActionsHasBeenSet) { unsigned oKActionsCount = 1; for(auto& item : m_oKActions) { ss << "OKActions.member." << oKActionsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; oKActionsCount++; } } if(m_alarmActionsHasBeenSet) { unsigned alarmActionsCount = 1; for(auto& item : m_alarmActions) { ss << "AlarmActions.member." << alarmActionsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; alarmActionsCount++; } } if(m_insufficientDataActionsHasBeenSet) { unsigned insufficientDataActionsCount = 1; for(auto& item : m_insufficientDataActions) { ss << "InsufficientDataActions.member." << insufficientDataActionsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; insufficientDataActionsCount++; } } if(m_metricNameHasBeenSet) { ss << "MetricName=" << StringUtils::URLEncode(m_metricName.c_str()) << "&"; } if(m_namespaceHasBeenSet) { ss << "Namespace=" << StringUtils::URLEncode(m_namespace.c_str()) << "&"; } if(m_statisticHasBeenSet) { ss << "Statistic=" << StatisticMapper::GetNameForStatistic(m_statistic) << "&"; } if(m_dimensionsHasBeenSet) { unsigned dimensionsCount = 1; for(auto& item : m_dimensions) { item.OutputToStream(ss, "Dimensions.member.", dimensionsCount, ""); dimensionsCount++; } } if(m_periodHasBeenSet) { ss << "Period=" << m_period << "&"; } if(m_unitHasBeenSet) { ss << "Unit=" << StandardUnitMapper::GetNameForStandardUnit(m_unit) << "&"; } if(m_evaluationPeriodsHasBeenSet) { ss << "EvaluationPeriods=" << m_evaluationPeriods << "&"; } if(m_thresholdHasBeenSet) { ss << "Threshold=" << StringUtils::URLEncode(m_threshold) << "&"; } if(m_comparisonOperatorHasBeenSet) { ss << "ComparisonOperator=" << ComparisonOperatorMapper::GetNameForComparisonOperator(m_comparisonOperator) << "&"; } ss << "Version=2010-08-01"; return ss.str(); }
void ReservedDBInstance::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const { if(m_reservedDBInstanceIdHasBeenSet) { oStream << location << index << locationValue << ".ReservedDBInstanceId=" << StringUtils::URLEncode(m_reservedDBInstanceId.c_str()) << "&"; } if(m_reservedDBInstancesOfferingIdHasBeenSet) { oStream << location << index << locationValue << ".ReservedDBInstancesOfferingId=" << StringUtils::URLEncode(m_reservedDBInstancesOfferingId.c_str()) << "&"; } if(m_dBInstanceClassHasBeenSet) { oStream << location << index << locationValue << ".DBInstanceClass=" << StringUtils::URLEncode(m_dBInstanceClass.c_str()) << "&"; } if(m_startTimeHasBeenSet) { oStream << location << index << locationValue << ".StartTime=" << m_startTime << "&"; } if(m_durationHasBeenSet) { oStream << location << index << locationValue << ".Duration=" << m_duration << "&"; } if(m_fixedPriceHasBeenSet) { oStream << location << index << locationValue << ".FixedPrice=" << m_fixedPrice << "&"; } if(m_usagePriceHasBeenSet) { oStream << location << index << locationValue << ".UsagePrice=" << m_usagePrice << "&"; } if(m_currencyCodeHasBeenSet) { oStream << location << index << locationValue << ".CurrencyCode=" << StringUtils::URLEncode(m_currencyCode.c_str()) << "&"; } if(m_dBInstanceCountHasBeenSet) { oStream << location << index << locationValue << ".DBInstanceCount=" << m_dBInstanceCount << "&"; } if(m_productDescriptionHasBeenSet) { oStream << location << index << locationValue << ".ProductDescription=" << StringUtils::URLEncode(m_productDescription.c_str()) << "&"; } if(m_offeringTypeHasBeenSet) { oStream << location << index << locationValue << ".OfferingType=" << StringUtils::URLEncode(m_offeringType.c_str()) << "&"; } if(m_multiAZHasBeenSet) { oStream << location << index << locationValue << ".MultiAZ=" << m_multiAZ << "&"; } if(m_stateHasBeenSet) { oStream << location << index << locationValue << ".State=" << StringUtils::URLEncode(m_state.c_str()) << "&"; } if(m_recurringChargesHasBeenSet) { for(auto& item : m_recurringCharges) { Aws::StringStream recurringChargesSs; recurringChargesSs << location << index << locationValue << ".RecurringCharge"; item.OutputToStream(oStream, recurringChargesSs.str().c_str()); } } }
void SearchRequest::AddQueryStringParameters(URI& uri) const { Aws::StringStream ss; if(m_cursorHasBeenSet) { ss << m_cursor; uri.AddQueryStringParameter("cursor", ss.str()); ss.str(""); } if(m_exprHasBeenSet) { ss << m_expr; uri.AddQueryStringParameter("expr", ss.str()); ss.str(""); } if(m_facetHasBeenSet) { ss << m_facet; uri.AddQueryStringParameter("facet", ss.str()); ss.str(""); } if(m_filterQueryHasBeenSet) { ss << m_filterQuery; uri.AddQueryStringParameter("fq", ss.str()); ss.str(""); } if(m_highlightHasBeenSet) { ss << m_highlight; uri.AddQueryStringParameter("highlight", ss.str()); ss.str(""); } if(m_partialHasBeenSet) { ss << m_partial; uri.AddQueryStringParameter("partial", ss.str()); ss.str(""); } if(m_queryHasBeenSet) { ss << m_query; uri.AddQueryStringParameter("q", ss.str()); ss.str(""); } if(m_queryOptionsHasBeenSet) { ss << m_queryOptions; uri.AddQueryStringParameter("q.options", ss.str()); ss.str(""); } if(m_queryParserHasBeenSet) { ss << QueryParserMapper::GetNameForQueryParser(m_queryParser); uri.AddQueryStringParameter("q.parser", ss.str()); ss.str(""); } if(m_returnHasBeenSet) { ss << m_return; uri.AddQueryStringParameter("return", ss.str()); ss.str(""); } if(m_sizeHasBeenSet) { ss << m_size; uri.AddQueryStringParameter("size", ss.str()); ss.str(""); } if(m_sortHasBeenSet) { ss << m_sort; uri.AddQueryStringParameter("sort", ss.str()); ss.str(""); } if(m_startHasBeenSet) { ss << m_start; uri.AddQueryStringParameter("start", ss.str()); ss.str(""); } if(m_statsHasBeenSet) { ss << m_stats; uri.AddQueryStringParameter("stats", ss.str()); ss.str(""); } }
void EnvironmentDescription::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const { if(m_environmentNameHasBeenSet) { oStream << location << index << locationValue << ".EnvironmentName=" << StringUtils::URLEncode(m_environmentName.c_str()) << "&"; } if(m_environmentIdHasBeenSet) { oStream << location << index << locationValue << ".EnvironmentId=" << StringUtils::URLEncode(m_environmentId.c_str()) << "&"; } if(m_applicationNameHasBeenSet) { oStream << location << index << locationValue << ".ApplicationName=" << StringUtils::URLEncode(m_applicationName.c_str()) << "&"; } if(m_versionLabelHasBeenSet) { oStream << location << index << locationValue << ".VersionLabel=" << StringUtils::URLEncode(m_versionLabel.c_str()) << "&"; } if(m_solutionStackNameHasBeenSet) { oStream << location << index << locationValue << ".SolutionStackName=" << StringUtils::URLEncode(m_solutionStackName.c_str()) << "&"; } if(m_templateNameHasBeenSet) { oStream << location << index << locationValue << ".TemplateName=" << StringUtils::URLEncode(m_templateName.c_str()) << "&"; } if(m_descriptionHasBeenSet) { oStream << location << index << locationValue << ".Description=" << StringUtils::URLEncode(m_description.c_str()) << "&"; } if(m_endpointURLHasBeenSet) { oStream << location << index << locationValue << ".EndpointURL=" << StringUtils::URLEncode(m_endpointURL.c_str()) << "&"; } if(m_cNAMEHasBeenSet) { oStream << location << index << locationValue << ".CNAME=" << StringUtils::URLEncode(m_cNAME.c_str()) << "&"; } if(m_dateCreatedHasBeenSet) { oStream << location << index << locationValue << ".DateCreated=" << m_dateCreated << "&"; } if(m_dateUpdatedHasBeenSet) { oStream << location << index << locationValue << ".DateUpdated=" << m_dateUpdated << "&"; } if(m_statusHasBeenSet) { oStream << location << index << locationValue << ".Status=" << EnvironmentStatusMapper::GetNameForEnvironmentStatus(m_status) << "&"; } if(m_abortableOperationInProgressHasBeenSet) { oStream << location << index << locationValue << ".AbortableOperationInProgress=" << m_abortableOperationInProgress << "&"; } if(m_healthHasBeenSet) { oStream << location << index << locationValue << ".Health=" << EnvironmentHealthMapper::GetNameForEnvironmentHealth(m_health) << "&"; } if(m_healthStatusHasBeenSet) { oStream << location << index << locationValue << ".HealthStatus=" << EnvironmentHealthStatusMapper::GetNameForEnvironmentHealthStatus(m_healthStatus) << "&"; } if(m_resourcesHasBeenSet) { Aws::StringStream resourcesLocationAndMemberSs; resourcesLocationAndMemberSs << location << index << locationValue << ".Resources"; m_resources.OutputToStream(oStream, resourcesLocationAndMemberSs.str().c_str()); } if(m_tierHasBeenSet) { Aws::StringStream tierLocationAndMemberSs; tierLocationAndMemberSs << location << index << locationValue << ".Tier"; m_tier.OutputToStream(oStream, tierLocationAndMemberSs.str().c_str()); } if(m_responseMetadataHasBeenSet) { Aws::StringStream responseMetadataLocationAndMemberSs; responseMetadataLocationAndMemberSs << location << index << locationValue << ".ResponseMetadata"; m_responseMetadata.OutputToStream(oStream, responseMetadataLocationAndMemberSs.str().c_str()); } }
void ReservedInstances::OutputToStream(Aws::OStream& oStream, const char* location) const { if(m_reservedInstancesIdHasBeenSet) { oStream << location << ".ReservedInstancesId=" << StringUtils::URLEncode(m_reservedInstancesId.c_str()) << "&"; } if(m_instanceTypeHasBeenSet) { oStream << location << ".InstanceType=" << InstanceTypeMapper::GetNameForInstanceType(m_instanceType) << "&"; } if(m_availabilityZoneHasBeenSet) { oStream << location << ".AvailabilityZone=" << StringUtils::URLEncode(m_availabilityZone.c_str()) << "&"; } if(m_startHasBeenSet) { oStream << location << ".Start=" << StringUtils::URLEncode(m_start) << "&"; } if(m_endHasBeenSet) { oStream << location << ".End=" << StringUtils::URLEncode(m_end) << "&"; } if(m_durationHasBeenSet) { oStream << location << ".Duration=" << m_duration << "&"; } if(m_usagePriceHasBeenSet) { oStream << location << ".UsagePrice=" << m_usagePrice << "&"; } if(m_fixedPriceHasBeenSet) { oStream << location << ".FixedPrice=" << m_fixedPrice << "&"; } if(m_instanceCountHasBeenSet) { oStream << location << ".InstanceCount=" << m_instanceCount << "&"; } if(m_productDescriptionHasBeenSet) { oStream << location << ".ProductDescription=" << RIProductDescriptionMapper::GetNameForRIProductDescription(m_productDescription) << "&"; } if(m_stateHasBeenSet) { oStream << location << ".State=" << ReservedInstanceStateMapper::GetNameForReservedInstanceState(m_state) << "&"; } if(m_tagsHasBeenSet) { unsigned tagsIdx = 1; for(auto& item : m_tags) { Aws::StringStream tagsSs; tagsSs << location << ".item." << tagsIdx++; item.OutputToStream(oStream, tagsSs.str().c_str()); } } if(m_instanceTenancyHasBeenSet) { oStream << location << ".InstanceTenancy=" << TenancyMapper::GetNameForTenancy(m_instanceTenancy) << "&"; } if(m_currencyCodeHasBeenSet) { oStream << location << ".CurrencyCode=" << CurrencyCodeValuesMapper::GetNameForCurrencyCodeValues(m_currencyCode) << "&"; } if(m_offeringTypeHasBeenSet) { oStream << location << ".OfferingType=" << OfferingTypeValuesMapper::GetNameForOfferingTypeValues(m_offeringType) << "&"; } if(m_recurringChargesHasBeenSet) { unsigned recurringChargesIdx = 1; for(auto& item : m_recurringCharges) { Aws::StringStream recurringChargesSs; recurringChargesSs << location << ".item." << recurringChargesIdx++; item.OutputToStream(oStream, recurringChargesSs.str().c_str()); } } }
Aws::String ModifyClusterRequest::SerializePayload() const { Aws::StringStream ss; ss << "Action=ModifyCluster&"; if(m_clusterIdentifierHasBeenSet) { ss << "ClusterIdentifier=" << StringUtils::URLEncode(m_clusterIdentifier.c_str()) << "&"; } if(m_clusterTypeHasBeenSet) { ss << "ClusterType=" << StringUtils::URLEncode(m_clusterType.c_str()) << "&"; } if(m_nodeTypeHasBeenSet) { ss << "NodeType=" << StringUtils::URLEncode(m_nodeType.c_str()) << "&"; } if(m_numberOfNodesHasBeenSet) { ss << "NumberOfNodes=" << m_numberOfNodes << "&"; } if(m_clusterSecurityGroupsHasBeenSet) { unsigned clusterSecurityGroupsCount = 1; for(auto& item : m_clusterSecurityGroups) { ss << "ClusterSecurityGroups.member." << clusterSecurityGroupsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; clusterSecurityGroupsCount++; } } if(m_vpcSecurityGroupIdsHasBeenSet) { unsigned vpcSecurityGroupIdsCount = 1; for(auto& item : m_vpcSecurityGroupIds) { ss << "VpcSecurityGroupIds.member." << vpcSecurityGroupIdsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; vpcSecurityGroupIdsCount++; } } if(m_masterUserPasswordHasBeenSet) { ss << "MasterUserPassword="******"&"; } if(m_clusterParameterGroupNameHasBeenSet) { ss << "ClusterParameterGroupName=" << StringUtils::URLEncode(m_clusterParameterGroupName.c_str()) << "&"; } if(m_automatedSnapshotRetentionPeriodHasBeenSet) { ss << "AutomatedSnapshotRetentionPeriod=" << m_automatedSnapshotRetentionPeriod << "&"; } if(m_preferredMaintenanceWindowHasBeenSet) { ss << "PreferredMaintenanceWindow=" << StringUtils::URLEncode(m_preferredMaintenanceWindow.c_str()) << "&"; } if(m_clusterVersionHasBeenSet) { ss << "ClusterVersion=" << StringUtils::URLEncode(m_clusterVersion.c_str()) << "&"; } if(m_allowVersionUpgradeHasBeenSet) { ss << "AllowVersionUpgrade=" << m_allowVersionUpgrade << "&"; } if(m_hsmClientCertificateIdentifierHasBeenSet) { ss << "HsmClientCertificateIdentifier=" << StringUtils::URLEncode(m_hsmClientCertificateIdentifier.c_str()) << "&"; } if(m_hsmConfigurationIdentifierHasBeenSet) { ss << "HsmConfigurationIdentifier=" << StringUtils::URLEncode(m_hsmConfigurationIdentifier.c_str()) << "&"; } if(m_newClusterIdentifierHasBeenSet) { ss << "NewClusterIdentifier=" << StringUtils::URLEncode(m_newClusterIdentifier.c_str()) << "&"; } if(m_publiclyAccessibleHasBeenSet) { ss << "PubliclyAccessible=" << m_publiclyAccessible << "&"; } if(m_elasticIpHasBeenSet) { ss << "ElasticIp=" << StringUtils::URLEncode(m_elasticIp.c_str()) << "&"; } ss << "Version=2012-12-01"; return ss.str(); }
void CloudWatchAlarmConfiguration::AddToNode(XmlNode& parentNode) const { Aws::StringStream ss; if(m_evaluationPeriodsHasBeenSet) { XmlNode evaluationPeriodsNode = parentNode.CreateChildElement("EvaluationPeriods"); ss << m_evaluationPeriods; evaluationPeriodsNode.SetText(ss.str()); ss.str(""); } if(m_thresholdHasBeenSet) { XmlNode thresholdNode = parentNode.CreateChildElement("Threshold"); ss << m_threshold; thresholdNode.SetText(ss.str()); ss.str(""); } if(m_comparisonOperatorHasBeenSet) { XmlNode comparisonOperatorNode = parentNode.CreateChildElement("ComparisonOperator"); comparisonOperatorNode.SetText(ComparisonOperatorMapper::GetNameForComparisonOperator(m_comparisonOperator)); } if(m_periodHasBeenSet) { XmlNode periodNode = parentNode.CreateChildElement("Period"); ss << m_period; periodNode.SetText(ss.str()); ss.str(""); } if(m_metricNameHasBeenSet) { XmlNode metricNameNode = parentNode.CreateChildElement("MetricName"); metricNameNode.SetText(m_metricName); } if(m_namespaceHasBeenSet) { XmlNode namespaceNode = parentNode.CreateChildElement("Namespace"); namespaceNode.SetText(m_namespace); } if(m_statisticHasBeenSet) { XmlNode statisticNode = parentNode.CreateChildElement("Statistic"); statisticNode.SetText(StatisticMapper::GetNameForStatistic(m_statistic)); } if(m_dimensionsHasBeenSet) { XmlNode dimensionsParentNode = parentNode.CreateChildElement("Dimensions"); for(const auto& item : m_dimensions) { XmlNode dimensionsNode = dimensionsParentNode.CreateChildElement("Dimension"); item.AddToNode(dimensionsNode); } } }
void FpgaImage::OutputToStream(Aws::OStream& oStream, const char* location) const { if(m_fpgaImageIdHasBeenSet) { oStream << location << ".FpgaImageId=" << StringUtils::URLEncode(m_fpgaImageId.c_str()) << "&"; } if(m_fpgaImageGlobalIdHasBeenSet) { oStream << location << ".FpgaImageGlobalId=" << StringUtils::URLEncode(m_fpgaImageGlobalId.c_str()) << "&"; } if(m_nameHasBeenSet) { oStream << location << ".Name=" << StringUtils::URLEncode(m_name.c_str()) << "&"; } if(m_descriptionHasBeenSet) { oStream << location << ".Description=" << StringUtils::URLEncode(m_description.c_str()) << "&"; } if(m_shellVersionHasBeenSet) { oStream << location << ".ShellVersion=" << StringUtils::URLEncode(m_shellVersion.c_str()) << "&"; } if(m_pciIdHasBeenSet) { Aws::String pciIdLocationAndMember(location); pciIdLocationAndMember += ".PciId"; m_pciId.OutputToStream(oStream, pciIdLocationAndMember.c_str()); } if(m_stateHasBeenSet) { Aws::String stateLocationAndMember(location); stateLocationAndMember += ".State"; m_state.OutputToStream(oStream, stateLocationAndMember.c_str()); } if(m_createTimeHasBeenSet) { oStream << location << ".CreateTime=" << StringUtils::URLEncode(m_createTime.ToGmtString(DateFormat::ISO_8601).c_str()) << "&"; } if(m_updateTimeHasBeenSet) { oStream << location << ".UpdateTime=" << StringUtils::URLEncode(m_updateTime.ToGmtString(DateFormat::ISO_8601).c_str()) << "&"; } if(m_ownerIdHasBeenSet) { oStream << location << ".OwnerId=" << StringUtils::URLEncode(m_ownerId.c_str()) << "&"; } if(m_ownerAliasHasBeenSet) { oStream << location << ".OwnerAlias=" << StringUtils::URLEncode(m_ownerAlias.c_str()) << "&"; } if(m_productCodesHasBeenSet) { unsigned productCodesIdx = 1; for(auto& item : m_productCodes) { Aws::StringStream productCodesSs; productCodesSs << location << ".ProductCodes." << productCodesIdx++; item.OutputToStream(oStream, productCodesSs.str().c_str()); } } if(m_tagsHasBeenSet) { unsigned tagsIdx = 1; for(auto& item : m_tags) { Aws::StringStream tagsSs; tagsSs << location << ".Tags." << tagsIdx++; item.OutputToStream(oStream, tagsSs.str().c_str()); } } }
Aws::String CreateReplicationGroupRequest::SerializePayload() const { Aws::StringStream ss; ss << "Action=CreateReplicationGroup&"; if(m_replicationGroupIdHasBeenSet) { ss << "ReplicationGroupId=" << StringUtils::URLEncode(m_replicationGroupId.c_str()) << "&"; } if(m_replicationGroupDescriptionHasBeenSet) { ss << "ReplicationGroupDescription=" << StringUtils::URLEncode(m_replicationGroupDescription.c_str()) << "&"; } if(m_primaryClusterIdHasBeenSet) { ss << "PrimaryClusterId=" << StringUtils::URLEncode(m_primaryClusterId.c_str()) << "&"; } if(m_automaticFailoverEnabledHasBeenSet) { ss << "AutomaticFailoverEnabled=" << m_automaticFailoverEnabled << "&"; } if(m_numCacheClustersHasBeenSet) { ss << "NumCacheClusters=" << m_numCacheClusters << "&"; } if(m_preferredCacheClusterAZsHasBeenSet) { unsigned preferredCacheClusterAZsCount = 1; for(auto& item : m_preferredCacheClusterAZs) { ss << "PreferredCacheClusterAZs.member." << preferredCacheClusterAZsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; preferredCacheClusterAZsCount++; } } if(m_cacheNodeTypeHasBeenSet) { ss << "CacheNodeType=" << StringUtils::URLEncode(m_cacheNodeType.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_cacheParameterGroupNameHasBeenSet) { ss << "CacheParameterGroupName=" << StringUtils::URLEncode(m_cacheParameterGroupName.c_str()) << "&"; } if(m_cacheSubnetGroupNameHasBeenSet) { ss << "CacheSubnetGroupName=" << StringUtils::URLEncode(m_cacheSubnetGroupName.c_str()) << "&"; } if(m_cacheSecurityGroupNamesHasBeenSet) { unsigned cacheSecurityGroupNamesCount = 1; for(auto& item : m_cacheSecurityGroupNames) { ss << "CacheSecurityGroupNames.member." << cacheSecurityGroupNamesCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; cacheSecurityGroupNamesCount++; } } if(m_securityGroupIdsHasBeenSet) { unsigned securityGroupIdsCount = 1; for(auto& item : m_securityGroupIds) { ss << "SecurityGroupIds.member." << securityGroupIdsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; securityGroupIdsCount++; } } if(m_tagsHasBeenSet) { unsigned tagsCount = 1; for(auto& item : m_tags) { item.OutputToStream(ss, "Tags.member.", tagsCount, ""); tagsCount++; } } if(m_snapshotArnsHasBeenSet) { unsigned snapshotArnsCount = 1; for(auto& item : m_snapshotArns) { ss << "SnapshotArns.member." << snapshotArnsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; snapshotArnsCount++; } } if(m_snapshotNameHasBeenSet) { ss << "SnapshotName=" << StringUtils::URLEncode(m_snapshotName.c_str()) << "&"; } if(m_preferredMaintenanceWindowHasBeenSet) { ss << "PreferredMaintenanceWindow=" << StringUtils::URLEncode(m_preferredMaintenanceWindow.c_str()) << "&"; } if(m_portHasBeenSet) { ss << "Port=" << m_port << "&"; } if(m_notificationTopicArnHasBeenSet) { ss << "NotificationTopicArn=" << StringUtils::URLEncode(m_notificationTopicArn.c_str()) << "&"; } if(m_autoMinorVersionUpgradeHasBeenSet) { ss << "AutoMinorVersionUpgrade=" << m_autoMinorVersionUpgrade << "&"; } if(m_snapshotRetentionLimitHasBeenSet) { ss << "SnapshotRetentionLimit=" << m_snapshotRetentionLimit << "&"; } if(m_snapshotWindowHasBeenSet) { ss << "SnapshotWindow=" << StringUtils::URLEncode(m_snapshotWindow.c_str()) << "&"; } ss << "Version=2015-02-02"; return ss.str(); }
Aws::String RestoreFromClusterSnapshotRequest::SerializePayload() const { Aws::StringStream ss; ss << "Action=RestoreFromClusterSnapshot&"; if(m_clusterIdentifierHasBeenSet) { ss << "ClusterIdentifier=" << StringUtils::URLEncode(m_clusterIdentifier.c_str()) << "&"; } if(m_snapshotIdentifierHasBeenSet) { ss << "SnapshotIdentifier=" << StringUtils::URLEncode(m_snapshotIdentifier.c_str()) << "&"; } if(m_snapshotClusterIdentifierHasBeenSet) { ss << "SnapshotClusterIdentifier=" << StringUtils::URLEncode(m_snapshotClusterIdentifier.c_str()) << "&"; } if(m_portHasBeenSet) { ss << "Port=" << m_port << "&"; } if(m_availabilityZoneHasBeenSet) { ss << "AvailabilityZone=" << StringUtils::URLEncode(m_availabilityZone.c_str()) << "&"; } if(m_allowVersionUpgradeHasBeenSet) { ss << "AllowVersionUpgrade=" << m_allowVersionUpgrade << "&"; } if(m_clusterSubnetGroupNameHasBeenSet) { ss << "ClusterSubnetGroupName=" << StringUtils::URLEncode(m_clusterSubnetGroupName.c_str()) << "&"; } if(m_publiclyAccessibleHasBeenSet) { ss << "PubliclyAccessible=" << m_publiclyAccessible << "&"; } if(m_ownerAccountHasBeenSet) { ss << "OwnerAccount=" << StringUtils::URLEncode(m_ownerAccount.c_str()) << "&"; } if(m_hsmClientCertificateIdentifierHasBeenSet) { ss << "HsmClientCertificateIdentifier=" << StringUtils::URLEncode(m_hsmClientCertificateIdentifier.c_str()) << "&"; } if(m_hsmConfigurationIdentifierHasBeenSet) { ss << "HsmConfigurationIdentifier=" << StringUtils::URLEncode(m_hsmConfigurationIdentifier.c_str()) << "&"; } if(m_elasticIpHasBeenSet) { ss << "ElasticIp=" << StringUtils::URLEncode(m_elasticIp.c_str()) << "&"; } if(m_clusterParameterGroupNameHasBeenSet) { ss << "ClusterParameterGroupName=" << StringUtils::URLEncode(m_clusterParameterGroupName.c_str()) << "&"; } if(m_clusterSecurityGroupsHasBeenSet) { unsigned clusterSecurityGroupsCount = 1; for(auto& item : m_clusterSecurityGroups) { ss << "ClusterSecurityGroups.member." << clusterSecurityGroupsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; clusterSecurityGroupsCount++; } } if(m_vpcSecurityGroupIdsHasBeenSet) { unsigned vpcSecurityGroupIdsCount = 1; for(auto& item : m_vpcSecurityGroupIds) { ss << "VpcSecurityGroupIds.member." << vpcSecurityGroupIdsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; vpcSecurityGroupIdsCount++; } } if(m_preferredMaintenanceWindowHasBeenSet) { ss << "PreferredMaintenanceWindow=" << StringUtils::URLEncode(m_preferredMaintenanceWindow.c_str()) << "&"; } if(m_automatedSnapshotRetentionPeriodHasBeenSet) { ss << "AutomatedSnapshotRetentionPeriod=" << m_automatedSnapshotRetentionPeriod << "&"; } if(m_kmsKeyIdHasBeenSet) { ss << "KmsKeyId=" << StringUtils::URLEncode(m_kmsKeyId.c_str()) << "&"; } if(m_nodeTypeHasBeenSet) { ss << "NodeType=" << StringUtils::URLEncode(m_nodeType.c_str()) << "&"; } ss << "Version=2012-12-01"; return ss.str(); }
void CacheCluster::OutputToStream(Aws::OStream& oStream, const char* location) const { if(m_cacheClusterIdHasBeenSet) { oStream << location << ".CacheClusterId=" << StringUtils::URLEncode(m_cacheClusterId.c_str()) << "&"; } if(m_configurationEndpointHasBeenSet) { Aws::String configurationEndpointLocationAndMember(location); configurationEndpointLocationAndMember += ".ConfigurationEndpoint"; m_configurationEndpoint.OutputToStream(oStream, configurationEndpointLocationAndMember.c_str()); } if(m_clientDownloadLandingPageHasBeenSet) { oStream << location << ".ClientDownloadLandingPage=" << StringUtils::URLEncode(m_clientDownloadLandingPage.c_str()) << "&"; } if(m_cacheNodeTypeHasBeenSet) { oStream << location << ".CacheNodeType=" << StringUtils::URLEncode(m_cacheNodeType.c_str()) << "&"; } if(m_engineHasBeenSet) { oStream << location << ".Engine=" << StringUtils::URLEncode(m_engine.c_str()) << "&"; } if(m_engineVersionHasBeenSet) { oStream << location << ".EngineVersion=" << StringUtils::URLEncode(m_engineVersion.c_str()) << "&"; } if(m_cacheClusterStatusHasBeenSet) { oStream << location << ".CacheClusterStatus=" << StringUtils::URLEncode(m_cacheClusterStatus.c_str()) << "&"; } if(m_numCacheNodesHasBeenSet) { oStream << location << ".NumCacheNodes=" << m_numCacheNodes << "&"; } if(m_preferredAvailabilityZoneHasBeenSet) { oStream << location << ".PreferredAvailabilityZone=" << StringUtils::URLEncode(m_preferredAvailabilityZone.c_str()) << "&"; } if(m_cacheClusterCreateTimeHasBeenSet) { oStream << location << ".CacheClusterCreateTime=" << StringUtils::URLEncode(m_cacheClusterCreateTime.ToGmtString(DateFormat::ISO_8601).c_str()) << "&"; } if(m_preferredMaintenanceWindowHasBeenSet) { oStream << location << ".PreferredMaintenanceWindow=" << StringUtils::URLEncode(m_preferredMaintenanceWindow.c_str()) << "&"; } if(m_pendingModifiedValuesHasBeenSet) { Aws::String pendingModifiedValuesLocationAndMember(location); pendingModifiedValuesLocationAndMember += ".PendingModifiedValues"; m_pendingModifiedValues.OutputToStream(oStream, pendingModifiedValuesLocationAndMember.c_str()); } if(m_notificationConfigurationHasBeenSet) { Aws::String notificationConfigurationLocationAndMember(location); notificationConfigurationLocationAndMember += ".NotificationConfiguration"; m_notificationConfiguration.OutputToStream(oStream, notificationConfigurationLocationAndMember.c_str()); } if(m_cacheSecurityGroupsHasBeenSet) { unsigned cacheSecurityGroupsIdx = 1; for(auto& item : m_cacheSecurityGroups) { Aws::StringStream cacheSecurityGroupsSs; cacheSecurityGroupsSs << location << ".CacheSecurityGroup." << cacheSecurityGroupsIdx++; item.OutputToStream(oStream, cacheSecurityGroupsSs.str().c_str()); } } if(m_cacheParameterGroupHasBeenSet) { Aws::String cacheParameterGroupLocationAndMember(location); cacheParameterGroupLocationAndMember += ".CacheParameterGroup"; m_cacheParameterGroup.OutputToStream(oStream, cacheParameterGroupLocationAndMember.c_str()); } if(m_cacheSubnetGroupNameHasBeenSet) { oStream << location << ".CacheSubnetGroupName=" << StringUtils::URLEncode(m_cacheSubnetGroupName.c_str()) << "&"; } if(m_cacheNodesHasBeenSet) { unsigned cacheNodesIdx = 1; for(auto& item : m_cacheNodes) { Aws::StringStream cacheNodesSs; cacheNodesSs << location << ".CacheNode." << cacheNodesIdx++; item.OutputToStream(oStream, cacheNodesSs.str().c_str()); } } if(m_autoMinorVersionUpgradeHasBeenSet) { oStream << location << ".AutoMinorVersionUpgrade=" << m_autoMinorVersionUpgrade << "&"; } if(m_securityGroupsHasBeenSet) { unsigned securityGroupsIdx = 1; for(auto& item : m_securityGroups) { Aws::StringStream securityGroupsSs; securityGroupsSs << location << ".SecurityGroups.member." << securityGroupsIdx++; item.OutputToStream(oStream, securityGroupsSs.str().c_str()); } } if(m_replicationGroupIdHasBeenSet) { oStream << location << ".ReplicationGroupId=" << StringUtils::URLEncode(m_replicationGroupId.c_str()) << "&"; } if(m_snapshotRetentionLimitHasBeenSet) { oStream << location << ".SnapshotRetentionLimit=" << m_snapshotRetentionLimit << "&"; } if(m_snapshotWindowHasBeenSet) { oStream << location << ".SnapshotWindow=" << StringUtils::URLEncode(m_snapshotWindow.c_str()) << "&"; } }
Aws::String RevokeSecurityGroupIngressRequest::SerializePayload() const { Aws::StringStream ss; ss << "Action=RevokeSecurityGroupIngress&"; if(m_dryRunHasBeenSet) { ss << "DryRun=" << m_dryRun << "&"; } if(m_groupNameHasBeenSet) { ss << "GroupName=" << StringUtils::URLEncode(m_groupName.c_str()) << "&"; } if(m_groupIdHasBeenSet) { ss << "GroupId=" << StringUtils::URLEncode(m_groupId.c_str()) << "&"; } if(m_sourceSecurityGroupNameHasBeenSet) { ss << "SourceSecurityGroupName=" << StringUtils::URLEncode(m_sourceSecurityGroupName.c_str()) << "&"; } if(m_sourceSecurityGroupOwnerIdHasBeenSet) { ss << "SourceSecurityGroupOwnerId=" << StringUtils::URLEncode(m_sourceSecurityGroupOwnerId.c_str()) << "&"; } if(m_ipProtocolHasBeenSet) { ss << "IpProtocol=" << StringUtils::URLEncode(m_ipProtocol.c_str()) << "&"; } if(m_fromPortHasBeenSet) { ss << "FromPort=" << m_fromPort << "&"; } if(m_toPortHasBeenSet) { ss << "ToPort=" << m_toPort << "&"; } if(m_cidrIpHasBeenSet) { ss << "CidrIp=" << StringUtils::URLEncode(m_cidrIp.c_str()) << "&"; } if(m_ipPermissionsHasBeenSet) { unsigned ipPermissionsCount = 1; for(auto& item : m_ipPermissions) { item.OutputToStream(ss, "IpPermissions.member.", ipPermissionsCount, ""); ipPermissionsCount++; } } ss << "Version=2015-10-01"; return ss.str(); }
Aws::String ModifyCacheClusterRequest::SerializePayload() const { Aws::StringStream ss; ss << "Action=ModifyCacheCluster&"; if(m_cacheClusterIdHasBeenSet) { ss << "CacheClusterId=" << StringUtils::URLEncode(m_cacheClusterId.c_str()) << "&"; } if(m_numCacheNodesHasBeenSet) { ss << "NumCacheNodes=" << m_numCacheNodes << "&"; } if(m_cacheNodeIdsToRemoveHasBeenSet) { unsigned cacheNodeIdsToRemoveCount = 1; for(auto& item : m_cacheNodeIdsToRemove) { ss << "CacheNodeIdsToRemove.member." << cacheNodeIdsToRemoveCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; cacheNodeIdsToRemoveCount++; } } if(m_aZModeHasBeenSet) { ss << "AZMode=" << AZModeMapper::GetNameForAZMode(m_aZMode) << "&"; } if(m_newAvailabilityZonesHasBeenSet) { unsigned newAvailabilityZonesCount = 1; for(auto& item : m_newAvailabilityZones) { ss << "NewAvailabilityZones.member." << newAvailabilityZonesCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; newAvailabilityZonesCount++; } } if(m_cacheSecurityGroupNamesHasBeenSet) { unsigned cacheSecurityGroupNamesCount = 1; for(auto& item : m_cacheSecurityGroupNames) { ss << "CacheSecurityGroupNames.member." << cacheSecurityGroupNamesCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; cacheSecurityGroupNamesCount++; } } if(m_securityGroupIdsHasBeenSet) { unsigned securityGroupIdsCount = 1; for(auto& item : m_securityGroupIds) { ss << "SecurityGroupIds.member." << securityGroupIdsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; securityGroupIdsCount++; } } if(m_preferredMaintenanceWindowHasBeenSet) { ss << "PreferredMaintenanceWindow=" << StringUtils::URLEncode(m_preferredMaintenanceWindow.c_str()) << "&"; } if(m_notificationTopicArnHasBeenSet) { ss << "NotificationTopicArn=" << StringUtils::URLEncode(m_notificationTopicArn.c_str()) << "&"; } if(m_cacheParameterGroupNameHasBeenSet) { ss << "CacheParameterGroupName=" << StringUtils::URLEncode(m_cacheParameterGroupName.c_str()) << "&"; } if(m_notificationTopicStatusHasBeenSet) { ss << "NotificationTopicStatus=" << StringUtils::URLEncode(m_notificationTopicStatus.c_str()) << "&"; } if(m_applyImmediatelyHasBeenSet) { ss << "ApplyImmediately=" << m_applyImmediately << "&"; } if(m_engineVersionHasBeenSet) { ss << "EngineVersion=" << StringUtils::URLEncode(m_engineVersion.c_str()) << "&"; } if(m_autoMinorVersionUpgradeHasBeenSet) { ss << "AutoMinorVersionUpgrade=" << m_autoMinorVersionUpgrade << "&"; } if(m_snapshotRetentionLimitHasBeenSet) { ss << "SnapshotRetentionLimit=" << m_snapshotRetentionLimit << "&"; } if(m_snapshotWindowHasBeenSet) { ss << "SnapshotWindow=" << StringUtils::URLEncode(m_snapshotWindow.c_str()) << "&"; } if(m_cacheNodeTypeHasBeenSet) { ss << "CacheNodeType=" << StringUtils::URLEncode(m_cacheNodeType.c_str()) << "&"; } ss << "Version=2015-02-02"; return ss.str(); }
Aws::String CreateAutoScalingGroupRequest::SerializePayload() const { Aws::StringStream ss; ss << "Action=CreateAutoScalingGroup&"; if(m_autoScalingGroupNameHasBeenSet) { ss << "AutoScalingGroupName=" << StringUtils::URLEncode(m_autoScalingGroupName.c_str()) << "&"; } if(m_launchConfigurationNameHasBeenSet) { ss << "LaunchConfigurationName=" << StringUtils::URLEncode(m_launchConfigurationName.c_str()) << "&"; } if(m_instanceIdHasBeenSet) { ss << "InstanceId=" << StringUtils::URLEncode(m_instanceId.c_str()) << "&"; } if(m_minSizeHasBeenSet) { ss << "MinSize=" << m_minSize << "&"; } if(m_maxSizeHasBeenSet) { ss << "MaxSize=" << m_maxSize << "&"; } if(m_desiredCapacityHasBeenSet) { ss << "DesiredCapacity=" << m_desiredCapacity << "&"; } if(m_defaultCooldownHasBeenSet) { ss << "DefaultCooldown=" << m_defaultCooldown << "&"; } if(m_availabilityZonesHasBeenSet) { unsigned availabilityZonesCount = 1; for(auto& item : m_availabilityZones) { ss << "AvailabilityZones.member." << availabilityZonesCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; availabilityZonesCount++; } } if(m_loadBalancerNamesHasBeenSet) { unsigned loadBalancerNamesCount = 1; for(auto& item : m_loadBalancerNames) { ss << "LoadBalancerNames.member." << loadBalancerNamesCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; loadBalancerNamesCount++; } } if(m_healthCheckTypeHasBeenSet) { ss << "HealthCheckType=" << StringUtils::URLEncode(m_healthCheckType.c_str()) << "&"; } if(m_healthCheckGracePeriodHasBeenSet) { ss << "HealthCheckGracePeriod=" << m_healthCheckGracePeriod << "&"; } if(m_placementGroupHasBeenSet) { ss << "PlacementGroup=" << StringUtils::URLEncode(m_placementGroup.c_str()) << "&"; } if(m_vPCZoneIdentifierHasBeenSet) { ss << "VPCZoneIdentifier=" << StringUtils::URLEncode(m_vPCZoneIdentifier.c_str()) << "&"; } if(m_terminationPoliciesHasBeenSet) { unsigned terminationPoliciesCount = 1; for(auto& item : m_terminationPolicies) { ss << "TerminationPolicies.member." << terminationPoliciesCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; terminationPoliciesCount++; } } if(m_tagsHasBeenSet) { unsigned tagsCount = 1; for(auto& item : m_tags) { item.OutputToStream(ss, "Tags.member.", tagsCount, ""); tagsCount++; } } ss << "Version=2011-01-01"; return ss.str(); }
Aws::String DescribeReservedInstancesOfferingsRequest::SerializePayload() const { Aws::StringStream ss; ss << "Action=DescribeReservedInstancesOfferings&"; if(m_dryRunHasBeenSet) { ss << "DryRun=" << m_dryRun << "&"; } if(m_reservedInstancesOfferingIdsHasBeenSet) { unsigned reservedInstancesOfferingIdsCount = 1; for(auto& item : m_reservedInstancesOfferingIds) { ss << "ReservedInstancesOfferingIds.member." << reservedInstancesOfferingIdsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; reservedInstancesOfferingIdsCount++; } } if(m_instanceTypeHasBeenSet) { ss << "InstanceType=" << InstanceTypeMapper::GetNameForInstanceType(m_instanceType) << "&"; } if(m_availabilityZoneHasBeenSet) { ss << "AvailabilityZone=" << StringUtils::URLEncode(m_availabilityZone.c_str()) << "&"; } if(m_productDescriptionHasBeenSet) { ss << "ProductDescription=" << RIProductDescriptionMapper::GetNameForRIProductDescription(m_productDescription) << "&"; } if(m_filtersHasBeenSet) { unsigned filtersCount = 1; for(auto& item : m_filters) { item.OutputToStream(ss, "Filters.member.", filtersCount, ""); filtersCount++; } } if(m_instanceTenancyHasBeenSet) { ss << "InstanceTenancy=" << TenancyMapper::GetNameForTenancy(m_instanceTenancy) << "&"; } if(m_offeringTypeHasBeenSet) { ss << "OfferingType=" << OfferingTypeValuesMapper::GetNameForOfferingTypeValues(m_offeringType) << "&"; } if(m_nextTokenHasBeenSet) { ss << "NextToken=" << StringUtils::URLEncode(m_nextToken.c_str()) << "&"; } if(m_maxResultsHasBeenSet) { ss << "MaxResults=" << m_maxResults << "&"; } if(m_includeMarketplaceHasBeenSet) { ss << "IncludeMarketplace=" << m_includeMarketplace << "&"; } if(m_minDurationHasBeenSet) { ss << "MinDuration=" << m_minDuration << "&"; } if(m_maxDurationHasBeenSet) { ss << "MaxDuration=" << m_maxDuration << "&"; } if(m_maxInstanceCountHasBeenSet) { ss << "MaxInstanceCount=" << m_maxInstanceCount << "&"; } ss << "Version=2015-04-15"; return ss.str(); }
Aws::String RestoreDBClusterFromS3Request::SerializePayload() const { Aws::StringStream ss; ss << "Action=RestoreDBClusterFromS3&"; 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="******"&"; } if(m_masterUserPasswordHasBeenSet) { ss << "MasterUserPassword="******"&"; } 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_tagsHasBeenSet) { unsigned tagsCount = 1; for(auto& item : m_tags) { item.OutputToStream(ss, "Tags.member.", tagsCount, ""); tagsCount++; } } if(m_storageEncryptedHasBeenSet) { ss << "StorageEncrypted=" << m_storageEncrypted << "&"; } if(m_kmsKeyIdHasBeenSet) { ss << "KmsKeyId=" << StringUtils::URLEncode(m_kmsKeyId.c_str()) << "&"; } if(m_sourceEngineHasBeenSet) { ss << "SourceEngine=" << StringUtils::URLEncode(m_sourceEngine.c_str()) << "&"; } if(m_sourceEngineVersionHasBeenSet) { ss << "SourceEngineVersion=" << StringUtils::URLEncode(m_sourceEngineVersion.c_str()) << "&"; } if(m_s3BucketNameHasBeenSet) { ss << "S3BucketName=" << StringUtils::URLEncode(m_s3BucketName.c_str()) << "&"; } if(m_s3PrefixHasBeenSet) { ss << "S3Prefix=" << StringUtils::URLEncode(m_s3Prefix.c_str()) << "&"; } if(m_s3IngestionRoleArnHasBeenSet) { ss << "S3IngestionRoleArn=" << StringUtils::URLEncode(m_s3IngestionRoleArn.c_str()) << "&"; } ss << "Version=2014-10-31"; return ss.str(); }
Aws::String CreateChangeSetRequest::SerializePayload() const { Aws::StringStream ss; ss << "Action=CreateChangeSet&"; if(m_stackNameHasBeenSet) { ss << "StackName=" << StringUtils::URLEncode(m_stackName.c_str()) << "&"; } if(m_templateBodyHasBeenSet) { ss << "TemplateBody=" << StringUtils::URLEncode(m_templateBody.c_str()) << "&"; } if(m_templateURLHasBeenSet) { ss << "TemplateURL=" << StringUtils::URLEncode(m_templateURL.c_str()) << "&"; } if(m_usePreviousTemplateHasBeenSet) { ss << "UsePreviousTemplate=" << m_usePreviousTemplate << "&"; } if(m_parametersHasBeenSet) { unsigned parametersCount = 1; for(auto& item : m_parameters) { item.OutputToStream(ss, "Parameters.member.", parametersCount, ""); parametersCount++; } } if(m_capabilitiesHasBeenSet) { unsigned capabilitiesCount = 1; for(auto& item : m_capabilities) { ss << "Capabilities.member." << capabilitiesCount << "=" << StringUtils::URLEncode(CapabilityMapper::GetNameForCapability(item).c_str()) << "&"; capabilitiesCount++; } } if(m_resourceTypesHasBeenSet) { unsigned resourceTypesCount = 1; for(auto& item : m_resourceTypes) { ss << "ResourceTypes.member." << resourceTypesCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; resourceTypesCount++; } } if(m_notificationARNsHasBeenSet) { unsigned notificationARNsCount = 1; for(auto& item : m_notificationARNs) { ss << "NotificationARNs.member." << notificationARNsCount << "=" << StringUtils::URLEncode(item.c_str()) << "&"; notificationARNsCount++; } } if(m_tagsHasBeenSet) { unsigned tagsCount = 1; for(auto& item : m_tags) { item.OutputToStream(ss, "Tags.member.", tagsCount, ""); tagsCount++; } } if(m_changeSetNameHasBeenSet) { ss << "ChangeSetName=" << StringUtils::URLEncode(m_changeSetName.c_str()) << "&"; } if(m_clientTokenHasBeenSet) { ss << "ClientToken=" << StringUtils::URLEncode(m_clientToken.c_str()) << "&"; } if(m_descriptionHasBeenSet) { ss << "Description=" << StringUtils::URLEncode(m_description.c_str()) << "&"; } ss << "Version=2010-05-15"; return ss.str(); }
void LoadBalancerDescription::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const { if(m_loadBalancerNameHasBeenSet) { oStream << location << index << locationValue << ".LoadBalancerName=" << StringUtils::URLEncode(m_loadBalancerName.c_str()) << "&"; } if(m_dNSNameHasBeenSet) { oStream << location << index << locationValue << ".DNSName=" << StringUtils::URLEncode(m_dNSName.c_str()) << "&"; } if(m_canonicalHostedZoneNameHasBeenSet) { oStream << location << index << locationValue << ".CanonicalHostedZoneName=" << StringUtils::URLEncode(m_canonicalHostedZoneName.c_str()) << "&"; } if(m_canonicalHostedZoneNameIDHasBeenSet) { oStream << location << index << locationValue << ".CanonicalHostedZoneNameID=" << StringUtils::URLEncode(m_canonicalHostedZoneNameID.c_str()) << "&"; } if(m_listenerDescriptionsHasBeenSet) { for(auto& item : m_listenerDescriptions) { Aws::StringStream listenerDescriptionsSs; listenerDescriptionsSs << location << index << locationValue << ".ListenerDescriptions"; item.OutputToStream(oStream, listenerDescriptionsSs.str().c_str()); } } if(m_policiesHasBeenSet) { Aws::StringStream policiesLocationAndMemberSs; policiesLocationAndMemberSs << location << index << locationValue << ".Policies"; m_policies.OutputToStream(oStream, policiesLocationAndMemberSs.str().c_str()); } if(m_backendServerDescriptionsHasBeenSet) { for(auto& item : m_backendServerDescriptions) { Aws::StringStream backendServerDescriptionsSs; backendServerDescriptionsSs << location << index << locationValue << ".BackendServerDescriptions"; item.OutputToStream(oStream, backendServerDescriptionsSs.str().c_str()); } } if(m_availabilityZonesHasBeenSet) { for(auto& item : m_availabilityZones) { oStream << location << index << locationValue << ".AvailabilityZones=" << StringUtils::URLEncode(item.c_str()) << "&"; } } if(m_subnetsHasBeenSet) { for(auto& item : m_subnets) { oStream << location << index << locationValue << ".Subnets=" << StringUtils::URLEncode(item.c_str()) << "&"; } } if(m_vPCIdHasBeenSet) { oStream << location << index << locationValue << ".VPCId=" << StringUtils::URLEncode(m_vPCId.c_str()) << "&"; } if(m_instancesHasBeenSet) { for(auto& item : m_instances) { Aws::StringStream instancesSs; instancesSs << location << index << locationValue << ".Instances"; item.OutputToStream(oStream, instancesSs.str().c_str()); } } if(m_healthCheckHasBeenSet) { Aws::StringStream healthCheckLocationAndMemberSs; healthCheckLocationAndMemberSs << location << index << locationValue << ".HealthCheck"; m_healthCheck.OutputToStream(oStream, healthCheckLocationAndMemberSs.str().c_str()); } if(m_sourceSecurityGroupHasBeenSet) { Aws::StringStream sourceSecurityGroupLocationAndMemberSs; sourceSecurityGroupLocationAndMemberSs << location << index << locationValue << ".SourceSecurityGroup"; m_sourceSecurityGroup.OutputToStream(oStream, sourceSecurityGroupLocationAndMemberSs.str().c_str()); } if(m_securityGroupsHasBeenSet) { for(auto& item : m_securityGroups) { oStream << location << index << locationValue << ".SecurityGroups=" << StringUtils::URLEncode(item.c_str()) << "&"; } } if(m_createdTimeHasBeenSet) { oStream << location << index << locationValue << ".CreatedTime=" << m_createdTime << "&"; } if(m_schemeHasBeenSet) { oStream << location << index << locationValue << ".Scheme=" << StringUtils::URLEncode(m_scheme.c_str()) << "&"; } }
void InstanceNetworkInterface::OutputToStream(Aws::OStream& oStream, const char* location) const { if(m_networkInterfaceIdHasBeenSet) { oStream << location << ".NetworkInterfaceId=" << StringUtils::URLEncode(m_networkInterfaceId.c_str()) << "&"; } if(m_subnetIdHasBeenSet) { oStream << location << ".SubnetId=" << StringUtils::URLEncode(m_subnetId.c_str()) << "&"; } if(m_vpcIdHasBeenSet) { oStream << location << ".VpcId=" << StringUtils::URLEncode(m_vpcId.c_str()) << "&"; } if(m_descriptionHasBeenSet) { oStream << location << ".Description=" << StringUtils::URLEncode(m_description.c_str()) << "&"; } if(m_ownerIdHasBeenSet) { oStream << location << ".OwnerId=" << StringUtils::URLEncode(m_ownerId.c_str()) << "&"; } if(m_statusHasBeenSet) { oStream << location << ".Status=" << NetworkInterfaceStatusMapper::GetNameForNetworkInterfaceStatus(m_status) << "&"; } if(m_macAddressHasBeenSet) { oStream << location << ".MacAddress=" << StringUtils::URLEncode(m_macAddress.c_str()) << "&"; } if(m_privateIpAddressHasBeenSet) { oStream << location << ".PrivateIpAddress=" << StringUtils::URLEncode(m_privateIpAddress.c_str()) << "&"; } if(m_privateDnsNameHasBeenSet) { oStream << location << ".PrivateDnsName=" << StringUtils::URLEncode(m_privateDnsName.c_str()) << "&"; } if(m_sourceDestCheckHasBeenSet) { oStream << location << ".SourceDestCheck=" << m_sourceDestCheck << "&"; } if(m_groupsHasBeenSet) { unsigned groupsIdx = 1; for(auto& item : m_groups) { Aws::StringStream groupsSs; groupsSs << location << ".item." << groupsIdx++; item.OutputToStream(oStream, groupsSs.str().c_str()); } } if(m_attachmentHasBeenSet) { Aws::String attachmentLocationAndMember(location); attachmentLocationAndMember += ".Attachment"; m_attachment.OutputToStream(oStream, attachmentLocationAndMember.c_str()); } if(m_associationHasBeenSet) { Aws::String associationLocationAndMember(location); associationLocationAndMember += ".Association"; m_association.OutputToStream(oStream, associationLocationAndMember.c_str()); } if(m_privateIpAddressesHasBeenSet) { unsigned privateIpAddressesIdx = 1; for(auto& item : m_privateIpAddresses) { Aws::StringStream privateIpAddressesSs; privateIpAddressesSs << location << ".item." << privateIpAddressesIdx++; item.OutputToStream(oStream, privateIpAddressesSs.str().c_str()); } } }
Aws::Http::HeaderValueCollection CreateMultipartUploadRequest::GetRequestSpecificHeaders() const { Aws::Http::HeaderValueCollection headers; Aws::StringStream ss; if(m_aCLHasBeenSet) { headers.insert(Aws::Http::HeaderValuePair("x-amz-acl", ObjectCannedACLMapper::GetNameForObjectCannedACL(m_aCL))); } if(m_cacheControlHasBeenSet) { ss << m_cacheControl; headers.insert(Aws::Http::HeaderValuePair("cache-control", ss.str())); ss.str(""); } if(m_contentDispositionHasBeenSet) { ss << m_contentDisposition; headers.insert(Aws::Http::HeaderValuePair("content-disposition", ss.str())); ss.str(""); } if(m_contentEncodingHasBeenSet) { ss << m_contentEncoding; headers.insert(Aws::Http::HeaderValuePair("content-encoding", ss.str())); ss.str(""); } if(m_contentLanguageHasBeenSet) { ss << m_contentLanguage; headers.insert(Aws::Http::HeaderValuePair("content-language", ss.str())); ss.str(""); } if(m_contentTypeHasBeenSet) { ss << m_contentType; headers.insert(Aws::Http::HeaderValuePair("content-type", ss.str())); ss.str(""); } if(m_expiresHasBeenSet) { headers.insert(Aws::Http::HeaderValuePair("expires", m_expires.ToGmtString(DateFormat::RFC822))); } if(m_grantFullControlHasBeenSet) { ss << m_grantFullControl; headers.insert(Aws::Http::HeaderValuePair("x-amz-grant-full-control", ss.str())); ss.str(""); } if(m_grantReadHasBeenSet) { ss << m_grantRead; headers.insert(Aws::Http::HeaderValuePair("x-amz-grant-read", ss.str())); ss.str(""); } if(m_grantReadACPHasBeenSet) { ss << m_grantReadACP; headers.insert(Aws::Http::HeaderValuePair("x-amz-grant-read-acp", ss.str())); ss.str(""); } if(m_grantWriteACPHasBeenSet) { ss << m_grantWriteACP; headers.insert(Aws::Http::HeaderValuePair("x-amz-grant-write-acp", ss.str())); ss.str(""); } if(m_metadataHasBeenSet) { for(const auto& item : m_metadata) { ss << "x-amz-meta-" << item.first; headers.insert(Aws::Http::HeaderValuePair(ss.str(), item.second)); ss.str(""); } } if(m_serverSideEncryptionHasBeenSet) { headers.insert(Aws::Http::HeaderValuePair("x-amz-server-side-encryption", ServerSideEncryptionMapper::GetNameForServerSideEncryption(m_serverSideEncryption))); } if(m_storageClassHasBeenSet) { headers.insert(Aws::Http::HeaderValuePair("x-amz-storage-class", StorageClassMapper::GetNameForStorageClass(m_storageClass))); } if(m_websiteRedirectLocationHasBeenSet) { ss << m_websiteRedirectLocation; headers.insert(Aws::Http::HeaderValuePair("x-amz-website-redirect-location", ss.str())); ss.str(""); } if(m_sSECustomerAlgorithmHasBeenSet) { ss << m_sSECustomerAlgorithm; headers.insert(Aws::Http::HeaderValuePair("x-amz-server-side-encryption-customer-algorithm", ss.str())); ss.str(""); } if(m_sSECustomerKeyHasBeenSet) { ss << m_sSECustomerKey; headers.insert(Aws::Http::HeaderValuePair("x-amz-server-side-encryption-customer-key", ss.str())); ss.str(""); } if(m_sSECustomerKeyMD5HasBeenSet) { ss << m_sSECustomerKeyMD5; headers.insert(Aws::Http::HeaderValuePair("x-amz-server-side-encryption-customer-key-md5", ss.str())); ss.str(""); } if(m_sSEKMSKeyIdHasBeenSet) { ss << m_sSEKMSKeyId; headers.insert(Aws::Http::HeaderValuePair("x-amz-server-side-encryption-aws-kms-key-id", ss.str())); ss.str(""); } if(m_requestPayerHasBeenSet) { headers.insert(Aws::Http::HeaderValuePair("x-amz-request-payer", RequestPayerMapper::GetNameForRequestPayer(m_requestPayer))); } return headers; }
void ScalingPolicy::OutputToStream(Aws::OStream& oStream, const char* location) const { if(m_autoScalingGroupNameHasBeenSet) { oStream << location << ".AutoScalingGroupName=" << StringUtils::URLEncode(m_autoScalingGroupName.c_str()) << "&"; } if(m_policyNameHasBeenSet) { oStream << location << ".PolicyName=" << StringUtils::URLEncode(m_policyName.c_str()) << "&"; } if(m_policyARNHasBeenSet) { oStream << location << ".PolicyARN=" << StringUtils::URLEncode(m_policyARN.c_str()) << "&"; } if(m_policyTypeHasBeenSet) { oStream << location << ".PolicyType=" << StringUtils::URLEncode(m_policyType.c_str()) << "&"; } if(m_adjustmentTypeHasBeenSet) { oStream << location << ".AdjustmentType=" << StringUtils::URLEncode(m_adjustmentType.c_str()) << "&"; } if(m_minAdjustmentStepHasBeenSet) { oStream << location << ".MinAdjustmentStep=" << m_minAdjustmentStep << "&"; } if(m_minAdjustmentMagnitudeHasBeenSet) { oStream << location << ".MinAdjustmentMagnitude=" << m_minAdjustmentMagnitude << "&"; } if(m_scalingAdjustmentHasBeenSet) { oStream << location << ".ScalingAdjustment=" << m_scalingAdjustment << "&"; } if(m_cooldownHasBeenSet) { oStream << location << ".Cooldown=" << m_cooldown << "&"; } if(m_stepAdjustmentsHasBeenSet) { unsigned stepAdjustmentsIdx = 1; for(auto& item : m_stepAdjustments) { Aws::StringStream stepAdjustmentsSs; stepAdjustmentsSs << location << ".StepAdjustments.member." << stepAdjustmentsIdx++; item.OutputToStream(oStream, stepAdjustmentsSs.str().c_str()); } } if(m_metricAggregationTypeHasBeenSet) { oStream << location << ".MetricAggregationType=" << StringUtils::URLEncode(m_metricAggregationType.c_str()) << "&"; } if(m_estimatedInstanceWarmupHasBeenSet) { oStream << location << ".EstimatedInstanceWarmup=" << m_estimatedInstanceWarmup << "&"; } if(m_alarmsHasBeenSet) { unsigned alarmsIdx = 1; for(auto& item : m_alarms) { Aws::StringStream alarmsSs; alarmsSs << location << ".Alarms.member." << alarmsIdx++; item.OutputToStream(oStream, alarmsSs.str().c_str()); } } }
void SingleInstanceHealth::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const { if(m_instanceIdHasBeenSet) { oStream << location << index << locationValue << ".InstanceId=" << StringUtils::URLEncode(m_instanceId.c_str()) << "&"; } if(m_healthStatusHasBeenSet) { oStream << location << index << locationValue << ".HealthStatus=" << StringUtils::URLEncode(m_healthStatus.c_str()) << "&"; } if(m_colorHasBeenSet) { oStream << location << index << locationValue << ".Color=" << StringUtils::URLEncode(m_color.c_str()) << "&"; } if(m_causesHasBeenSet) { unsigned causesIdx = 1; for(auto& item : m_causes) { oStream << location << index << locationValue << ".Causes.member." << causesIdx++ << "=" << StringUtils::URLEncode(item.c_str()) << "&"; } } if(m_launchedAtHasBeenSet) { oStream << location << index << locationValue << ".LaunchedAt=" << StringUtils::URLEncode(m_launchedAt.ToGmtString(DateFormat::ISO_8601).c_str()) << "&"; } if(m_applicationMetricsHasBeenSet) { Aws::StringStream applicationMetricsLocationAndMemberSs; applicationMetricsLocationAndMemberSs << location << index << locationValue << ".ApplicationMetrics"; m_applicationMetrics.OutputToStream(oStream, applicationMetricsLocationAndMemberSs.str().c_str()); } if(m_systemHasBeenSet) { Aws::StringStream systemLocationAndMemberSs; systemLocationAndMemberSs << location << index << locationValue << ".System"; m_system.OutputToStream(oStream, systemLocationAndMemberSs.str().c_str()); } if(m_deploymentHasBeenSet) { Aws::StringStream deploymentLocationAndMemberSs; deploymentLocationAndMemberSs << location << index << locationValue << ".Deployment"; m_deployment.OutputToStream(oStream, deploymentLocationAndMemberSs.str().c_str()); } if(m_availabilityZoneHasBeenSet) { oStream << location << index << locationValue << ".AvailabilityZone=" << StringUtils::URLEncode(m_availabilityZone.c_str()) << "&"; } if(m_instanceTypeHasBeenSet) { oStream << location << index << locationValue << ".InstanceType=" << StringUtils::URLEncode(m_instanceType.c_str()) << "&"; } }
bool AWSAuthV4Signer::SignRequest(Aws::Http::HttpRequest& request) const { AWSCredentials credentials = m_credentialsProvider->GetAWSCredentials(); //don't sign anonymous requests if (credentials.GetAWSAccessKeyId().empty() || credentials.GetAWSSecretKey().empty()) { return true; } if (!credentials.GetSessionToken().empty()) { request.SetAwsSessionToken(credentials.GetSessionToken()); } //calculate date header to use in internal signature (this also goes into date header). Aws::String dateHeaderValue = DateTime::CalculateGmtTimestampAsString(LONG_DATE_FORMAT_STR); request.SetHeaderValue(AWS_DATE_HEADER, dateHeaderValue); Aws::String payloadHash(ComputePayloadHash(request)); if (payloadHash.empty()) { return false; } request.SetHeaderValue("x-amz-content-sha256", payloadHash); Aws::StringStream headersStream; Aws::StringStream signedHeadersStream; for (const auto& header : request.GetHeaders()) { headersStream << header.first << ":" << header.second << NEWLINE; signedHeadersStream << header.first << ";"; } Aws::String canonicalHeadersString = headersStream.str(); AWS_LOGSTREAM_DEBUG(v4LogTag, "Canonical Header String: " << canonicalHeadersString); //calculate signed headers parameter Aws::String signedHeadersValue = signedHeadersStream.str(); //remove that last semi-colon signedHeadersValue.erase(signedHeadersValue.length() - 1); AWS_LOGSTREAM_DEBUG(v4LogTag, "Signed Headers value:" << signedHeadersValue); //generate generalized canonicalized request string. Aws::String canonicalRequestString = CanonicalizeRequestSigningString(request); //append v4 stuff to the canonical request string. canonicalRequestString.append(canonicalHeadersString); canonicalRequestString.append(NEWLINE); canonicalRequestString.append(signedHeadersValue); canonicalRequestString.append(NEWLINE); canonicalRequestString.append(payloadHash); AWS_LOGSTREAM_DEBUG(v4LogTag, "Canonical Request String: " << canonicalRequestString); //now compute sha256 on that request string auto hashResult = m_hash->Calculate(canonicalRequestString); if (!hashResult.IsSuccess()) { AWS_LOGSTREAM_ERROR(v4LogTag, "Failed to hash (sha256) request string \"" << canonicalRequestString << "\""); return false; } auto sha256Digest = hashResult.GetResult(); Aws::String cannonicalRequestHash = HashingUtils::HexEncode(sha256Digest); Aws::String simpleDate = DateTime::CalculateGmtTimestampAsString(SIMPLE_DATE_FORMAT_STR); Aws::String regionName = RegionMapper::GetRegionName(m_region); Aws::String stringToSign = GenerateStringToSign(dateHeaderValue, simpleDate, regionName, cannonicalRequestHash); auto finalSignature = GenerateSignature(credentials, stringToSign, simpleDate, regionName); Aws::StringStream ss; ss << AWS_HMAC_SHA256 << " " << CREDENTIAL << EQ << credentials.GetAWSAccessKeyId() << "/" << simpleDate << "/" << regionName << "/" << m_serviceName << "/" << AWS4_REQUEST << ", " << SIGNED_HEADERS << EQ << signedHeadersValue << ", " << SIGNATURE << EQ << finalSignature; auto awsAuthString = ss.str(); AWS_LOGSTREAM_DEBUG(v4LogTag, "Signing request with: " << awsAuthString); request.SetAwsAuthorization(awsAuthString); return true; }
WinHttpSyncHttpClient::WinHttpSyncHttpClient(const ClientConfiguration& config) : Base() { AWS_LOGSTREAM_INFO(GetLogTag(), "Creating http client with user agent " << config.userAgent << " with max connections " << config.maxConnections << " request timeout " << config.requestTimeoutMs << ",and connect timeout " << config.connectTimeoutMs); DWORD winhttpFlags = WINHTTP_ACCESS_TYPE_NO_PROXY; const char* proxyHosts = nullptr; Aws::String strProxyHosts; m_allowRedirects = config.followRedirects; bool isUsingProxy = !config.proxyHost.empty(); //setup initial proxy config. Aws::WString proxyString; if (isUsingProxy) { AWS_LOGSTREAM_INFO(GetLogTag(), "Http Client is using a proxy. Setting up proxy with settings host " << config.proxyHost << ", port " << config.proxyPort << ", username " << config.proxyUserName); winhttpFlags = WINHTTP_ACCESS_TYPE_NAMED_PROXY; Aws::StringStream ss; const char* schemeString = Aws::Http::SchemeMapper::ToString(config.scheme); ss << StringUtils::ToUpper(schemeString) << "=" << schemeString << "://" << config.proxyHost << ":" << config.proxyPort; strProxyHosts.assign(ss.str()); proxyHosts = strProxyHosts.c_str(); proxyString = StringUtils::ToWString(proxyHosts); AWS_LOGSTREAM_DEBUG(GetLogTag(), "Adding proxy host string to winhttp " << proxyHosts); } Aws::WString openString = StringUtils::ToWString(config.userAgent.c_str()); SetOpenHandle(WinHttpOpen(openString.c_str(), winhttpFlags, proxyString.c_str(), nullptr, 0)); //add proxy auth credentials to everything using this handle. if (isUsingProxy) { if (!config.proxyUserName.empty() && !WinHttpSetOption(GetOpenHandle(), WINHTTP_OPTION_PROXY_USERNAME, (LPVOID)config.proxyUserName.c_str(), (DWORD)config.proxyUserName.length())) AWS_LOGSTREAM_FATAL(GetLogTag(), "Failed setting username for proxy with error code: " << GetLastError()); if (!config.proxyPassword.empty() && !WinHttpSetOption(GetOpenHandle(), WINHTTP_OPTION_PROXY_PASSWORD, (LPVOID)config.proxyPassword.c_str(), (DWORD)config.proxyPassword.length())) AWS_LOGSTREAM_FATAL(GetLogTag(), "Failed setting password for proxy with error code: " << GetLastError()); } if (!config.verifySSL) { AWS_LOG_WARN(GetLogTag(), "Turning ssl unknown ca verification off."); DWORD flags = SECURITY_FLAG_IGNORE_UNKNOWN_CA | SECURITY_FLAG_IGNORE_CERT_CN_INVALID; if (!WinHttpSetOption(GetOpenHandle(), WINHTTP_OPTION_SECURITY_FLAGS, &flags, sizeof(flags))) AWS_LOG_FATAL(GetLogTag(), "Failed to turn ssl cert ca verification off."); } else { //disable insecure tls protocols, otherwise you might as well turn ssl verification off. DWORD flags = WINHTTP_FLAG_SECURE_PROTOCOL_TLS1 | WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_1 | WINHTTP_FLAG_SECURE_PROTOCOL_TLS1_2; if (!WinHttpSetOption(GetOpenHandle(), WINHTTP_OPTION_SECURE_PROTOCOLS, &flags, sizeof(flags))) { AWS_LOGSTREAM_FATAL(GetLogTag(), "Failed setting secure crypto protocols with error code: " << GetLastError()); } } AWS_LOG_DEBUG(GetLogTag(), "API handle %p.", GetOpenHandle()); SetConnectionPoolManager(Aws::New<WinHttpConnectionPoolMgr>(GetLogTag(), GetOpenHandle(), config.maxConnections, config.requestTimeoutMs, config.connectTimeoutMs)); }
void ReceiptAction::OutputToStream(Aws::OStream& oStream, const char* location, unsigned index, const char* locationValue) const { if(m_s3ActionHasBeenSet) { Aws::StringStream s3ActionLocationAndMemberSs; s3ActionLocationAndMemberSs << location << index << locationValue << ".S3Action"; m_s3Action.OutputToStream(oStream, s3ActionLocationAndMemberSs.str().c_str()); } if(m_bounceActionHasBeenSet) { Aws::StringStream bounceActionLocationAndMemberSs; bounceActionLocationAndMemberSs << location << index << locationValue << ".BounceAction"; m_bounceAction.OutputToStream(oStream, bounceActionLocationAndMemberSs.str().c_str()); } if(m_workmailActionHasBeenSet) { Aws::StringStream workmailActionLocationAndMemberSs; workmailActionLocationAndMemberSs << location << index << locationValue << ".WorkmailAction"; m_workmailAction.OutputToStream(oStream, workmailActionLocationAndMemberSs.str().c_str()); } if(m_lambdaActionHasBeenSet) { Aws::StringStream lambdaActionLocationAndMemberSs; lambdaActionLocationAndMemberSs << location << index << locationValue << ".LambdaAction"; m_lambdaAction.OutputToStream(oStream, lambdaActionLocationAndMemberSs.str().c_str()); } if(m_stopActionHasBeenSet) { Aws::StringStream stopActionLocationAndMemberSs; stopActionLocationAndMemberSs << location << index << locationValue << ".StopAction"; m_stopAction.OutputToStream(oStream, stopActionLocationAndMemberSs.str().c_str()); } if(m_addHeaderActionHasBeenSet) { Aws::StringStream addHeaderActionLocationAndMemberSs; addHeaderActionLocationAndMemberSs << location << index << locationValue << ".AddHeaderAction"; m_addHeaderAction.OutputToStream(oStream, addHeaderActionLocationAndMemberSs.str().c_str()); } if(m_sNSActionHasBeenSet) { Aws::StringStream sNSActionLocationAndMemberSs; sNSActionLocationAndMemberSs << location << index << locationValue << ".SNSAction"; m_sNSAction.OutputToStream(oStream, sNSActionLocationAndMemberSs.str().c_str()); } }
void GetObjectRequest::AddQueryStringParameters(URI& uri) const { Aws::StringStream ss; if(m_responseCacheControlHasBeenSet) { ss << m_responseCacheControl; uri.AddQueryStringParameter("response-cache-control", ss.str()); ss.str(""); } if(m_responseContentDispositionHasBeenSet) { ss << m_responseContentDisposition; uri.AddQueryStringParameter("response-content-disposition", ss.str()); ss.str(""); } if(m_responseContentEncodingHasBeenSet) { ss << m_responseContentEncoding; uri.AddQueryStringParameter("response-content-encoding", ss.str()); ss.str(""); } if(m_responseContentLanguageHasBeenSet) { ss << m_responseContentLanguage; uri.AddQueryStringParameter("response-content-language", ss.str()); ss.str(""); } if(m_responseContentTypeHasBeenSet) { ss << m_responseContentType; uri.AddQueryStringParameter("response-content-type", ss.str()); ss.str(""); } if(m_responseExpiresHasBeenSet) { ss << m_responseExpires.ToGmtString(DateFormat::RFC822); uri.AddQueryStringParameter("response-expires", ss.str()); ss.str(""); } if(m_versionIdHasBeenSet) { ss << m_versionId; uri.AddQueryStringParameter("versionId", ss.str()); ss.str(""); } }