package org.zstack.network.service.virtualrouter;
import org.zstack.tag.SystemTagCreator;
import java.util.ArrayList;
import java.util.List;
/**
* Created by frank on 8/10/2015.
*/
public class VirtualRouterRoleManager {
public void makeDhcpRole(String vrUuid) {
SystemTagCreator creator = VirtualRouterSystemTags.VR_DHCP_ROLE.newSystemTagCreator(vrUuid);
creator.ignoreIfExisting = true;
creator.create();
}
public void makeDnsRole(String vrUuid) {
SystemTagCreator creator = VirtualRouterSystemTags.VR_DNS_ROLE.newSystemTagCreator(vrUuid);
creator.ignoreIfExisting = true;
creator.create();
}
public void makeSnatRole(String vrUuid) {
SystemTagCreator creator = VirtualRouterSystemTags.VR_SNAT_ROLE.newSystemTagCreator(vrUuid);
creator.ignoreIfExisting = true;
creator.create();
}
public void makeEipRole(String vrUuid) {
SystemTagCreator creator = VirtualRouterSystemTags.VR_EIP_ROLE.newSystemTagCreator(vrUuid);
creator.ignoreIfExisting = true;
creator.create();
}
public void makePortForwardingRole(String vrUuid) {
SystemTagCreator creator = VirtualRouterSystemTags.VR_PORT_FORWARDING_ROLE.newSystemTagCreator(vrUuid);
creator.ignoreIfExisting = true;
creator.create();
}
public void makeLoadBalancerRole(String vrUuid) {
SystemTagCreator creator = VirtualRouterSystemTags.VR_LB_ROLE.newSystemTagCreator(vrUuid);
creator.ignoreIfExisting = true;
creator.create();
}
public List<String> getAllRoles(String vrUuid) {
List<String> roles = new ArrayList<String>();
if (VirtualRouterSystemTags.VR_DHCP_ROLE.hasTag(vrUuid)) {
roles.add(VirtualRouterSystemTags.VR_DHCP_ROLE.getTagFormat());
}
if (VirtualRouterSystemTags.VR_DNS_ROLE.hasTag(vrUuid)) {
roles.add(VirtualRouterSystemTags.VR_DNS_ROLE.getTagFormat());
}
if (VirtualRouterSystemTags.VR_SNAT_ROLE.hasTag(vrUuid)) {
roles.add(VirtualRouterSystemTags.VR_SNAT_ROLE.getTagFormat());
}
if (VirtualRouterSystemTags.VR_EIP_ROLE.hasTag(vrUuid)) {
roles.add(VirtualRouterSystemTags.VR_EIP_ROLE.getTagFormat());
}
if (VirtualRouterSystemTags.VR_PORT_FORWARDING_ROLE.hasTag(vrUuid)) {
roles.add(VirtualRouterSystemTags.VR_PORT_FORWARDING_ROLE.getTagFormat());
}
if (VirtualRouterSystemTags.VR_LB_ROLE.hasTag(vrUuid)) {
roles.add(VirtualRouterSystemTags.VR_LB_ROLE.getTagFormat());
}
return roles;
}
}