feat(hos_client_create, hos_client_destory): 多次调用destory不会导致重复释放

This commit is contained in:
彭宣正
2020-12-14 17:24:58 +08:00
parent 505d529c32
commit 10b370e486
55976 changed files with 8544395 additions and 2 deletions

View File

@@ -0,0 +1,136 @@
/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#include <aws/kafka/model/BrokerNodeGroupInfo.h>
#include <aws/core/utils/json/JsonSerializer.h>
#include <utility>
using namespace Aws::Utils::Json;
using namespace Aws::Utils;
namespace Aws
{
namespace Kafka
{
namespace Model
{
BrokerNodeGroupInfo::BrokerNodeGroupInfo() :
m_brokerAZDistribution(BrokerAZDistribution::NOT_SET),
m_brokerAZDistributionHasBeenSet(false),
m_clientSubnetsHasBeenSet(false),
m_instanceTypeHasBeenSet(false),
m_securityGroupsHasBeenSet(false),
m_storageInfoHasBeenSet(false)
{
}
BrokerNodeGroupInfo::BrokerNodeGroupInfo(JsonView jsonValue) :
m_brokerAZDistribution(BrokerAZDistribution::NOT_SET),
m_brokerAZDistributionHasBeenSet(false),
m_clientSubnetsHasBeenSet(false),
m_instanceTypeHasBeenSet(false),
m_securityGroupsHasBeenSet(false),
m_storageInfoHasBeenSet(false)
{
*this = jsonValue;
}
BrokerNodeGroupInfo& BrokerNodeGroupInfo::operator =(JsonView jsonValue)
{
if(jsonValue.ValueExists("brokerAZDistribution"))
{
m_brokerAZDistribution = BrokerAZDistributionMapper::GetBrokerAZDistributionForName(jsonValue.GetString("brokerAZDistribution"));
m_brokerAZDistributionHasBeenSet = true;
}
if(jsonValue.ValueExists("clientSubnets"))
{
Array<JsonView> clientSubnetsJsonList = jsonValue.GetArray("clientSubnets");
for(unsigned clientSubnetsIndex = 0; clientSubnetsIndex < clientSubnetsJsonList.GetLength(); ++clientSubnetsIndex)
{
m_clientSubnets.push_back(clientSubnetsJsonList[clientSubnetsIndex].AsString());
}
m_clientSubnetsHasBeenSet = true;
}
if(jsonValue.ValueExists("instanceType"))
{
m_instanceType = jsonValue.GetString("instanceType");
m_instanceTypeHasBeenSet = true;
}
if(jsonValue.ValueExists("securityGroups"))
{
Array<JsonView> securityGroupsJsonList = jsonValue.GetArray("securityGroups");
for(unsigned securityGroupsIndex = 0; securityGroupsIndex < securityGroupsJsonList.GetLength(); ++securityGroupsIndex)
{
m_securityGroups.push_back(securityGroupsJsonList[securityGroupsIndex].AsString());
}
m_securityGroupsHasBeenSet = true;
}
if(jsonValue.ValueExists("storageInfo"))
{
m_storageInfo = jsonValue.GetObject("storageInfo");
m_storageInfoHasBeenSet = true;
}
return *this;
}
JsonValue BrokerNodeGroupInfo::Jsonize() const
{
JsonValue payload;
if(m_brokerAZDistributionHasBeenSet)
{
payload.WithString("brokerAZDistribution", BrokerAZDistributionMapper::GetNameForBrokerAZDistribution(m_brokerAZDistribution));
}
if(m_clientSubnetsHasBeenSet)
{
Array<JsonValue> clientSubnetsJsonList(m_clientSubnets.size());
for(unsigned clientSubnetsIndex = 0; clientSubnetsIndex < clientSubnetsJsonList.GetLength(); ++clientSubnetsIndex)
{
clientSubnetsJsonList[clientSubnetsIndex].AsString(m_clientSubnets[clientSubnetsIndex]);
}
payload.WithArray("clientSubnets", std::move(clientSubnetsJsonList));
}
if(m_instanceTypeHasBeenSet)
{
payload.WithString("instanceType", m_instanceType);
}
if(m_securityGroupsHasBeenSet)
{
Array<JsonValue> securityGroupsJsonList(m_securityGroups.size());
for(unsigned securityGroupsIndex = 0; securityGroupsIndex < securityGroupsJsonList.GetLength(); ++securityGroupsIndex)
{
securityGroupsJsonList[securityGroupsIndex].AsString(m_securityGroups[securityGroupsIndex]);
}
payload.WithArray("securityGroups", std::move(securityGroupsJsonList));
}
if(m_storageInfoHasBeenSet)
{
payload.WithObject("storageInfo", m_storageInfo.Jsonize());
}
return payload;
}
} // namespace Model
} // namespace Kafka
} // namespace Aws