blob: a908c08de82188a4f2130f4bd0ca3848d997bb31 [file] [log] [blame]
//
// Licensed to the Apache Software Foundation (ASF) under one
// or more contributor license agreements. See the NOTICE file
// distributed with this work for additional information
// regarding copyright ownership. The ASF licenses this file
// to you 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.
//
package com.cloud.agent.api.routing;
// details of site participating in the GLSB service, represents configuration load balancer rule and the zone
// in which the rule is configured
public class SiteLoadBalancerConfig {
// true if the site details are local to the zone receiving 'GlobalLoadBalancerConfigCommand'
boolean local;
// true if the site needs to be removed from GSLB service
boolean revoked;
// service type of the 'site load balanced' service
String serviceType;
// public IP corresponding to the site load balanced service
String servicePublicIp;
// port corresponding to the site load balanced service
String servicePort;
// Private IP corresponding to the GSLB service provider in the site.
String gslbProviderPrivateIp;
// Public IP corresponding to the GSLB service provider in the site.
String gslbProviderPublicIp;
// zone id in which site is located
long dataCenterId;
// wight corresponding to this site
long weight = 1;
public SiteLoadBalancerConfig(boolean revoked, String serviceType, String servicePublicIp, String servicePort, long dataCenterId) {
this.revoked = revoked;
this.serviceType = serviceType;
this.servicePublicIp = servicePublicIp;
this.servicePort = servicePort;
this.dataCenterId = dataCenterId;
}
public SiteLoadBalancerConfig(String gslbProviderPublicIP, String gslbProviderPrivateIp, boolean local, boolean revoked, String serviceType, String servicePublicIp,
String port, long dataCenterId) {
this(revoked, serviceType, servicePublicIp, port, dataCenterId);
this.gslbProviderPrivateIp = gslbProviderPrivateIp;
this.gslbProviderPublicIp = gslbProviderPublicIP;
this.local = local;
}
public String getServiceType() {
return serviceType;
}
public void setServiceType(String serviceType) {
this.serviceType = serviceType;
}
public String getServicePublicIp() {
return servicePublicIp;
}
public void SetServicePublicIp(String servicePublicIp) {
this.servicePublicIp = servicePublicIp;
}
public String getServicePort() {
return servicePort;
}
public void setServicePort(String port) {
this.servicePort = port;
}
public String getGslbProviderPrivateIp() {
return gslbProviderPrivateIp;
}
public void setGslbProviderPrivateIp(String privateIp) {
this.gslbProviderPrivateIp = privateIp;
}
public String getGslbProviderPublicIp() {
return gslbProviderPublicIp;
}
public long getDataCenterId() {
return dataCenterId;
}
public void setGslbProviderPublicIp(String publicIp) {
this.gslbProviderPublicIp = publicIp;
}
public boolean isLocal() {
return local;
}
public void setLocal(boolean local) {
this.local = local;
}
public boolean forRevoke() {
return revoked;
}
public void setWeight(long weight) {
assert (weight >= 1 && weight <= 100);
this.weight = weight;
}
public long getWeight() {
return weight;
}
}