package com.bocloud.cmp.model;

import lombok.Data;

import java.util.Date;
import java.util.List;

/**
 * 阿里云vpc专用网络
 *
 * @author wangyu
 * @version 1.0
 * @since 2018年2月2日
 */
@Data
public class VpcModel {
    private String name;// 名称
    private String status;// 状态
    private String routerId;// 路由ID
    private String regionId;// 所属域
    private String cidr;// cidr
    private String ipv6Cidr;// ipv6Cidr
    private String vswitchIds;// 交换机ID
    private String vpcId;// 专用网络ID
    private String remark;// 描述
    private String userCidrs;// 用户cidr
    private Boolean defaultVpc;// 是否为默认vpc
    private Date gmtCreate;
    private String dnsServer;
    private List<SubnetModel> subnetModels;
    private String azureResourceGroupName;
    private String resourceGroupName;
    private String privateIp;
    private String securityGroupId;
    private String eip;
    private String tenantUuid; // 所属租户uuid， 当前只有华为SDN在用
    private List<String> fabricUuids; // 关联的Fabric的uuid，当前只有华为SDN在用
    private String type; // VPC类型, 枚举类型，支持的取值：Instance：给云主机实例使用；
    // Transit：用于分散VPC之间的连接，当前只有华为SDN在用
    private String networkUuid;
    private Boolean enableSnat;
    private String resourceGroupUuid;
    private String ddosPlanUuid;
    private Boolean ddosPlanEnabled;
    private Boolean providedIpv6Cidr;
    private List<CidrBlockModel> cidrBlockModels;
    private List<TagModel> tagModels;
    private String tags;
    private String enterpriseProjectUuid;
    private String resourceLabel; //标签

    /**
     *
     */
    public VpcModel() {
        super();
    }

    /**
     * @param name
     * @param status
     * @param routerId
     * @param regionId
     * @param cidr
     * @param vswitchIds
     * @param vpcId
     * @param remark
     * @param userCidrs
     * @param defaultVpc
     */
    public VpcModel(String name, String status, String routerId, String regionId, String cidr, String vswitchIds,
                    String vpcId, String remark, String userCidrs, Boolean defaultVpc) {
        super();
        this.name = name;
        this.status = status;
        this.routerId = routerId;
        this.regionId = regionId;
        this.cidr = cidr;
        this.vswitchIds = vswitchIds;
        this.vpcId = vpcId;
        this.remark = remark;
        this.userCidrs = userCidrs;
        this.defaultVpc = defaultVpc;
    }

}
