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-sagemaker/source/model/ContainerDefinition.cpp

159 lines
3.4 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/sagemaker/model/ContainerDefinition.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace SageMaker
{
namespace Model
{
ContainerDefinition::ContainerDefinition() :
m_containerHostnameHasBeenSet(false),
m_imageHasBeenSet(false),
m_imageConfigHasBeenSet(false),
m_mode(ContainerMode::NOT_SET),
m_modeHasBeenSet(false),
m_modelDataUrlHasBeenSet(false),
m_environmentHasBeenSet(false),
m_modelPackageNameHasBeenSet(false)
{
}
ContainerDefinition::ContainerDefinition(JsonView jsonValue) :
m_containerHostnameHasBeenSet(false),
m_imageHasBeenSet(false),
m_imageConfigHasBeenSet(false),
m_mode(ContainerMode::NOT_SET),
m_modeHasBeenSet(false),
m_modelDataUrlHasBeenSet(false),
m_environmentHasBeenSet(false),
m_modelPackageNameHasBeenSet(false)
{
*this = jsonValue;
}
ContainerDefinition& ContainerDefinition::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("ContainerHostname"))
{
m_containerHostname = jsonValue.GetString("ContainerHostname");
m_containerHostnameHasBeenSet = true;
}
if(jsonValue.ValueExists("Image"))
{
m_image = jsonValue.GetString("Image");
m_imageHasBeenSet = true;
}
if(jsonValue.ValueExists("ImageConfig"))
{
m_imageConfig = jsonValue.GetObject("ImageConfig");
m_imageConfigHasBeenSet = true;
}
if(jsonValue.ValueExists("Mode"))
{
m_mode = ContainerModeMapper::GetContainerModeForName(jsonValue.GetString("Mode"));
m_modeHasBeenSet = true;
}
if(jsonValue.ValueExists("ModelDataUrl"))
{
m_modelDataUrl = jsonValue.GetString("ModelDataUrl");
m_modelDataUrlHasBeenSet = true;
}
if(jsonValue.ValueExists("Environment"))
{
Aws::Map<Aws::String, JsonView> environmentJsonMap = jsonValue.GetObject("Environment").GetAllObjects();
for(auto& environmentItem : environmentJsonMap)
{
m_environment[environmentItem.first] = environmentItem.second.AsString();
}
m_environmentHasBeenSet = true;
}
if(jsonValue.ValueExists("ModelPackageName"))
{
m_modelPackageName = jsonValue.GetString("ModelPackageName");
m_modelPackageNameHasBeenSet = true;
}
return *this;
}
JsonValue ContainerDefinition::Jsonize() const
{
JsonValue payload;
if(m_containerHostnameHasBeenSet)
{
payload.WithString("ContainerHostname", m_containerHostname);
}
if(m_imageHasBeenSet)
{
payload.WithString("Image", m_image);
}
if(m_imageConfigHasBeenSet)
{
payload.WithObject("ImageConfig", m_imageConfig.Jsonize());
}
if(m_modeHasBeenSet)
{
payload.WithString("Mode", ContainerModeMapper::GetNameForContainerMode(m_mode));
}
if(m_modelDataUrlHasBeenSet)
{
payload.WithString("ModelDataUrl", m_modelDataUrl);
}
if(m_environmentHasBeenSet)
{
JsonValue environmentJsonMap;
for(auto& environmentItem : m_environment)
{
environmentJsonMap.WithString(environmentItem.first, environmentItem.second);
}
payload.WithObject("Environment", std::move(environmentJsonMap));
}
if(m_modelPackageNameHasBeenSet)
{
payload.WithString("ModelPackageName", m_modelPackageName);
}
return payload;
}
} // namespace Model
} // namespace SageMaker
} // namespace Aws