text: /* Copyright 2018 JDCLOUD.COM
  
  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.
  
  网段
  网段相关接口
  
  OpenAPI spec version: v1
  Contact: 
  
  NOTE: This class is auto generated by the jdcloud code generator program.
  */
  
  
  #ifndef VpcApiModel_h
  #define VpcApiModel_h
  #import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
  #import <JDCloudOCSDKCommon/JDCloudOCSDKCommon.h>
  #import <JDCloudOCSDKVpc/VpcModel.h>
  
  
  @interface VpcDeleteRouteTableRequest:JDCloudRequest
  
  /// RouteTable ID
  @property (strong,nonatomic,nonnull)  NSString*  routeTableId;
  -(id) initWithRegion:(NSString *)regionId
  routeTableId:(NSString*)routeTableId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  routeTableId:(NSString*)routeTableId;
  
  @end
  
  @interface VpcRemoveRouteTableRulesRequest:JDCloudRequest
  
  /// 路由表规则Id列表
  @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  ruleIds;
  /// RouteTable ID
  @property (strong,nonatomic,nonnull)  NSString*  routeTableId;
  -(id) initWithRegion:(NSString *)regionId
  ruleIds:(NSArray<NSString*>*)ruleIds
  routeTableId:(NSString*)routeTableId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  ruleIds:(NSArray<NSString*>*)ruleIds
  routeTableId:(NSString*)routeTableId;
  
  @end
  
  @interface VpcModifyRouteTableRequest:JDCloudRequest
  
  /// 路由表的名字。名称取值范围：1-32个中文、英文大小写的字母、数字和下划线分隔符
  @property (strong,nonatomic,nonnull)  NSString*  routeTableName;
  /// 路由表的描述，取值范围：0-256个UTF-8编码下的全部字符
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  /// RouteTable ID
  @property (strong,nonatomic,nonnull)  NSString*  routeTableId;
  -(id) initWithRegion:(NSString *)regionId
  routeTableName:(NSString*)routeTableName
  descriptionValue:(NSString*)descriptionValue
  routeTableId:(NSString*)routeTableId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  routeTableName:(NSString*)routeTableName
  descriptionValue:(NSString*)descriptionValue
  routeTableId:(NSString*)routeTableId;
  
  @end
  
  @interface VpcCreateRouteTableRequest:JDCloudRequest
  
  /// 路由表所属的私有网络ID
  @property (strong,nonatomic,nonnull)  NSString*  vpcId;
  /// 路由表名称，只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”，不允许为空且不超过32字符。
  @property (strong,nonatomic,nonnull)  NSString*  routeTableName;
  /// 描述,​ 允许输入UTF-8编码下的全部字符，不超过256字符
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  -(id) initWithRegion:(NSString *)regionId
  vpcId:(NSString*)vpcId
  routeTableName:(NSString*)routeTableName
  descriptionValue:(NSString*)descriptionValue;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  vpcId:(NSString*)vpcId
  routeTableName:(NSString*)routeTableName
  descriptionValue:(NSString*)descriptionValue;
  
  @end
  
  @interface VpcAssociateRouteTableRequest:JDCloudRequest
  
  /// 路由表要绑定的子网ID列表, subnet已被其他路由表绑定时，自动解绑。
  @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  subnetIds;
  /// RouteTable ID
  @property (strong,nonatomic,nonnull)  NSString*  routeTableId;
  -(id) initWithRegion:(NSString *)regionId
  subnetIds:(NSArray<NSString*>*)subnetIds
  routeTableId:(NSString*)routeTableId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  subnetIds:(NSArray<NSString*>*)subnetIds
  routeTableId:(NSString*)routeTableId;
  
  @end
  
  @interface VpcDescribeRouteTableRequest:JDCloudRequest
  
  /// RouteTable ID
  @property (strong,nonatomic,nonnull)  NSString*  routeTableId;
  -(id) initWithRegion:(NSString *)regionId
  routeTableId:(NSString*)routeTableId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  routeTableId:(NSString*)routeTableId;
  
  @end
  
  @interface VpcCreateRouteTableResult : NSObject
  /// 路由表ID
   @property (strong,nonatomic,nonnull)  NSString*  routeTableId;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithRouteTableId:(NSString*) routeTableId;
  @end
  
  @interface VpcDisassociateRouteTableRequest:JDCloudRequest
  
  /// 路由表要解绑的子网ID，解绑后子网绑定默认路由表
  @property (strong,nonatomic,nonnull)  NSString*  subnetId;
  /// RouteTable ID
  @property (strong,nonatomic,nonnull)  NSString*  routeTableId;
  -(id) initWithRegion:(NSString *)regionId
  subnetId:(NSString*)subnetId
  routeTableId:(NSString*)routeTableId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  subnetId:(NSString*)subnetId
  routeTableId:(NSString*)routeTableId;
  
  @end
  
  @interface VpcDescribeQuotaRequest:JDCloudRequest
  
  /// 资源类型，取值范围：vpc、elastic_ip、subnet、security_group、vpcpeering、network_interface（配额只统计辅助网卡）
  @property (strong,nonatomic,nonnull)  NSString*  type;
  /// type为vpc、elastic_ip、network_interface不设置, type为subnet、security_group、vpcpeering设置为vpcId
  @property (strong,nonatomic,nonnull)  NSString*  parentResourceId;
  -(id) initWithRegion:(NSString *)regionId
  type:(NSString*)type
  parentResourceId:(NSString*)parentResourceId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  type:(NSString*)type
  parentResourceId:(NSString*)parentResourceId;
  
  @end
  
  @interface VpcDescribeQuotaResult : NSObject
  /// Quota
   @property (strong,nonatomic,nonnull)  NSObject*  quota;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithQuota:(NSObject*) quota;
  @end
  
  @interface VpcCreateNetworkInterfaceResult : NSObject
  /// 弹性网卡Id
   @property (strong,nonatomic,nonnull)  NSString*  networkInterfaceId;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithNetworkInterfaceId:(NSString*) networkInterfaceId;
  @end
  
  @interface VpcAssignSecondaryIpsRequest:JDCloudRequest
  
  /// secondary ip被其他接口占用时，是否抢占。false：非抢占重分配，true：抢占重分配，默认抢占重分配。默认值：true
  @property (strong,nonatomic,nonnull)  NSNumber*  force;
  /// 指定分配的secondaryIp地址
  @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  secondaryIps;
  /// 指定自动分配的secondaryIp个数
  @property (strong,nonatomic,nonnull)  NSNumber*  secondaryIpCount;
  /// networkInterface ID
  @property (strong,nonatomic,nonnull)  NSString*  networkInterfaceId;
  -(id) initWithRegion:(NSString *)regionId
  force:(NSNumber*)force
  secondaryIps:(NSArray<NSString*>*)secondaryIps
  secondaryIpCount:(NSNumber*)secondaryIpCount
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  force:(NSNumber*)force
  secondaryIps:(NSArray<NSString*>*)secondaryIps
  secondaryIpCount:(NSNumber*)secondaryIpCount
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  @end
  
  @interface VpcDeleteNetworkInterfaceRequest:JDCloudRequest
  
  /// networkInterface ID
  @property (strong,nonatomic,nonnull)  NSString*  networkInterfaceId;
  -(id) initWithRegion:(NSString *)regionId
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  @end
  
  @interface VpcCreateNetworkInterfaceRequest:JDCloudRequest
  
  /// 子网ID
  @property (strong,nonatomic,nonnull)  NSString*  subnetId;
  /// 可用区，用户的默认可用区
  @property (strong,nonatomic,nonnull)  NSString*  az;
  /// 网卡名称，只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”，不允许为空且不超过32字符。
  @property (strong,nonatomic,nonnull)  NSString*  networkInterfaceName;
  /// 网卡主IP，如果不指定，会自动从子网中分配
  @property (strong,nonatomic,nonnull)  NSString*  primaryIpAddress;
  /// SecondaryIp列表
  @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  secondaryIpAddresses;
  /// 自动分配的SecondaryIp数量
  @property (strong,nonatomic,nonnull)  NSNumber*  secondaryIpCount;
  /// 要绑定的安全组ID列表，最多指定5个安全组
  @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  securityGroups;
  /// 源和目标IP地址校验，取值为0或者1,默认为1
  @property (strong,nonatomic,nonnull)  NSNumber*  sanityCheck;
  /// 描述,​ 允许输入UTF-8编码下的全部字符，不超过256字符
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  -(id) initWithRegion:(NSString *)regionId
  subnetId:(NSString*)subnetId
  az:(NSString*)az
  networkInterfaceName:(NSString*)networkInterfaceName
  primaryIpAddress:(NSString*)primaryIpAddress
  secondaryIpAddresses:(NSArray<NSString*>*)secondaryIpAddresses
  secondaryIpCount:(NSNumber*)secondaryIpCount
  securityGroups:(NSArray<NSString*>*)securityGroups
  sanityCheck:(NSNumber*)sanityCheck
  descriptionValue:(NSString*)descriptionValue;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  subnetId:(NSString*)subnetId
  az:(NSString*)az
  networkInterfaceName:(NSString*)networkInterfaceName
  primaryIpAddress:(NSString*)primaryIpAddress
  secondaryIpAddresses:(NSArray<NSString*>*)secondaryIpAddresses
  secondaryIpCount:(NSNumber*)secondaryIpCount
  securityGroups:(NSArray<NSString*>*)securityGroups
  sanityCheck:(NSNumber*)sanityCheck
  descriptionValue:(NSString*)descriptionValue;
  
  @end
  
  @interface VpcAssociateElasticIpRequest:JDCloudRequest
  
  /// 绑定的弹性Ip Id
  @property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
  /// 绑定弹性Ip到指定的privateIp
  @property (strong,nonatomic,nonnull)  NSString*  privateIpAddress;
  /// 绑定的弹性Ip地址
  @property (strong,nonatomic,nonnull)  NSString*  elasticIpAddress;
  /// networkInterface ID
  @property (strong,nonatomic,nonnull)  NSString*  networkInterfaceId;
  -(id) initWithRegion:(NSString *)regionId
  elasticIpId:(NSString*)elasticIpId
  privateIpAddress:(NSString*)privateIpAddress
  elasticIpAddress:(NSString*)elasticIpAddress
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  elasticIpId:(NSString*)elasticIpId
  privateIpAddress:(NSString*)privateIpAddress
  elasticIpAddress:(NSString*)elasticIpAddress
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  @end
  
  @interface VpcDisassociateElasticIpRequest:JDCloudRequest
  
  /// 指定解绑的弹性Ip Id
  @property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
  /// 指定解绑的弹性Ip地址
  @property (strong,nonatomic,nonnull)  NSString*  elasticIpAddress;
  /// networkInterface ID
  @property (strong,nonatomic,nonnull)  NSString*  networkInterfaceId;
  -(id) initWithRegion:(NSString *)regionId
  elasticIpId:(NSString*)elasticIpId
  elasticIpAddress:(NSString*)elasticIpAddress
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  elasticIpId:(NSString*)elasticIpId
  elasticIpAddress:(NSString*)elasticIpAddress
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  @end
  
  @interface VpcUnassignSecondaryIpsRequest:JDCloudRequest
  
  /// 指定删除的secondaryIp地址
  @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  secondaryIps;
  /// networkInterface ID
  @property (strong,nonatomic,nonnull)  NSString*  networkInterfaceId;
  -(id) initWithRegion:(NSString *)regionId
  secondaryIps:(NSArray<NSString*>*)secondaryIps
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  secondaryIps:(NSArray<NSString*>*)secondaryIps
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  @end
  
  @interface VpcDescribeNetworkInterfaceRequest:JDCloudRequest
  
  /// networkInterface ID
  @property (strong,nonatomic,nonnull)  NSString*  networkInterfaceId;
  -(id) initWithRegion:(NSString *)regionId
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  @end
  
  @interface VpcModifyNetworkInterfaceRequest:JDCloudRequest
  
  /// 弹性网卡名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”，不允许为空且不超过32字符
  @property (strong,nonatomic,nonnull)  NSString*  networkInterfaceName;
  /// 描述,允许输入UTF-8编码下的全部字符，不超过256字符
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  /// 以覆盖原有安全组的方式更新的安全组。如果更新安全组ID列表，最多5个安全组
  @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  securityGroups;
  /// networkInterface ID
  @property (strong,nonatomic,nonnull)  NSString*  networkInterfaceId;
  -(id) initWithRegion:(NSString *)regionId
  networkInterfaceName:(NSString*)networkInterfaceName
  descriptionValue:(NSString*)descriptionValue
  securityGroups:(NSArray<NSString*>*)securityGroups
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  networkInterfaceName:(NSString*)networkInterfaceName
  descriptionValue:(NSString*)descriptionValue
  securityGroups:(NSArray<NSString*>*)securityGroups
  networkInterfaceId:(NSString*)networkInterfaceId;
  
  @end
  
  @interface VpcDescribeSubnetRequest:JDCloudRequest
  
  /// Subnet ID
  @property (strong,nonatomic,nonnull)  NSString*  subnetId;
  -(id) initWithRegion:(NSString *)regionId
  subnetId:(NSString*)subnetId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  subnetId:(NSString*)subnetId;
  
  @end
  
  @interface VpcCreateSubnetResult : NSObject
  /// 子网ID
   @property (strong,nonatomic,nonnull)  NSString*  subnetId;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithSubnetId:(NSString*) subnetId;
  @end
  
  @interface VpcDeleteSubnetRequest:JDCloudRequest
  
  /// Subnet ID
  @property (strong,nonatomic,nonnull)  NSString*  subnetId;
  -(id) initWithRegion:(NSString *)regionId
  subnetId:(NSString*)subnetId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  subnetId:(NSString*)subnetId;
  
  @end
  
  @interface VpcCreateSubnetRequest:JDCloudRequest
  
  /// 子网所属vpc的Id
  @property (strong,nonatomic,nonnull)  NSString*  vpcId;
  /// 子网名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”，不允许为空且不超过32字符。
  @property (strong,nonatomic,nonnull)  NSString*  subnetName;
  /// 子网网段，vpc内子网网段不能重叠，cidr的取值范围：10.0.0.0/8、172.16.0.0/12和192.168.0.0/16及它们包含的子网，且子网掩码长度为16-28之间，如果vpc含有cidr，则必须为vpc所在cidr的子网
  @property (strong,nonatomic,nonnull)  NSString*  addressPrefix;
  /// 子网关联的路由表Id, 默认为vpc的默认路由表
  @property (strong,nonatomic,nonnull)  NSString*  routeTableId;
  /// 子网描述信息,允许输入UTF-8编码下的全部字符，不超过256字符。
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  -(id) initWithRegion:(NSString *)regionId
  vpcId:(NSString*)vpcId
  subnetName:(NSString*)subnetName
  addressPrefix:(NSString*)addressPrefix
  routeTableId:(NSString*)routeTableId
  descriptionValue:(NSString*)descriptionValue;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  vpcId:(NSString*)vpcId
  subnetName:(NSString*)subnetName
  addressPrefix:(NSString*)addressPrefix
  routeTableId:(NSString*)routeTableId
  descriptionValue:(NSString*)descriptionValue;
  
  @end
  
  @interface VpcModifySubnetRequest:JDCloudRequest
  
  /// 子网名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”，不允许为空且不超过32字符。
  @property (strong,nonatomic,nonnull)  NSString*  subnetName;
  /// 子网描述信息，允许输入UTF-8编码下的全部字符，不超过256字符。
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  /// Subnet ID
  @property (strong,nonatomic,nonnull)  NSString*  subnetId;
  -(id) initWithRegion:(NSString *)regionId
  subnetName:(NSString*)subnetName
  descriptionValue:(NSString*)descriptionValue
  subnetId:(NSString*)subnetId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  subnetName:(NSString*)subnetName
  descriptionValue:(NSString*)descriptionValue
  subnetId:(NSString*)subnetId;
  
  @end
  
  @interface VpcRemoveNetworkSecurityGroupRulesRequest:JDCloudRequest
  
  /// 安全组规则Id列表
  @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  ruleIds;
  /// NetworkSecurityGroup ID
  @property (strong,nonatomic,nonnull)  NSString*  networkSecurityGroupId;
  -(id) initWithRegion:(NSString *)regionId
  ruleIds:(NSArray<NSString*>*)ruleIds
  networkSecurityGroupId:(NSString*)networkSecurityGroupId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  ruleIds:(NSArray<NSString*>*)ruleIds
  networkSecurityGroupId:(NSString*)networkSecurityGroupId;
  
  @end
  
  @interface VpcDeleteNetworkSecurityGroupRequest:JDCloudRequest
  
  /// NetworkSecurityGroup ID
  @property (strong,nonatomic,nonnull)  NSString*  networkSecurityGroupId;
  -(id) initWithRegion:(NSString *)regionId
  networkSecurityGroupId:(NSString*)networkSecurityGroupId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  networkSecurityGroupId:(NSString*)networkSecurityGroupId;
  
  @end
  
  @interface VpcCreateNetworkSecurityGroupRequest:JDCloudRequest
  
  /// 私有网络ID
  @property (strong,nonatomic,nonnull)  NSString*  vpcId;
  /// 安全组名称，只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”，不允许为空且不超过32字符。
  @property (strong,nonatomic,nonnull)  NSString*  networkSecurityGroupName;
  /// 描述,​ 允许输入UTF-8编码下的全部字符，不超过256字符
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  -(id) initWithRegion:(NSString *)regionId
  vpcId:(NSString*)vpcId
  networkSecurityGroupName:(NSString*)networkSecurityGroupName
  descriptionValue:(NSString*)descriptionValue;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  vpcId:(NSString*)vpcId
  networkSecurityGroupName:(NSString*)networkSecurityGroupName
  descriptionValue:(NSString*)descriptionValue;
  
  @end
  
  @interface VpcCreateNetworkSecurityGroupResult : NSObject
  /// 安全组ID
   @property (strong,nonatomic,nonnull)  NSString*  networkSecurityGroupId;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithNetworkSecurityGroupId:(NSString*) networkSecurityGroupId;
  @end
  
  @interface VpcDescribeNetworkSecurityGroupRequest:JDCloudRequest
  
  /// NetworkSecurityGroup ID
  @property (strong,nonatomic,nonnull)  NSString*  networkSecurityGroupId;
  -(id) initWithRegion:(NSString *)regionId
  networkSecurityGroupId:(NSString*)networkSecurityGroupId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  networkSecurityGroupId:(NSString*)networkSecurityGroupId;
  
  @end
  
  @interface VpcModifyNetworkSecurityGroupRequest:JDCloudRequest
  
  /// 安全组的名字。名称取值范围：1-32个中文、英文大小写的字母、数字和下划线分隔符
  @property (strong,nonatomic,nonnull)  NSString*  networkSecurityGroupName;
  /// 安全组的描述，取值范围：0-256个UTF-8编码下的全部字符
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  /// NetworkSecurityGroup ID
  @property (strong,nonatomic,nonnull)  NSString*  networkSecurityGroupId;
  -(id) initWithRegion:(NSString *)regionId
  networkSecurityGroupName:(NSString*)networkSecurityGroupName
  descriptionValue:(NSString*)descriptionValue
  networkSecurityGroupId:(NSString*)networkSecurityGroupId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  networkSecurityGroupName:(NSString*)networkSecurityGroupName
  descriptionValue:(NSString*)descriptionValue
  networkSecurityGroupId:(NSString*)networkSecurityGroupId;
  
  @end
  
  @interface VpcDescribeNetworkAclRequest:JDCloudRequest
  
  /// networkAclId ID
  @property (strong,nonatomic,nonnull)  NSString*  networkAclId;
  -(id) initWithRegion:(NSString *)regionId
  networkAclId:(NSString*)networkAclId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  networkAclId:(NSString*)networkAclId;
  
  @end
  
  @interface VpcCreateNetworkAclResult : NSObject
  /// networkAcl ID
   @property (strong,nonatomic,nonnull)  NSString*  networkAclId;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithNetworkAclId:(NSString*) networkAclId;
  @end
  
  @interface VpcDisassociateNetworkAclRequest:JDCloudRequest
  
  /// networkAcl要解绑的子网ID
  @property (strong,nonatomic,nonnull)  NSString*  subnetId;
  /// networkAclId ID
  @property (strong,nonatomic,nonnull)  NSString*  networkAclId;
  -(id) initWithRegion:(NSString *)regionId
  subnetId:(NSString*)subnetId
  networkAclId:(NSString*)networkAclId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  subnetId:(NSString*)subnetId
  networkAclId:(NSString*)networkAclId;
  
  @end
  
  @interface VpcCreateNetworkAclRequest:JDCloudRequest
  
  /// 私有网络id
  @property (strong,nonatomic,nonnull)  NSString*  vpcId;
  /// networkAcl名称
  @property (strong,nonatomic,nonnull)  NSString*  networkAclName;
  /// 描述,允许输入UTF-8编码下的全部字符，不超过256字符
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  -(id) initWithRegion:(NSString *)regionId
  vpcId:(NSString*)vpcId
  networkAclName:(NSString*)networkAclName
  descriptionValue:(NSString*)descriptionValue;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  vpcId:(NSString*)vpcId
  networkAclName:(NSString*)networkAclName
  descriptionValue:(NSString*)descriptionValue;
  
  @end
  
  @interface VpcRemoveNetworkAclRulesRequest:JDCloudRequest
  
  /// networkAcl规则ID列表
  @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  ruleIds;
  /// networkAclId ID
  @property (strong,nonatomic,nonnull)  NSString*  networkAclId;
  -(id) initWithRegion:(NSString *)regionId
  ruleIds:(NSArray<NSString*>*)ruleIds
  networkAclId:(NSString*)networkAclId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  ruleIds:(NSArray<NSString*>*)ruleIds
  networkAclId:(NSString*)networkAclId;
  
  @end
  
  @interface VpcModifyNetworkAclRequest:JDCloudRequest
  
  /// networkAcl名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”，不允许为空且不超过32字符
  @property (strong,nonatomic,nonnull)  NSString*  networkAclName;
  /// 描述,允许输入UTF-8编码下的全部字符，不超过256字符
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  /// networkAclId ID
  @property (strong,nonatomic,nonnull)  NSString*  networkAclId;
  -(id) initWithRegion:(NSString *)regionId
  networkAclName:(NSString*)networkAclName
  descriptionValue:(NSString*)descriptionValue
  networkAclId:(NSString*)networkAclId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  networkAclName:(NSString*)networkAclName
  descriptionValue:(NSString*)descriptionValue
  networkAclId:(NSString*)networkAclId;
  
  @end
  
  @interface VpcDeleteNetworkAclRequest:JDCloudRequest
  
  /// networkAclId ID
  @property (strong,nonatomic,nonnull)  NSString*  networkAclId;
  -(id) initWithRegion:(NSString *)regionId
  networkAclId:(NSString*)networkAclId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  networkAclId:(NSString*)networkAclId;
  
  @end
  
  @interface VpcAssociateNetworkAclRequest:JDCloudRequest
  
  /// networkAcl要绑定的子网ID列表, subnet已被其他networkAcl绑定时，自动解绑
  @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  subnetIds;
  /// networkAclId ID
  @property (strong,nonatomic,nonnull)  NSString*  networkAclId;
  -(id) initWithRegion:(NSString *)regionId
  subnetIds:(NSArray<NSString*>*)subnetIds
  networkAclId:(NSString*)networkAclId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  subnetIds:(NSArray<NSString*>*)subnetIds
  networkAclId:(NSString*)networkAclId;
  
  @end
  
  @interface VpcDescribeElasticIpRequest:JDCloudRequest
  
  /// ElasticIp ID
  @property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
  -(id) initWithRegion:(NSString *)regionId
  elasticIpId:(NSString*)elasticIpId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  elasticIpId:(NSString*)elasticIpId;
  
  @end
  
  @interface VpcDeleteElasticIpRequest:JDCloudRequest
  
  /// ElasticIp ID
  @property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
  -(id) initWithRegion:(NSString *)regionId
  elasticIpId:(NSString*)elasticIpId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  elasticIpId:(NSString*)elasticIpId;
  
  @end
  
  @interface VpcModifyElasticIpRequest:JDCloudRequest
  
  /// 弹性公网IP的限速（单位：Mbps），取值范围为[1-200]
  @property (strong,nonatomic,nonnull)  NSNumber*  bandwidthMbps;
  /// ElasticIp ID
  @property (strong,nonatomic,nonnull)  NSString*  elasticIpId;
  -(id) initWithRegion:(NSString *)regionId
  bandwidthMbps:(NSNumber*)bandwidthMbps
  elasticIpId:(NSString*)elasticIpId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  bandwidthMbps:(NSNumber*)bandwidthMbps
  elasticIpId:(NSString*)elasticIpId;
  
  @end
  
  @interface VpcCreateElasticIpsResult : NSObject
  /// 弹性IP ID
   @property (strong,nonatomic,nonnull)  NSArray<NSString*>*  elasticIpIds;
  /// 请求ID
   @property (strong,nonatomic,nonnull)  NSString*  requestId;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithElasticIpIds:(NSArray<NSString*>*) elasticIpIds
  
      requestId:(NSString*)requestId;
  @end
  
  @interface VpcModifyVpcPeeringRequest:JDCloudRequest
  
  /// VpcPeering的名字,不为空。名称取值范围：1-32个中文、英文大小写的字母、数字和下划线分隔符
  @property (strong,nonatomic,nonnull)  NSString*  vpcPeeringName;
  /// VpcPeering 描述，取值范围：0-256个中文、英文大小写的字母、数字和下划线分隔符
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  /// vpcPeeringId ID
  @property (strong,nonatomic,nonnull)  NSString*  vpcPeeringId;
  -(id) initWithRegion:(NSString *)regionId
  vpcPeeringName:(NSString*)vpcPeeringName
  descriptionValue:(NSString*)descriptionValue
  vpcPeeringId:(NSString*)vpcPeeringId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  vpcPeeringName:(NSString*)vpcPeeringName
  descriptionValue:(NSString*)descriptionValue
  vpcPeeringId:(NSString*)vpcPeeringId;
  
  @end
  
  @interface VpcCreateVpcPeeringRequest:JDCloudRequest
  
  /// VpcPeering的名字,不为空。名称取值范围：1-32个中文、英文大小写的字母、数字和下划线分隔符
  @property (strong,nonatomic,nonnull)  NSString*  vpcPeeringName;
  /// VpcPeering本端Vpc的Id
  @property (strong,nonatomic,nonnull)  NSString*  vpcId;
  /// VpcPeering对端Vpc的Id
  @property (strong,nonatomic,nonnull)  NSString*  remoteVpcId;
  /// VpcPeering 描述，取值范围：0-256个中文、英文大小写的字母、数字和下划线分隔符
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  -(id) initWithRegion:(NSString *)regionId
  vpcPeeringName:(NSString*)vpcPeeringName
  vpcId:(NSString*)vpcId
  remoteVpcId:(NSString*)remoteVpcId
  descriptionValue:(NSString*)descriptionValue;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  vpcPeeringName:(NSString*)vpcPeeringName
  vpcId:(NSString*)vpcId
  remoteVpcId:(NSString*)remoteVpcId
  descriptionValue:(NSString*)descriptionValue;
  
  @end
  
  @interface VpcDescribeVpcPeeringRequest:JDCloudRequest
  
  /// vpcPeeringId ID
  @property (strong,nonatomic,nonnull)  NSString*  vpcPeeringId;
  -(id) initWithRegion:(NSString *)regionId
  vpcPeeringId:(NSString*)vpcPeeringId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  vpcPeeringId:(NSString*)vpcPeeringId;
  
  @end
  
  @interface VpcDeleteVpcPeeringRequest:JDCloudRequest
  
  /// vpcPeeringId ID
  @property (strong,nonatomic,nonnull)  NSString*  vpcPeeringId;
  -(id) initWithRegion:(NSString *)regionId
  vpcPeeringId:(NSString*)vpcPeeringId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  vpcPeeringId:(NSString*)vpcPeeringId;
  
  @end
  
  @interface VpcDeleteVpcRequest:JDCloudRequest
  
  /// Vpc ID
  @property (strong,nonatomic,nonnull)  NSString*  vpcId;
  -(id) initWithRegion:(NSString *)regionId
  vpcId:(NSString*)vpcId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  vpcId:(NSString*)vpcId;
  
  @end
  
  @interface VpcDescribeVpcRequest:JDCloudRequest
  
  /// Vpc ID
  @property (strong,nonatomic,nonnull)  NSString*  vpcId;
  -(id) initWithRegion:(NSString *)regionId
  vpcId:(NSString*)vpcId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  vpcId:(NSString*)vpcId;
  
  @end
  
  @interface VpcCreateVpcRequest:JDCloudRequest
  
  /// 私有网络名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”，不允许为空且不超过32字符。
  @property (strong,nonatomic,nonnull)  NSString*  vpcName;
  /// 如果为空，则不限制网段，如果不为空，10.0.0.0/8、172.16.0.0/12和192.168.0.0/16及它们包含的子网，且子网掩码长度为16-28之间
  @property (strong,nonatomic,nonnull)  NSString*  addressPrefix;
  /// vpc描述，允许输入UTF-8编码下的全部字符，不超过256字符。
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  -(id) initWithRegion:(NSString *)regionId
  vpcName:(NSString*)vpcName
  addressPrefix:(NSString*)addressPrefix
  descriptionValue:(NSString*)descriptionValue;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  vpcName:(NSString*)vpcName
  addressPrefix:(NSString*)addressPrefix
  descriptionValue:(NSString*)descriptionValue;
  
  @end
  
  @interface VpcModifyVpcRequest:JDCloudRequest
  
  /// 私有网络名称,只允许输入中文、数字、大小写字母、英文下划线“_”及中划线“-”，不允许为空且不超过32字符。
  @property (strong,nonatomic,nonnull)  NSString*  vpcName;
  /// vpc描述，允许输入UTF-8编码下的全部字符，不超过256字符。
  @property (strong,nonatomic,nonnull)  NSString*  descriptionValue;
  /// Vpc ID
  @property (strong,nonatomic,nonnull)  NSString*  vpcId;
  -(id) initWithRegion:(NSString *)regionId
  vpcName:(NSString*)vpcName
  descriptionValue:(NSString*)descriptionValue
  vpcId:(NSString*)vpcId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  vpcName:(NSString*)vpcName
  descriptionValue:(NSString*)descriptionValue
  vpcId:(NSString*)vpcId;
  
  @end
  
  @interface VpcCreateVpcResult : NSObject
  /// 私有网络ID
   @property (strong,nonatomic,nonnull)  NSString*  vpcId;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithVpcId:(NSString*) vpcId;
  @end
  
  @interface VpcRemoveRouteTableRulesResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcRemoveRouteTableRulesResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcRemoveRouteTableRulesResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcRemoveRouteTableRulesResult*) result;
  @end
  
  @interface VpcDescribeRouteTablesRequest:JDCloudRequest
  
  /// 页码, 默认为1, 取值范围：[1,∞), 页码超过总页数时, 显示最后一页
  @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
  /// 分页大小，默认为20，取值范围：[10,100]
  @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
  /// routeTableIds - 路由表ID列表，支持多个
     /// routeTableNames - 路由表名称列表，支持多个
     /// vpcId	- 路由表所属vpc Id，支持单个
     /// 
  @property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
  -(id) initWithRegion:(NSString *)regionId
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  @end
  
  @interface VpcAddRouteTableRulesRequest:JDCloudRequest
  
  /// 安全组规则信息
  @property (strong,nonatomic,nonnull)  NSArray<AddRouteTableRules*>*  routeTableRuleSpecs;
  /// RouteTable ID
  @property (strong,nonatomic,nonnull)  NSString*  routeTableId;
  -(id) initWithRegion:(NSString *)regionId
  routeTableRuleSpecs:(NSArray<AddRouteTableRules*>*)routeTableRuleSpecs
  routeTableId:(NSString*)routeTableId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  routeTableRuleSpecs:(NSArray<AddRouteTableRules*>*)routeTableRuleSpecs
  routeTableId:(NSString*)routeTableId;
  
  @end
  
  @interface VpcModifyRouteTableRulesResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDescribeRouteTablesResult : NSObject
  /// RouteTables
   @property (strong,nonatomic,nonnull)  NSArray<RouteTable*>*  routeTables;
  /// 总数量
   @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithRouteTables:(NSArray<RouteTable*>*) routeTables
  
      totalCount:(NSNumber*)totalCount;
  @end
  
  @interface VpcDescribeRouteTableResult : NSObject
  /// 路由表资源信息
   @property (strong,nonatomic,nonnull)  RouteTable*  routeTable;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithRouteTable:(RouteTable*) routeTable;
  @end
  
  @interface VpcAssociateRouteTableResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcModifyRouteTableRulesResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcModifyRouteTableRulesResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcModifyRouteTableRulesResult*) result;
  @end
  
  @interface VpcModifyRouteTableResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcModifyRouteTableRulesRequest:JDCloudRequest
  
  /// 路由表规则信息
  @property (strong,nonatomic,nonnull)  NSArray<ModifyRouteTableRules*>*  modifyRouteTableRuleSpecs;
  /// RouteTable ID
  @property (strong,nonatomic,nonnull)  NSString*  routeTableId;
  -(id) initWithRegion:(NSString *)regionId
  modifyRouteTableRuleSpecs:(NSArray<ModifyRouteTableRules*>*)modifyRouteTableRuleSpecs
  routeTableId:(NSString*)routeTableId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  modifyRouteTableRuleSpecs:(NSArray<ModifyRouteTableRules*>*)modifyRouteTableRuleSpecs
  routeTableId:(NSString*)routeTableId;
  
  @end
  
  @interface VpcAddRouteTableRulesResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDisassociateRouteTableResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDescribeRouteTableResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeRouteTableResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeRouteTableResult*) result;
  @end
  
  @interface VpcAssociateRouteTableResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcAssociateRouteTableResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcAssociateRouteTableResult*) result;
  @end
  
  @interface VpcDescribeRouteTablesResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeRouteTablesResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeRouteTablesResult*) result;
  @end
  
  @interface VpcModifyRouteTableResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcModifyRouteTableResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcModifyRouteTableResult*) result;
  @end
  
  @interface VpcCreateRouteTableResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcCreateRouteTableResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcCreateRouteTableResult*) result;
  @end
  
  @interface VpcDisassociateRouteTableResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDisassociateRouteTableResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDisassociateRouteTableResult*) result;
  @end
  
  @interface VpcDeleteRouteTableResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDeleteRouteTableResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDeleteRouteTableResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDeleteRouteTableResult*) result;
  @end
  
  @interface VpcAddRouteTableRulesResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcAddRouteTableRulesResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcAddRouteTableRulesResult*) result;
  @end
  
  @interface VpcDescribeQuotaResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeQuotaResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeQuotaResult*) result;
  @end
  
  @interface VpcUnassignSecondaryIpsResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDescribeNetworkInterfacesResult : NSObject
  /// NetworkInterfaces
   @property (strong,nonatomic,nonnull)  NSArray<NetworkInterface*>*  networkInterfaces;
  /// 总数量
   @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithNetworkInterfaces:(NSArray<NetworkInterface*>*) networkInterfaces
  
      totalCount:(NSNumber*)totalCount;
  @end
  
  @interface VpcModifyNetworkInterfaceResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcModifyNetworkInterfaceResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcModifyNetworkInterfaceResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcModifyNetworkInterfaceResult*) result;
  @end
  
  @interface VpcDeleteNetworkInterfaceResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDeleteNetworkInterfaceResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDeleteNetworkInterfaceResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDeleteNetworkInterfaceResult*) result;
  @end
  
  @interface VpcDescribeNetworkInterfaceResult : NSObject
  /// networkInterface资源信息
   @property (strong,nonatomic,nonnull)  NetworkInterface*  networkInterface;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithNetworkInterface:(NetworkInterface*) networkInterface;
  @end
  
  @interface VpcDescribeNetworkInterfaceResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeNetworkInterfaceResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeNetworkInterfaceResult*) result;
  @end
  
  @interface VpcAssociateElasticIpResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcAssociateElasticIpResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcAssociateElasticIpResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcAssociateElasticIpResult*) result;
  @end
  
  @interface VpcAssignSecondaryIpsResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcAssignSecondaryIpsResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcAssignSecondaryIpsResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcAssignSecondaryIpsResult*) result;
  @end
  
  @interface VpcUnassignSecondaryIpsResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcUnassignSecondaryIpsResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcUnassignSecondaryIpsResult*) result;
  @end
  
  @interface VpcDescribeNetworkInterfacesResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeNetworkInterfacesResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeNetworkInterfacesResult*) result;
  @end
  
  @interface VpcCreateNetworkInterfaceResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcCreateNetworkInterfaceResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcCreateNetworkInterfaceResult*) result;
  @end
  
  @interface VpcDisassociateElasticIpResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDescribeNetworkInterfacesRequest:JDCloudRequest
  
  /// 页码, 默认为1, 取值范围：[1,∞), 页码超过总页数时, 显示最后一页
  @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
  /// 分页大小，默认为20，取值范围：[10,100]
  @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
  /// networkInterfaceIds - 弹性网卡ID列表，支持多个
     /// networkInterfaceNames - 弹性网卡名称列表，支持多个
     /// vpcId - 弹性网卡所属vpc Id，支持单个
     /// subnetId	- 弹性网卡所属子网Id，支持单个
     /// role - 网卡角色，取值范围：Primary（主网卡）、Secondary（辅助网卡），支持单个
     /// 
  @property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
  -(id) initWithRegion:(NSString *)regionId
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  @end
  
  @interface VpcDisassociateElasticIpResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDisassociateElasticIpResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDisassociateElasticIpResult*) result;
  @end
  
  @interface VpcDeleteSubnetResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDescribeSubnetsResult : NSObject
  /// Subnets
   @property (strong,nonatomic,nonnull)  NSArray<Subnet*>*  subnets;
  /// 总数量
   @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithSubnets:(NSArray<Subnet*>*) subnets
  
      totalCount:(NSNumber*)totalCount;
  @end
  
  @interface VpcDescribeSubnetsResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeSubnetsResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeSubnetsResult*) result;
  @end
  
  @interface VpcDescribeSubnetResult : NSObject
  /// 子网资源信息
   @property (strong,nonatomic,nonnull)  Subnet*  subnet;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithSubnet:(Subnet*) subnet;
  @end
  
  @interface VpcDescribeSubnetResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeSubnetResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeSubnetResult*) result;
  @end
  
  @interface VpcDeleteSubnetResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDeleteSubnetResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDeleteSubnetResult*) result;
  @end
  
  @interface VpcDescribeSubnetsRequest:JDCloudRequest
  
  /// 页码, 默认为1, 取值范围：[1,∞), 页码超过总页数时, 显示最后一页
  @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
  /// 分页大小，默认为20，取值范围：[10,100]
  @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
  /// subnetIds - subnet ID列表，支持多个
     /// subnetNames - subnet名称列表，支持多个
     /// routeTableId	- 子网关联路由表Id，支持单个
     /// aclId - 子网关联acl Id，支持单个
     /// vpcId - 子网所属VPC Id，支持单个
     /// 
  @property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
  -(id) initWithRegion:(NSString *)regionId
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  @end
  
  @interface VpcModifySubnetResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcCreateSubnetResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcCreateSubnetResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcCreateSubnetResult*) result;
  @end
  
  @interface VpcModifySubnetResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcModifySubnetResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcModifySubnetResult*) result;
  @end
  
  @interface VpcDescribeNetworkSecurityGroupsResult : NSObject
  /// NetworkSecurityGroups
   @property (strong,nonatomic,nonnull)  NSArray<NetworkSecurityGroup*>*  networkSecurityGroups;
  /// 总数量
   @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithNetworkSecurityGroups:(NSArray<NetworkSecurityGroup*>*) networkSecurityGroups
  
      totalCount:(NSNumber*)totalCount;
  @end
  
  @interface VpcDescribeNetworkSecurityGroupResult : NSObject
  /// 安全组资源信息
   @property (strong,nonatomic,nonnull)  NetworkSecurityGroup*  networkSecurityGroup;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithNetworkSecurityGroup:(NetworkSecurityGroup*) networkSecurityGroup;
  @end
  
  @interface VpcAddNetworkSecurityGroupRulesResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcAddNetworkSecurityGroupRulesResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcAddNetworkSecurityGroupRulesResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcAddNetworkSecurityGroupRulesResult*) result;
  @end
  
  @interface VpcDescribeNetworkSecurityGroupsResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeNetworkSecurityGroupsResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeNetworkSecurityGroupsResult*) result;
  @end
  
  @interface VpcModifyNetworkSecurityGroupRulesResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcModifyNetworkSecurityGroupRulesResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcModifyNetworkSecurityGroupRulesResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcModifyNetworkSecurityGroupRulesResult*) result;
  @end
  
  @interface VpcCreateNetworkSecurityGroupResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcCreateNetworkSecurityGroupResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcCreateNetworkSecurityGroupResult*) result;
  @end
  
  @interface VpcAddNetworkSecurityGroupRulesRequest:JDCloudRequest
  
  /// 安全组规则信息
  @property (strong,nonatomic,nonnull)  NSArray<AddSecurityGroupRules*>*  networkSecurityGroupRuleSpecs;
  /// NetworkSecurityGroup ID
  @property (strong,nonatomic,nonnull)  NSString*  networkSecurityGroupId;
  -(id) initWithRegion:(NSString *)regionId
  networkSecurityGroupRuleSpecs:(NSArray<AddSecurityGroupRules*>*)networkSecurityGroupRuleSpecs
  networkSecurityGroupId:(NSString*)networkSecurityGroupId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  networkSecurityGroupRuleSpecs:(NSArray<AddSecurityGroupRules*>*)networkSecurityGroupRuleSpecs
  networkSecurityGroupId:(NSString*)networkSecurityGroupId;
  
  @end
  
  @interface VpcModifyNetworkSecurityGroupRulesRequest:JDCloudRequest
  
  /// 安全组规则信息
  @property (strong,nonatomic,nonnull)  NSArray<ModifySecurityGroupRules*>*  modifySecurityGroupRuleSpecs;
  /// NetworkSecurityGroup ID
  @property (strong,nonatomic,nonnull)  NSString*  networkSecurityGroupId;
  -(id) initWithRegion:(NSString *)regionId
  modifySecurityGroupRuleSpecs:(NSArray<ModifySecurityGroupRules*>*)modifySecurityGroupRuleSpecs
  networkSecurityGroupId:(NSString*)networkSecurityGroupId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  modifySecurityGroupRuleSpecs:(NSArray<ModifySecurityGroupRules*>*)modifySecurityGroupRuleSpecs
  networkSecurityGroupId:(NSString*)networkSecurityGroupId;
  
  @end
  
  @interface VpcRemoveNetworkSecurityGroupRulesResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcRemoveNetworkSecurityGroupRulesResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcRemoveNetworkSecurityGroupRulesResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcRemoveNetworkSecurityGroupRulesResult*) result;
  @end
  
  @interface VpcDescribeNetworkSecurityGroupsRequest:JDCloudRequest
  
  /// 页码, 默认为1, 取值范围：[1,∞), 页码超过总页数时, 显示最后一页
  @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
  /// 分页大小，默认为20，取值范围：[10,100]
  @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
  /// networkSecurityGroupIds - 安全组ID列表，支持多个
     /// networkSecurityGroupNames - 安全组名称列表，支持多个
     /// vpcId	- 安全组所属vpc Id，支持单个
     /// 
  @property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
  -(id) initWithRegion:(NSString *)regionId
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  @end
  
  @interface VpcDeleteNetworkSecurityGroupResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcModifyNetworkSecurityGroupResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDeleteNetworkSecurityGroupResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDeleteNetworkSecurityGroupResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDeleteNetworkSecurityGroupResult*) result;
  @end
  
  @interface VpcModifyNetworkSecurityGroupResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcModifyNetworkSecurityGroupResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcModifyNetworkSecurityGroupResult*) result;
  @end
  
  @interface VpcDescribeNetworkSecurityGroupResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeNetworkSecurityGroupResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeNetworkSecurityGroupResult*) result;
  @end
  
  @interface VpcAddNetworkAclRulesResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcModifyNetworkAclRulesRequest:JDCloudRequest
  
  /// networkAcl规则列表
  @property (strong,nonatomic,nonnull)  NSArray<ModifyNetworkAclRuleSpec*>*  modifyNetworkAclRuleSpecs;
  /// networkAclId ID
  @property (strong,nonatomic,nonnull)  NSString*  networkAclId;
  -(id) initWithRegion:(NSString *)regionId
  modifyNetworkAclRuleSpecs:(NSArray<ModifyNetworkAclRuleSpec*>*)modifyNetworkAclRuleSpecs
  networkAclId:(NSString*)networkAclId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  modifyNetworkAclRuleSpecs:(NSArray<ModifyNetworkAclRuleSpec*>*)modifyNetworkAclRuleSpecs
  networkAclId:(NSString*)networkAclId;
  
  @end
  
  @interface VpcDescribeNetworkAclResult : NSObject
  /// networkAcl资源信息
   @property (strong,nonatomic,nonnull)  NetworkAcl*  networkAcl;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithNetworkAcl:(NetworkAcl*) networkAcl;
  @end
  
  @interface VpcDeleteNetworkAclResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDeleteNetworkAclResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDeleteNetworkAclResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDeleteNetworkAclResult*) result;
  @end
  
  @interface VpcDescribeNetworkAclsResult : NSObject
  /// NetworkAcls
   @property (strong,nonatomic,nonnull)  NSArray<NetworkAcl*>*  networkAcls;
  /// 总数量
   @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithNetworkAcls:(NSArray<NetworkAcl*>*) networkAcls
  
      totalCount:(NSNumber*)totalCount;
  @end
  
  @interface VpcDescribeNetworkAclsResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeNetworkAclsResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeNetworkAclsResult*) result;
  @end
  
  @interface VpcModifyNetworkAclRulesResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDescribeNetworkAclResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeNetworkAclResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeNetworkAclResult*) result;
  @end
  
  @interface VpcAssociateNetworkAclResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcAssociateNetworkAclResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcAssociateNetworkAclResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcAssociateNetworkAclResult*) result;
  @end
  
  @interface VpcModifyNetworkAclResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcAddNetworkAclRulesResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcAddNetworkAclRulesResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcAddNetworkAclRulesResult*) result;
  @end
  
  @interface VpcCreateNetworkAclResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcCreateNetworkAclResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcCreateNetworkAclResult*) result;
  @end
  
  @interface VpcDisassociateNetworkAclResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDisassociateNetworkAclResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDisassociateNetworkAclResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDisassociateNetworkAclResult*) result;
  @end
  
  @interface VpcModifyNetworkAclResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcModifyNetworkAclResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcModifyNetworkAclResult*) result;
  @end
  
  @interface VpcRemoveNetworkAclRulesResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcModifyNetworkAclRulesResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcModifyNetworkAclRulesResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcModifyNetworkAclRulesResult*) result;
  @end
  
  @interface VpcRemoveNetworkAclRulesResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcRemoveNetworkAclRulesResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcRemoveNetworkAclRulesResult*) result;
  @end
  
  @interface VpcDescribeNetworkAclsRequest:JDCloudRequest
  
  /// 页码, 默认为1, 取值范围：[1,∞), 页码超过总页数时, 显示最后一页
  @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
  /// 分页大小，默认为20，取值范围：[10,100]
  @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
  /// networkAclIds - 弹性网卡ID列表，支持多个
     /// networkAclNames - 弹性网卡名称列表，支持多个
     /// vpcId - 弹性网卡所属vpc Id，支持单个
     /// 
  @property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
  -(id) initWithRegion:(NSString *)regionId
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  @end
  
  @interface VpcAddNetworkAclRulesRequest:JDCloudRequest
  
  /// networkAcl规则列表
  @property (strong,nonatomic,nonnull)  NSArray<AddNetworkAclRuleSpec*>*  networkAclRuleSpecs;
  /// networkAclId ID
  @property (strong,nonatomic,nonnull)  NSString*  networkAclId;
  -(id) initWithRegion:(NSString *)regionId
  networkAclRuleSpecs:(NSArray<AddNetworkAclRuleSpec*>*)networkAclRuleSpecs
  networkAclId:(NSString*)networkAclId;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  networkAclRuleSpecs:(NSArray<AddNetworkAclRuleSpec*>*)networkAclRuleSpecs
  networkAclId:(NSString*)networkAclId;
  
  @end
  
  @interface VpcModifyElasticIpResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDescribeElasticIpsResult : NSObject
  /// ElasticIps
   @property (strong,nonatomic,nonnull)  NSArray<ElasticIp*>*  elasticIps;
  /// 总数量
   @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithElasticIps:(NSArray<ElasticIp*>*) elasticIps
  
      totalCount:(NSNumber*)totalCount;
  @end
  
  @interface VpcDeleteElasticIpResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDeleteElasticIpResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDeleteElasticIpResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDeleteElasticIpResult*) result;
  @end
  
  @interface VpcDescribeElasticIpResult : NSObject
  /// elasticIp资源信息
   @property (strong,nonatomic,nonnull)  ElasticIp*  elasticIp;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithElasticIp:(ElasticIp*) elasticIp;
  @end
  
  @interface VpcDescribeElasticIpResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeElasticIpResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeElasticIpResult*) result;
  @end
  
  @interface VpcDescribeElasticIpsRequest:JDCloudRequest
  
  /// 页码, 默认为1, 取值范围：[1,∞), 页码超过总页数时, 显示最后一页
  @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
  /// 分页大小，默认为20，取值范围：[10,100]
  @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
  /// elasticIpIds - elasticip id数组条件，支持多个
     /// elasticIpAddress - eip的IP地址，支持单个
     /// chargeStatus	- eip的费用支付状态,normal(正常状态) or overdue(预付费已到期) or arrear(欠费状态)，支持单个
     /// 
  @property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
  -(id) initWithRegion:(NSString *)regionId
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  @end
  
  @interface VpcDescribeElasticIpsResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeElasticIpsResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeElasticIpsResult*) result;
  @end
  
  @interface VpcModifyElasticIpResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcModifyElasticIpResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcModifyElasticIpResult*) result;
  @end
  
  @interface VpcCreateElasticIpsResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcCreateElasticIpsResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcCreateElasticIpsResult*) result;
  @end
  
  @interface VpcCreateElasticIpsRequest:JDCloudRequest
  
  /// 购买弹性ip数量；取值范围：[1,100]
  @property (strong,nonatomic,nonnull)  NSNumber*  maxCount;
  /// 指定弹性ip地址进行创建，当申请创建多个弹性ip时，必须为空
  @property (strong,nonatomic,nonnull)  NSString*  elasticIpAddress;
  /// 弹性ip规格
  @property (strong,nonatomic,nonnull)  ElasticIpSpec*  elasticIpSpec;
  -(id) initWithRegion:(NSString *)regionId
  maxCount:(NSNumber*)maxCount
  elasticIpAddress:(NSString*)elasticIpAddress
  elasticIpSpec:(ElasticIpSpec*)elasticIpSpec;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  maxCount:(NSNumber*)maxCount
  elasticIpAddress:(NSString*)elasticIpAddress
  elasticIpSpec:(ElasticIpSpec*)elasticIpSpec;
  
  @end
  
  @interface VpcCreateVpcPeeringResult : NSObject
  /// VpcPeering资源信息
   @property (strong,nonatomic,nonnull)  VpcPeering*  vpcPeering;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithVpcPeering:(VpcPeering*) vpcPeering;
  @end
  
  @interface VpcDescribeVpcPeeringResult : NSObject
  /// VpcPeering资源信息
   @property (strong,nonatomic,nonnull)  VpcPeering*  vpcPeering;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithVpcPeering:(VpcPeering*) vpcPeering;
  @end
  
  @interface VpcDescribeVpcPeeringResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeVpcPeeringResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeVpcPeeringResult*) result;
  @end
  
  @interface VpcModifyVpcPeeringResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDescribeVpcPeeringsRequest:JDCloudRequest
  
  /// 页码, 默认为1, 取值范围：[1,∞), 页码超过总页数时, 显示最后一页
  @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
  /// 分页大小，默认为20，取值范围：[10,100]
  @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
  /// vpcPeeringIds - vpcPeering ID，支持多个
     /// vpcPeeringNames - vpcPeering名称列表，支持多个
     /// vpcId	- vpcPeering本端Vpc Id，支持单个
     /// remoteVpcId - vpcPeering对端Vpc Id，支持单个
     /// 
  @property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
  -(id) initWithRegion:(NSString *)regionId
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  @end
  
  @interface VpcCreateVpcPeeringResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcCreateVpcPeeringResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcCreateVpcPeeringResult*) result;
  @end
  
  @interface VpcDeleteVpcPeeringResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDeleteVpcPeeringResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDeleteVpcPeeringResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDeleteVpcPeeringResult*) result;
  @end
  
  @interface VpcModifyVpcPeeringResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcModifyVpcPeeringResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcModifyVpcPeeringResult*) result;
  @end
  
  @interface VpcDescribeVpcPeeringsResult : NSObject
  /// VpcPeerings
   @property (strong,nonatomic,nonnull)  NSArray<VpcPeering*>*  vpcPeerings;
  /// 总数量
   @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithVpcPeerings:(NSArray<VpcPeering*>*) vpcPeerings
  
      totalCount:(NSNumber*)totalCount;
  @end
  
  @interface VpcDescribeVpcPeeringsResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeVpcPeeringsResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeVpcPeeringsResult*) result;
  @end
  
  @interface VpcDescribeVpcsRequest:JDCloudRequest
  
  /// 页码, 默认为1, 取值范围：[1,∞), 页码超过总页数时, 显示最后一页
  @property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
  /// 分页大小，默认为20，取值范围：[10,100]
  @property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
  /// vpcIds - vpc ID列表，支持多个
     /// vpcNames - vpc名称列表,支持多个
     /// 
  @property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
  -(id) initWithRegion:(NSString *)regionId
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  -(id) initWithRegion:(NSString *)regionId
               version:(NSString *)version
  pageNumber:(NSNumber*)pageNumber
  pageSize:(NSNumber*)pageSize
  filters:(NSArray<Filter*>*)filters;
  
  @end
  
  @interface VpcDescribeVpcsResult : NSObject
  /// Vpcs
   @property (strong,nonatomic,nonnull)  NSArray<Vpc*>*  vpcs;
  /// 总数量
   @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithVpcs:(NSArray<Vpc*>*) vpcs
  
      totalCount:(NSNumber*)totalCount;
  @end
  
  @interface VpcDescribeVpcResult : NSObject
  /// Vpc资源信息
   @property (strong,nonatomic,nonnull)  Vpc*  vpc;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  -(id) initWithVpc:(Vpc*) vpc;
  @end
  
  @interface VpcDescribeVpcResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeVpcResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeVpcResult*) result;
  @end
  
  @interface VpcDeleteVpcResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcDeleteVpcResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDeleteVpcResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDeleteVpcResult*) result;
  @end
  
  @interface VpcModifyVpcResult : NSObject
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  @end
  
  @interface VpcCreateVpcResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcCreateVpcResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcCreateVpcResult*) result;
  @end
  
  @interface VpcModifyVpcResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcModifyVpcResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcModifyVpcResult*) result;
  @end
  
  @interface VpcDescribeVpcsResponse : NSObject
  
  @property NSString* requestId;
  
  @property ServiceError* error;
  
  @property VpcDescribeVpcsResult* result;
  
  -(NSMutableDictionary*) dictionary;
  
  -(id) initWithDic:(NSDictionary*)dictionary;
  
  -(id) initWithRequestId:(NSString*) requestId
          error:(ServiceError*) error
          result:(VpcDescribeVpcsResult*) result;
  @end
  
  #endif /* VpcApiModel_h */
  