Hhuaweicloud
492f89de创建于 2023年7月20日历史提交


#include "huaweicloud/drs/v5/model/JobNodeInfo.h"

namespace HuaweiCloud {
namespace Sdk {
namespace Drs {
namespace V5 {
namespace Model {




JobNodeInfo::JobNodeInfo()
{
    specIsSet_ = false;
    vpcIsSet_ = false;
    baseInfoIsSet_ = false;
}

JobNodeInfo::~JobNodeInfo() = default;

void JobNodeInfo::validate()
{
}

web::json::value JobNodeInfo::toJson() const
{
    web::json::value val = web::json::value::object();

    if(specIsSet_) {
        val[utility::conversions::to_string_t("spec")] = ModelBase::toJson(spec_);
    }
    if(vpcIsSet_) {
        val[utility::conversions::to_string_t("vpc")] = ModelBase::toJson(vpc_);
    }
    if(baseInfoIsSet_) {
        val[utility::conversions::to_string_t("base_info")] = ModelBase::toJson(baseInfo_);
    }

    return val;
}

bool JobNodeInfo::fromJson(const web::json::value& val)
{
    bool ok = true;
    
    if(val.has_field(utility::conversions::to_string_t("spec"))) {
        const web::json::value& fieldValue = val.at(utility::conversions::to_string_t("spec"));
        if(!fieldValue.is_null())
        {
            JobNodeSpecInfo refVal;
            ok &= ModelBase::fromJson(fieldValue, refVal);
            setSpec(refVal);
        }
    }
    if(val.has_field(utility::conversions::to_string_t("vpc"))) {
        const web::json::value& fieldValue = val.at(utility::conversions::to_string_t("vpc"));
        if(!fieldValue.is_null())
        {
            JobNodeVpcInfo refVal;
            ok &= ModelBase::fromJson(fieldValue, refVal);
            setVpc(refVal);
        }
    }
    if(val.has_field(utility::conversions::to_string_t("base_info"))) {
        const web::json::value& fieldValue = val.at(utility::conversions::to_string_t("base_info"));
        if(!fieldValue.is_null())
        {
            JobNodeBaseInfo refVal;
            ok &= ModelBase::fromJson(fieldValue, refVal);
            setBaseInfo(refVal);
        }
    }
    return ok;
}

JobNodeSpecInfo JobNodeInfo::getSpec() const
{
    return spec_;
}

void JobNodeInfo::setSpec(const JobNodeSpecInfo& value)
{
    spec_ = value;
    specIsSet_ = true;
}

bool JobNodeInfo::specIsSet() const
{
    return specIsSet_;
}

void JobNodeInfo::unsetspec()
{
    specIsSet_ = false;
}

JobNodeVpcInfo JobNodeInfo::getVpc() const
{
    return vpc_;
}

void JobNodeInfo::setVpc(const JobNodeVpcInfo& value)
{
    vpc_ = value;
    vpcIsSet_ = true;
}

bool JobNodeInfo::vpcIsSet() const
{
    return vpcIsSet_;
}

void JobNodeInfo::unsetvpc()
{
    vpcIsSet_ = false;
}

JobNodeBaseInfo JobNodeInfo::getBaseInfo() const
{
    return baseInfo_;
}

void JobNodeInfo::setBaseInfo(const JobNodeBaseInfo& value)
{
    baseInfo_ = value;
    baseInfoIsSet_ = true;
}

bool JobNodeInfo::baseInfoIsSet() const
{
    return baseInfoIsSet_;
}

void JobNodeInfo::unsetbaseInfo()
{
    baseInfoIsSet_ = false;
}

}
}
}
}
}