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-devicefarm/source/model/AccountSettings.cpp

195 lines
5.3 KiB
C++

/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/devicefarm/model/AccountSettings.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace DeviceFarm
{
namespace Model
{
AccountSettings::AccountSettings() :
m_awsAccountNumberHasBeenSet(false),
m_unmeteredDevicesHasBeenSet(false),
m_unmeteredRemoteAccessDevicesHasBeenSet(false),
m_maxJobTimeoutMinutes(0),
m_maxJobTimeoutMinutesHasBeenSet(false),
m_trialMinutesHasBeenSet(false),
m_maxSlotsHasBeenSet(false),
m_defaultJobTimeoutMinutes(0),
m_defaultJobTimeoutMinutesHasBeenSet(false),
m_skipAppResign(false),
m_skipAppResignHasBeenSet(false)
{
}
AccountSettings::AccountSettings(JsonView jsonValue) :
m_awsAccountNumberHasBeenSet(false),
m_unmeteredDevicesHasBeenSet(false),
m_unmeteredRemoteAccessDevicesHasBeenSet(false),
m_maxJobTimeoutMinutes(0),
m_maxJobTimeoutMinutesHasBeenSet(false),
m_trialMinutesHasBeenSet(false),
m_maxSlotsHasBeenSet(false),
m_defaultJobTimeoutMinutes(0),
m_defaultJobTimeoutMinutesHasBeenSet(false),
m_skipAppResign(false),
m_skipAppResignHasBeenSet(false)
{
*this = jsonValue;
}
AccountSettings& AccountSettings::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("awsAccountNumber"))
{
m_awsAccountNumber = jsonValue.GetString("awsAccountNumber");
m_awsAccountNumberHasBeenSet = true;
}
if(jsonValue.ValueExists("unmeteredDevices"))
{
Aws::Map<Aws::String, JsonView> unmeteredDevicesJsonMap = jsonValue.GetObject("unmeteredDevices").GetAllObjects();
for(auto& unmeteredDevicesItem : unmeteredDevicesJsonMap)
{
m_unmeteredDevices[DevicePlatformMapper::GetDevicePlatformForName(unmeteredDevicesItem.first)] = unmeteredDevicesItem.second.AsInteger();
}
m_unmeteredDevicesHasBeenSet = true;
}
if(jsonValue.ValueExists("unmeteredRemoteAccessDevices"))
{
Aws::Map<Aws::String, JsonView> unmeteredRemoteAccessDevicesJsonMap = jsonValue.GetObject("unmeteredRemoteAccessDevices").GetAllObjects();
for(auto& unmeteredRemoteAccessDevicesItem : unmeteredRemoteAccessDevicesJsonMap)
{
m_unmeteredRemoteAccessDevices[DevicePlatformMapper::GetDevicePlatformForName(unmeteredRemoteAccessDevicesItem.first)] = unmeteredRemoteAccessDevicesItem.second.AsInteger();
}
m_unmeteredRemoteAccessDevicesHasBeenSet = true;
}
if(jsonValue.ValueExists("maxJobTimeoutMinutes"))
{
m_maxJobTimeoutMinutes = jsonValue.GetInteger("maxJobTimeoutMinutes");
m_maxJobTimeoutMinutesHasBeenSet = true;
}
if(jsonValue.ValueExists("trialMinutes"))
{
m_trialMinutes = jsonValue.GetObject("trialMinutes");
m_trialMinutesHasBeenSet = true;
}
if(jsonValue.ValueExists("maxSlots"))
{
Aws::Map<Aws::String, JsonView> maxSlotsJsonMap = jsonValue.GetObject("maxSlots").GetAllObjects();
for(auto& maxSlotsItem : maxSlotsJsonMap)
{
m_maxSlots[maxSlotsItem.first] = maxSlotsItem.second.AsInteger();
}
m_maxSlotsHasBeenSet = true;
}
if(jsonValue.ValueExists("defaultJobTimeoutMinutes"))
{
m_defaultJobTimeoutMinutes = jsonValue.GetInteger("defaultJobTimeoutMinutes");
m_defaultJobTimeoutMinutesHasBeenSet = true;
}
if(jsonValue.ValueExists("skipAppResign"))
{
m_skipAppResign = jsonValue.GetBool("skipAppResign");
m_skipAppResignHasBeenSet = true;
}
return *this;
}
JsonValue AccountSettings::Jsonize() const
{
JsonValue payload;
if(m_awsAccountNumberHasBeenSet)
{
payload.WithString("awsAccountNumber", m_awsAccountNumber);
}
if(m_unmeteredDevicesHasBeenSet)
{
JsonValue unmeteredDevicesJsonMap;
for(auto& unmeteredDevicesItem : m_unmeteredDevices)
{
unmeteredDevicesJsonMap.WithInteger(DevicePlatformMapper::GetNameForDevicePlatform(unmeteredDevicesItem.first), unmeteredDevicesItem.second);
}
payload.WithObject("unmeteredDevices", std::move(unmeteredDevicesJsonMap));
}
if(m_unmeteredRemoteAccessDevicesHasBeenSet)
{
JsonValue unmeteredRemoteAccessDevicesJsonMap;
for(auto& unmeteredRemoteAccessDevicesItem : m_unmeteredRemoteAccessDevices)
{
unmeteredRemoteAccessDevicesJsonMap.WithInteger(DevicePlatformMapper::GetNameForDevicePlatform(unmeteredRemoteAccessDevicesItem.first), unmeteredRemoteAccessDevicesItem.second);
}
payload.WithObject("unmeteredRemoteAccessDevices", std::move(unmeteredRemoteAccessDevicesJsonMap));
}
if(m_maxJobTimeoutMinutesHasBeenSet)
{
payload.WithInteger("maxJobTimeoutMinutes", m_maxJobTimeoutMinutes);
}
if(m_trialMinutesHasBeenSet)
{
payload.WithObject("trialMinutes", m_trialMinutes.Jsonize());
}
if(m_maxSlotsHasBeenSet)
{
JsonValue maxSlotsJsonMap;
for(auto& maxSlotsItem : m_maxSlots)
{
maxSlotsJsonMap.WithInteger(maxSlotsItem.first, maxSlotsItem.second);
}
payload.WithObject("maxSlots", std::move(maxSlotsJsonMap));
}
if(m_defaultJobTimeoutMinutesHasBeenSet)
{
payload.WithInteger("defaultJobTimeoutMinutes", m_defaultJobTimeoutMinutes);
}
if(m_skipAppResignHasBeenSet)
{
payload.WithBool("skipAppResign", m_skipAppResign);
}
return payload;
}
} // namespace Model
} // namespace DeviceFarm
} // namespace Aws