Files
aliyun-openapi-cpp-sdk/ecs/include/alibabacloud/ecs/model/DescribeNetworkInterfaceAttributeResult.h
2021-12-06 11:51:53 +00:00

152 lines
4.6 KiB
C++

/*
* Copyright 2009-2017 Alibaba Cloud All rights reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#ifndef ALIBABACLOUD_ECS_MODEL_DESCRIBENETWORKINTERFACEATTRIBUTERESULT_H_
#define ALIBABACLOUD_ECS_MODEL_DESCRIBENETWORKINTERFACEATTRIBUTERESULT_H_
#include <string>
#include <vector>
#include <utility>
#include <alibabacloud/core/ServiceResult.h>
#include <alibabacloud/ecs/EcsExport.h>
namespace AlibabaCloud
{
namespace Ecs
{
namespace Model
{
class ALIBABACLOUD_ECS_EXPORT DescribeNetworkInterfaceAttributeResult : public ServiceResult
{
public:
struct AssociatedPublicIp
{
std::string publicIpAddress;
std::string allocationId;
};
struct Attachment
{
std::string instanceId;
int deviceIndex;
std::vector<std::string> memberNetworkInterfaceIds;
std::string trunkNetworkInterfaceId;
};
struct BondInterfaceSpecification
{
struct SlaveInterfaceSpecificationSet
{
std::string bondNetworkInterfaceId;
std::string workState;
std::string slaveNetworkInterfaceId;
};
std::vector<SlaveInterfaceSpecificationSet> slaveInterfaceSpecification2;
std::string bondMode;
};
struct SlaveInterfaceSpecification
{
std::string bondNetworkInterfaceId;
std::string workState;
std::string slaveNetworkInterfaceId;
};
struct PrivateIpSet
{
struct AssociatedPublicIp1
{
std::string publicIpAddress;
std::string allocationId;
};
AssociatedPublicIp1 associatedPublicIp1;
std::string privateIpAddress;
bool primary;
};
struct Ipv6Set
{
std::string ipv6Address;
};
struct Tag
{
std::string tagKey;
std::string tagValue;
};
DescribeNetworkInterfaceAttributeResult();
explicit DescribeNetworkInterfaceAttributeResult(const std::string &payload);
~DescribeNetworkInterfaceAttributeResult();
std::string getDescription()const;
std::string getPrivateIpAddress()const;
bool getServiceManaged()const;
std::string getResourceGroupId()const;
Attachment getAttachment()const;
std::string getNetworkInterfaceId()const;
std::vector<Ipv6Set> getIpv6Sets()const;
std::string getOwnerId()const;
AssociatedPublicIp getAssociatedPublicIp()const;
std::vector<Tag> getTags()const;
std::string getStatus()const;
std::string getNetworkInterfaceTrafficMode()const;
SlaveInterfaceSpecification getSlaveInterfaceSpecification()const;
std::string getZoneId()const;
std::string getInstanceId()const;
std::string getVSwitchId()const;
std::string getNetworkInterfaceName()const;
std::string getMacAddress()const;
std::vector<std::string> getSecurityGroupIds()const;
long getServiceID()const;
std::string getType()const;
int getQueuePairNumber()const;
int getQueueNumber()const;
std::string getVpcId()const;
BondInterfaceSpecification getBondInterfaceSpecification()const;
std::string getCreationTime()const;
std::vector<PrivateIpSet> getPrivateIpSets()const;
protected:
void parse(const std::string &payload);
private:
std::string description_;
std::string privateIpAddress_;
bool serviceManaged_;
std::string resourceGroupId_;
Attachment attachment_;
std::string networkInterfaceId_;
std::vector<Ipv6Set> ipv6Sets_;
std::string ownerId_;
AssociatedPublicIp associatedPublicIp_;
std::vector<Tag> tags_;
std::string status_;
std::string networkInterfaceTrafficMode_;
SlaveInterfaceSpecification slaveInterfaceSpecification_;
std::string zoneId_;
std::string instanceId_;
std::string vSwitchId_;
std::string networkInterfaceName_;
std::string macAddress_;
std::vector<std::string> securityGroupIds_;
long serviceID_;
std::string type_;
int queuePairNumber_;
int queueNumber_;
std::string vpcId_;
BondInterfaceSpecification bondInterfaceSpecification_;
std::string creationTime_;
std::vector<PrivateIpSet> privateIpSets_;
};
}
}
}
#endif // !ALIBABACLOUD_ECS_MODEL_DESCRIBENETWORKINTERFACEATTRIBUTERESULT_H_