This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
pxz-hos-client-cpp-module/support/aws-sdk-cpp-master/aws-cpp-sdk-elasticmapreduce/source/model/RunJobFlowRequest.cpp

257 lines
6.7 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/elasticmapreduce/model/RunJobFlowRequest.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::EMR::Model;
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
RunJobFlowRequest::RunJobFlowRequest() :
m_nameHasBeenSet(false),
m_logUriHasBeenSet(false),
m_logEncryptionKmsKeyIdHasBeenSet(false),
m_additionalInfoHasBeenSet(false),
m_amiVersionHasBeenSet(false),
m_releaseLabelHasBeenSet(false),
m_instancesHasBeenSet(false),
m_stepsHasBeenSet(false),
m_bootstrapActionsHasBeenSet(false),
m_supportedProductsHasBeenSet(false),
m_newSupportedProductsHasBeenSet(false),
m_applicationsHasBeenSet(false),
m_configurationsHasBeenSet(false),
m_visibleToAllUsers(false),
m_visibleToAllUsersHasBeenSet(false),
m_jobFlowRoleHasBeenSet(false),
m_serviceRoleHasBeenSet(false),
m_tagsHasBeenSet(false),
m_securityConfigurationHasBeenSet(false),
m_autoScalingRoleHasBeenSet(false),
m_scaleDownBehavior(ScaleDownBehavior::NOT_SET),
m_scaleDownBehaviorHasBeenSet(false),
m_customAmiIdHasBeenSet(false),
m_ebsRootVolumeSize(0),
m_ebsRootVolumeSizeHasBeenSet(false),
m_repoUpgradeOnBoot(RepoUpgradeOnBoot::NOT_SET),
m_repoUpgradeOnBootHasBeenSet(false),
m_kerberosAttributesHasBeenSet(false),
m_stepConcurrencyLevel(0),
m_stepConcurrencyLevelHasBeenSet(false),
m_managedScalingPolicyHasBeenSet(false)
{
}
Aws::String RunJobFlowRequest::SerializePayload() const
{
JsonValue payload;
if(m_nameHasBeenSet)
{
payload.WithString("Name", m_name);
}
if(m_logUriHasBeenSet)
{
payload.WithString("LogUri", m_logUri);
}
if(m_logEncryptionKmsKeyIdHasBeenSet)
{
payload.WithString("LogEncryptionKmsKeyId", m_logEncryptionKmsKeyId);
}
if(m_additionalInfoHasBeenSet)
{
payload.WithString("AdditionalInfo", m_additionalInfo);
}
if(m_amiVersionHasBeenSet)
{
payload.WithString("AmiVersion", m_amiVersion);
}
if(m_releaseLabelHasBeenSet)
{
payload.WithString("ReleaseLabel", m_releaseLabel);
}
if(m_instancesHasBeenSet)
{
payload.WithObject("Instances", m_instances.Jsonize());
}
if(m_stepsHasBeenSet)
{
Array<JsonValue> stepsJsonList(m_steps.size());
for(unsigned stepsIndex = 0; stepsIndex < stepsJsonList.GetLength(); ++stepsIndex)
{
stepsJsonList[stepsIndex].AsObject(m_steps[stepsIndex].Jsonize());
}
payload.WithArray("Steps", std::move(stepsJsonList));
}
if(m_bootstrapActionsHasBeenSet)
{
Array<JsonValue> bootstrapActionsJsonList(m_bootstrapActions.size());
for(unsigned bootstrapActionsIndex = 0; bootstrapActionsIndex < bootstrapActionsJsonList.GetLength(); ++bootstrapActionsIndex)
{
bootstrapActionsJsonList[bootstrapActionsIndex].AsObject(m_bootstrapActions[bootstrapActionsIndex].Jsonize());
}
payload.WithArray("BootstrapActions", std::move(bootstrapActionsJsonList));
}
if(m_supportedProductsHasBeenSet)
{
Array<JsonValue> supportedProductsJsonList(m_supportedProducts.size());
for(unsigned supportedProductsIndex = 0; supportedProductsIndex < supportedProductsJsonList.GetLength(); ++supportedProductsIndex)
{
supportedProductsJsonList[supportedProductsIndex].AsString(m_supportedProducts[supportedProductsIndex]);
}
payload.WithArray("SupportedProducts", std::move(supportedProductsJsonList));
}
if(m_newSupportedProductsHasBeenSet)
{
Array<JsonValue> newSupportedProductsJsonList(m_newSupportedProducts.size());
for(unsigned newSupportedProductsIndex = 0; newSupportedProductsIndex < newSupportedProductsJsonList.GetLength(); ++newSupportedProductsIndex)
{
newSupportedProductsJsonList[newSupportedProductsIndex].AsObject(m_newSupportedProducts[newSupportedProductsIndex].Jsonize());
}
payload.WithArray("NewSupportedProducts", std::move(newSupportedProductsJsonList));
}
if(m_applicationsHasBeenSet)
{
Array<JsonValue> applicationsJsonList(m_applications.size());
for(unsigned applicationsIndex = 0; applicationsIndex < applicationsJsonList.GetLength(); ++applicationsIndex)
{
applicationsJsonList[applicationsIndex].AsObject(m_applications[applicationsIndex].Jsonize());
}
payload.WithArray("Applications", std::move(applicationsJsonList));
}
if(m_configurationsHasBeenSet)
{
Array<JsonValue> configurationsJsonList(m_configurations.size());
for(unsigned configurationsIndex = 0; configurationsIndex < configurationsJsonList.GetLength(); ++configurationsIndex)
{
configurationsJsonList[configurationsIndex].AsObject(m_configurations[configurationsIndex].Jsonize());
}
payload.WithArray("Configurations", std::move(configurationsJsonList));
}
if(m_visibleToAllUsersHasBeenSet)
{
payload.WithBool("VisibleToAllUsers", m_visibleToAllUsers);
}
if(m_jobFlowRoleHasBeenSet)
{
payload.WithString("JobFlowRole", m_jobFlowRole);
}
if(m_serviceRoleHasBeenSet)
{
payload.WithString("ServiceRole", m_serviceRole);
}
if(m_tagsHasBeenSet)
{
Array<JsonValue> tagsJsonList(m_tags.size());
for(unsigned tagsIndex = 0; tagsIndex < tagsJsonList.GetLength(); ++tagsIndex)
{
tagsJsonList[tagsIndex].AsObject(m_tags[tagsIndex].Jsonize());
}
payload.WithArray("Tags", std::move(tagsJsonList));
}
if(m_securityConfigurationHasBeenSet)
{
payload.WithString("SecurityConfiguration", m_securityConfiguration);
}
if(m_autoScalingRoleHasBeenSet)
{
payload.WithString("AutoScalingRole", m_autoScalingRole);
}
if(m_scaleDownBehaviorHasBeenSet)
{
payload.WithString("ScaleDownBehavior", ScaleDownBehaviorMapper::GetNameForScaleDownBehavior(m_scaleDownBehavior));
}
if(m_customAmiIdHasBeenSet)
{
payload.WithString("CustomAmiId", m_customAmiId);
}
if(m_ebsRootVolumeSizeHasBeenSet)
{
payload.WithInteger("EbsRootVolumeSize", m_ebsRootVolumeSize);
}
if(m_repoUpgradeOnBootHasBeenSet)
{
payload.WithString("RepoUpgradeOnBoot", RepoUpgradeOnBootMapper::GetNameForRepoUpgradeOnBoot(m_repoUpgradeOnBoot));
}
if(m_kerberosAttributesHasBeenSet)
{
payload.WithObject("KerberosAttributes", m_kerberosAttributes.Jsonize());
}
if(m_stepConcurrencyLevelHasBeenSet)
{
payload.WithInteger("StepConcurrencyLevel", m_stepConcurrencyLevel);
}
if(m_managedScalingPolicyHasBeenSet)
{
payload.WithObject("ManagedScalingPolicy", m_managedScalingPolicy.Jsonize());
}
return payload.View().WriteReadable();
}
Aws::Http::HeaderValueCollection RunJobFlowRequest::GetRequestSpecificHeaders() const
{
Aws::Http::HeaderValueCollection headers;
headers.insert(Aws::Http::HeaderValuePair("X-Amz-Target", "ElasticMapReduce.RunJobFlow"));
return headers;
}