package com.bocloud.cmp.model;

import lombok.Data;

import java.util.List;

/**
 * 华为私有云数据同步model
 *
 * @author wangyu
 * @version 3.0.0-SNAPSHOT
 * @since 2018/9/25
 */
@Data
public class HuaweiSyncModel {

	private List<RegionModel> regions;
	private List<HostModel> hostModels;
	private List<ServerModel> serverModels;
	private List<NetworkModel> networkModels;
	private List<VolumeModel> volumeModels;
	private List<SnapshotModel> snapshotModels;
	private List<ImageModel> imageModels;
	private List<FlavorModel> flavorModels;
	private List<PortModel> portModels;
	private List<RouterModel> routerModels;
	private List<SecurityGroupModel> groupModels;
	private List<KeypairModel> keypairModels;
	private List<ClusterModel> clusterModels;
	private List<SubnetModel> subnetModels;
	private List<VpcModel> vpcModels;
	private List<ElasticIpModel> elasticIpModels;
	private List<NatGatewayModel> natGatewayModels;
	private List<NatGatewaySnatRuleModel> snatRuleModels;
	private List<NatGatewayDnatRuleModel> dnatRuleModels;

	private List<BackupPolicyModel> backupPolicyModels;
	private List<VaultsModel> vaultsModels;
	private List<BackupModel> backupModels;
	private List<EnterpriseProjectModel> enterpriseProjectModels;

	// 负载均衡
	private List<LbModel> lbModels;
	// 监听
	private List<LbListenerModel> lbListenerModels;

	private List<LbPoolModel> lbPoolModels;
	private List<LbMemberModel> lbMemberModels;
	private List<VolumeTypeModel> volumeTypeModels;

	private List<HealthMonitorModel> healthMonitorModels;

	// 转发策略
	private List<LbListenerPolicyModel> lbL7PolicyModels;

	// 转发规则
	private List<LbListenerRuleModel> lbL7RuleModels;

	public List<LbPoolModel> getLbPoolModels() {
		return lbPoolModels;
	}

	public void setLbPoolModels(List<LbPoolModel> lbPoolModels) {
		this.lbPoolModels = lbPoolModels;
	}

	public List<LbMemberModel> getLbMemberModels() {
		return lbMemberModels;
	}

	public void setLbMemberModels(List<LbMemberModel> lbMemberModels) {
		this.lbMemberModels = lbMemberModels;
	}

	public List<LbListenerModel> getLbListenerModels() {
		return lbListenerModels;
	}

	public void setLbListenerModels(List<LbListenerModel> lbListenerModels) {
		this.lbListenerModels = lbListenerModels;
	}

	public List<LbModel> getLbModels() {
		return lbModels;
	}

	public void setLbModels(List<LbModel> lbModels) {
		this.lbModels = lbModels;
	}

	/**
	 *
	 */
	public HuaweiSyncModel() {
	}

	/**
	 * @param regions
	 * @param hostModels
	 * @param serverModels
	 * @param networkModels
	 * @param volumeModels
	 * @param snapshotModels
	 * @param imageModels
	 * @param flavorModels
	 * @param portModels
	 * @param routerModels
	 * @param groupModels
	 * @param keypairModels
	 * @param clusterModels
	 */
	public HuaweiSyncModel(List<RegionModel> regions, List<HostModel> hostModels, List<ServerModel> serverModels,
			List<NetworkModel> networkModels, List<VolumeModel> volumeModels, List<SnapshotModel> snapshotModels,
			List<ImageModel> imageModels, List<FlavorModel> flavorModels, List<PortModel> portModels,
			List<RouterModel> routerModels, List<SecurityGroupModel> groupModels, List<KeypairModel> keypairModels,
			List<ClusterModel> clusterModels) {
		this.regions = regions;
		this.hostModels = hostModels;
		this.serverModels = serverModels;
		this.networkModels = networkModels;
		this.volumeModels = volumeModels;
		this.snapshotModels = snapshotModels;
		this.imageModels = imageModels;
		this.flavorModels = flavorModels;
		this.portModels = portModels;
		this.routerModels = routerModels;
		this.groupModels = groupModels;
		this.keypairModels = keypairModels;
		this.clusterModels = clusterModels;
	}

