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/JobFlowDetail.cpp

297 lines
7.3 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/elasticmapreduce/model/JobFlowDetail.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace EMR
{
namespace Model
{
JobFlowDetail::JobFlowDetail() :
m_jobFlowIdHasBeenSet(false),
m_nameHasBeenSet(false),
m_logUriHasBeenSet(false),
m_logEncryptionKmsKeyIdHasBeenSet(false),
m_amiVersionHasBeenSet(false),
m_executionStatusDetailHasBeenSet(false),
m_instancesHasBeenSet(false),
m_stepsHasBeenSet(false),
m_bootstrapActionsHasBeenSet(false),
m_supportedProductsHasBeenSet(false),
m_visibleToAllUsers(false),
m_visibleToAllUsersHasBeenSet(false),
m_jobFlowRoleHasBeenSet(false),
m_serviceRoleHasBeenSet(false),
m_autoScalingRoleHasBeenSet(false),
m_scaleDownBehavior(ScaleDownBehavior::NOT_SET),
m_scaleDownBehaviorHasBeenSet(false)
{
}
JobFlowDetail::JobFlowDetail(JsonView jsonValue) :
m_jobFlowIdHasBeenSet(false),
m_nameHasBeenSet(false),
m_logUriHasBeenSet(false),
m_logEncryptionKmsKeyIdHasBeenSet(false),
m_amiVersionHasBeenSet(false),
m_executionStatusDetailHasBeenSet(false),
m_instancesHasBeenSet(false),
m_stepsHasBeenSet(false),
m_bootstrapActionsHasBeenSet(false),
m_supportedProductsHasBeenSet(false),
m_visibleToAllUsers(false),
m_visibleToAllUsersHasBeenSet(false),
m_jobFlowRoleHasBeenSet(false),
m_serviceRoleHasBeenSet(false),
m_autoScalingRoleHasBeenSet(false),
m_scaleDownBehavior(ScaleDownBehavior::NOT_SET),
m_scaleDownBehaviorHasBeenSet(false)
{
*this = jsonValue;
}
JobFlowDetail& JobFlowDetail::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("JobFlowId"))
{
m_jobFlowId = jsonValue.GetString("JobFlowId");
m_jobFlowIdHasBeenSet = true;
}
if(jsonValue.ValueExists("Name"))
{
m_name = jsonValue.GetString("Name");
m_nameHasBeenSet = true;
}
if(jsonValue.ValueExists("LogUri"))
{
m_logUri = jsonValue.GetString("LogUri");
m_logUriHasBeenSet = true;
}
if(jsonValue.ValueExists("LogEncryptionKmsKeyId"))
{
m_logEncryptionKmsKeyId = jsonValue.GetString("LogEncryptionKmsKeyId");
m_logEncryptionKmsKeyIdHasBeenSet = true;
}
if(jsonValue.ValueExists("AmiVersion"))
{
m_amiVersion = jsonValue.GetString("AmiVersion");
m_amiVersionHasBeenSet = true;
}
if(jsonValue.ValueExists("ExecutionStatusDetail"))
{
m_executionStatusDetail = jsonValue.GetObject("ExecutionStatusDetail");
m_executionStatusDetailHasBeenSet = true;
}
if(jsonValue.ValueExists("Instances"))
{
m_instances = jsonValue.GetObject("Instances");
m_instancesHasBeenSet = true;
}
if(jsonValue.ValueExists("Steps"))
{
Array<JsonView> stepsJsonList = jsonValue.GetArray("Steps");
for(unsigned stepsIndex = 0; stepsIndex < stepsJsonList.GetLength(); ++stepsIndex)
{
m_steps.push_back(stepsJsonList[stepsIndex].AsObject());
}
m_stepsHasBeenSet = true;
}
if(jsonValue.ValueExists("BootstrapActions"))
{
Array<JsonView> bootstrapActionsJsonList = jsonValue.GetArray("BootstrapActions");
for(unsigned bootstrapActionsIndex = 0; bootstrapActionsIndex < bootstrapActionsJsonList.GetLength(); ++bootstrapActionsIndex)
{
m_bootstrapActions.push_back(bootstrapActionsJsonList[bootstrapActionsIndex].AsObject());
}
m_bootstrapActionsHasBeenSet = true;
}
if(jsonValue.ValueExists("SupportedProducts"))
{
Array<JsonView> supportedProductsJsonList = jsonValue.GetArray("SupportedProducts");
for(unsigned supportedProductsIndex = 0; supportedProductsIndex < supportedProductsJsonList.GetLength(); ++supportedProductsIndex)
{
m_supportedProducts.push_back(supportedProductsJsonList[supportedProductsIndex].AsString());
}
m_supportedProductsHasBeenSet = true;
}
if(jsonValue.ValueExists("VisibleToAllUsers"))
{
m_visibleToAllUsers = jsonValue.GetBool("VisibleToAllUsers");
m_visibleToAllUsersHasBeenSet = true;
}
if(jsonValue.ValueExists("JobFlowRole"))
{
m_jobFlowRole = jsonValue.GetString("JobFlowRole");
m_jobFlowRoleHasBeenSet = true;
}
if(jsonValue.ValueExists("ServiceRole"))
{
m_serviceRole = jsonValue.GetString("ServiceRole");
m_serviceRoleHasBeenSet = true;
}
if(jsonValue.ValueExists("AutoScalingRole"))
{
m_autoScalingRole = jsonValue.GetString("AutoScalingRole");
m_autoScalingRoleHasBeenSet = true;
}
if(jsonValue.ValueExists("ScaleDownBehavior"))
{
m_scaleDownBehavior = ScaleDownBehaviorMapper::GetScaleDownBehaviorForName(jsonValue.GetString("ScaleDownBehavior"));
m_scaleDownBehaviorHasBeenSet = true;
}
return *this;
}
JsonValue JobFlowDetail::Jsonize() const
{
JsonValue payload;
if(m_jobFlowIdHasBeenSet)
{
payload.WithString("JobFlowId", m_jobFlowId);
}
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_amiVersionHasBeenSet)
{
payload.WithString("AmiVersion", m_amiVersion);
}
if(m_executionStatusDetailHasBeenSet)
{
payload.WithObject("ExecutionStatusDetail", m_executionStatusDetail.Jsonize());
}
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_visibleToAllUsersHasBeenSet)
{
payload.WithBool("VisibleToAllUsers", m_visibleToAllUsers);
}
if(m_jobFlowRoleHasBeenSet)
{
payload.WithString("JobFlowRole", m_jobFlowRole);
}
if(m_serviceRoleHasBeenSet)
{
payload.WithString("ServiceRole", m_serviceRole);
}
if(m_autoScalingRoleHasBeenSet)
{
payload.WithString("AutoScalingRole", m_autoScalingRole);
}
if(m_scaleDownBehaviorHasBeenSet)
{
payload.WithString("ScaleDownBehavior", ScaleDownBehaviorMapper::GetNameForScaleDownBehavior(m_scaleDownBehavior));
}
return payload;
}
} // namespace Model
} // namespace EMR
} // namespace Aws