	public List<RegionModel> getRegions() {
		return regions;
	}

	public void setRegions(List<RegionModel> regions) {
		this.regions = regions;
	}

	public List<HostModel> getHostModels() {
		return hostModels;
	}

	public void setHostModels(List<HostModel> hostModels) {
		this.hostModels = hostModels;
	}

	public List<ServerModel> getServerModels() {
		return serverModels;
	}

	public void setServerModels(List<ServerModel> serverModels) {
		this.serverModels = serverModels;
	}

	public List<NetworkModel> getNetworkModels() {
		return networkModels;
	}

	public void setNetworkModels(List<NetworkModel> networkModels) {
		this.networkModels = networkModels;
	}

	public List<VolumeModel> getVolumeModels() {
		return volumeModels;
	}

	public void setVolumeModels(List<VolumeModel> volumeModels) {
		this.volumeModels = volumeModels;
	}

	public List<SnapshotModel> getSnapshotModels() {
		return snapshotModels;
	}

	public void setSnapshotModels(List<SnapshotModel> snapshotModels) {
		this.snapshotModels = snapshotModels;
	}

	public List<ImageModel> getImageModels() {
		return imageModels;
	}

	public void setImageModels(List<ImageModel> imageModels) {
		this.imageModels = imageModels;
	}

	public List<FlavorModel> getFlavorModels() {
		return flavorModels;
	}

	public void setFlavorModels(List<FlavorModel> flavorModels) {
		this.flavorModels = flavorModels;
	}

	public List<PortModel> getPortModels() {
		return portModels;
	}

	public void setPortModels(List<PortModel> portModels) {
		this.portModels = portModels;
	}

	public List<RouterModel> getRouterModels() {
		return routerModels;
	}

	public void setRouterModels(List<RouterModel> routerModels) {
		this.routerModels = routerModels;
	}

	public List<SecurityGroupModel> getGroupModels() {
		return groupModels;
	}

	public void setGroupModels(List<SecurityGroupModel> groupModels) {
		this.groupModels = groupModels;
	}

	public List<KeypairModel> getKeypairModels() {
		return keypairModels;
	}

	public void setKeypairModels(List<KeypairModel> keypairModels) {
		this.keypairModels = keypairModels;
	}

	public List<ClusterModel> getClusterModels() {
		return clusterModels;
	}

	public void setClusterModels(List<ClusterModel> clusterModels) {
		this.clusterModels = clusterModels;
	}

	public List<SubnetModel> getSubnetModels() {
		return subnetModels;
	}

	public void setSubnetModels(List<SubnetModel> subnetModels) {
		this.subnetModels = subnetModels;
	}

	public List<VpcModel> getVpcModels() {
		return vpcModels;
	}

	public void setVpcModels(List<VpcModel> vpcModels) {
		this.vpcModels = vpcModels;
	}

	public List<NatGatewayModel> getNatGatewayModels() {
		return natGatewayModels;
	}

	public void setNatGatewayModels(List<NatGatewayModel> natGatewayModels) {
		this.natGatewayModels = natGatewayModels;
	}

	public List<NatGatewaySnatRuleModel> getSnatRuleModels() {
		return snatRuleModels;
	}

	public void setSnatRuleModels(List<NatGatewaySnatRuleModel> snatRuleModels) {
		this.snatRuleModels = snatRuleModels;
	}

	public List<NatGatewayDnatRuleModel> getDnatRuleModels() {
		return dnatRuleModels;
	}

	public void setDnatRuleModels(List<NatGatewayDnatRuleModel> dnatRuleModels) {
		this.dnatRuleModels = dnatRuleModels;
	}
}
