mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Update Nicira Api to support L3 functionality
This commit is contained in:
parent
5c4cf11860
commit
bfc8da1082
@ -0,0 +1,53 @@
|
|||||||
|
package com.cloud.network.nicira;
|
||||||
|
|
||||||
|
public class DestinationNatRule extends NatRule {
|
||||||
|
private Match match;
|
||||||
|
private String to_destination_ip_address_min;
|
||||||
|
private String to_destination_ip_address_max;
|
||||||
|
private Integer to_destination_port;
|
||||||
|
private String uuid;
|
||||||
|
private String type = "DestinationNatRule";
|
||||||
|
|
||||||
|
public Match getMatch() {
|
||||||
|
return match;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMatch(Match match) {
|
||||||
|
this.match = match;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getToDestinationIpAddressMin() {
|
||||||
|
return to_destination_ip_address_min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setToDestinationIpAddressMin(
|
||||||
|
String to_destination_ip_address_min) {
|
||||||
|
this.to_destination_ip_address_min = to_destination_ip_address_min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getToDestinationIpAddressMax() {
|
||||||
|
return to_destination_ip_address_max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setToDestinationIpAddressMax(
|
||||||
|
String to_destination_ip_address_max) {
|
||||||
|
this.to_destination_ip_address_max = to_destination_ip_address_max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getToDestinationPort() {
|
||||||
|
return to_destination_port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setToDestinationPort(Integer to_destination_port) {
|
||||||
|
this.to_destination_port = to_destination_port;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUuid() {
|
||||||
|
return uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUuid(String uuid) {
|
||||||
|
this.uuid = uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,54 @@
|
|||||||
|
// 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.network.nicira;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class L3GatewayAttachment extends Attachment {
|
||||||
|
private String l3_gateway_service_uuid;
|
||||||
|
private String type = "L3GatewayAttachment";
|
||||||
|
private int vlan_id;
|
||||||
|
|
||||||
|
public L3GatewayAttachment(String l3_gateway_service_uuid) {
|
||||||
|
this.l3_gateway_service_uuid = l3_gateway_service_uuid;
|
||||||
|
// VLAN 0 is untagged, set explicitly of no vlan is given in the constructor
|
||||||
|
this.vlan_id = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
public L3GatewayAttachment(String l3_gateway_service_uuid, int vlan_id) {
|
||||||
|
this.l3_gateway_service_uuid = l3_gateway_service_uuid;
|
||||||
|
this.vlan_id = vlan_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getL3GatewayServiceUuid() {
|
||||||
|
return l3_gateway_service_uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setL3GatewayServiceUuid(String l3_gateway_service_uuid) {
|
||||||
|
this.l3_gateway_service_uuid = l3_gateway_service_uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getVlanId() {
|
||||||
|
return vlan_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setVlanId(int vlan_id) {
|
||||||
|
this.vlan_id = vlan_id;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,64 @@
|
|||||||
|
// 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.network.nicira;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class LogicalRouterConfig {
|
||||||
|
private String display_name;
|
||||||
|
private RoutingConfig routing_config;
|
||||||
|
private String type = "LogicalRouterConfig";
|
||||||
|
private String uuid;
|
||||||
|
private List<NiciraNvpTag> tags;
|
||||||
|
|
||||||
|
public RoutingConfig getRoutingConfig() {
|
||||||
|
return routing_config;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setRoutingConfig(RoutingConfig routing_config) {
|
||||||
|
this.routing_config = routing_config;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDisplayName() {
|
||||||
|
return display_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDisplayName(String display_name) {
|
||||||
|
this.display_name = display_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUuid() {
|
||||||
|
return uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUuid(String uuid) {
|
||||||
|
this.uuid = uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<NiciraNvpTag> getTags() {
|
||||||
|
return tags;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTags(List<NiciraNvpTag> tags) {
|
||||||
|
this.tags = tags;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,90 @@
|
|||||||
|
// 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.network.nicira;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class LogicalRouterPort {
|
||||||
|
private String display_name;
|
||||||
|
private List<NiciraNvpTag> tags;
|
||||||
|
private Integer portno;
|
||||||
|
private boolean admin_status_enabled;
|
||||||
|
private List<String> ip_addresses;
|
||||||
|
private String mac_address;
|
||||||
|
private String type = "LogicalRouterPortConfig";
|
||||||
|
private String uuid;
|
||||||
|
|
||||||
|
public int getPortno() {
|
||||||
|
return portno;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPortno(int portno) {
|
||||||
|
this.portno = portno;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isAdminStatusEnabled() {
|
||||||
|
return admin_status_enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setAdminStatusEnabled(boolean admin_status_enabled) {
|
||||||
|
this.admin_status_enabled = admin_status_enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<String> getIpAddresses() {
|
||||||
|
return ip_addresses;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setIpAddresses(List<String> ip_addresses) {
|
||||||
|
this.ip_addresses = ip_addresses;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getMacAddress() {
|
||||||
|
return mac_address;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMacAddress(String mac_address) {
|
||||||
|
this.mac_address = mac_address;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDisplayName() {
|
||||||
|
return display_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDisplayName(String display_name) {
|
||||||
|
this.display_name = display_name;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<NiciraNvpTag> getTags() {
|
||||||
|
return tags;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setTags(List<NiciraNvpTag> tags) {
|
||||||
|
this.tags = tags;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUuid() {
|
||||||
|
return uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUuid(String uuid) {
|
||||||
|
this.uuid = uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,133 @@
|
|||||||
|
// 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.network.nicira;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class Match {
|
||||||
|
private Integer protocol;
|
||||||
|
private String source_ip_addresses;
|
||||||
|
private boolean source_ip_addresses_not;
|
||||||
|
private String destination_ip_addresses;
|
||||||
|
private boolean destination_ip_addresses_not;
|
||||||
|
private Integer source_port_min;
|
||||||
|
private Integer source_port_max;
|
||||||
|
private boolean source_port_not;
|
||||||
|
private Integer destination_port_min;
|
||||||
|
private Integer destination_port_max;
|
||||||
|
private boolean destination_port_not;
|
||||||
|
private String ethertype = "IPv4";
|
||||||
|
|
||||||
|
public Integer getProtocol() {
|
||||||
|
return protocol;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setProtocol(Integer protocol) {
|
||||||
|
this.protocol = protocol;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSource_port_min() {
|
||||||
|
return source_port_min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSourcePortMin(Integer source_port_min) {
|
||||||
|
this.source_port_min = source_port_min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getSourcePortMax() {
|
||||||
|
return source_port_max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSourcePortMax(Integer source_port_max) {
|
||||||
|
this.source_port_max = source_port_max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isSourcePortNot() {
|
||||||
|
return source_port_not;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSourcePortNot(boolean source_port_not) {
|
||||||
|
this.source_port_not = source_port_not;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getDestinationPortMin() {
|
||||||
|
return destination_port_min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDestinationPortMin(Integer destination_port_min) {
|
||||||
|
this.destination_port_min = destination_port_min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getDestinationPortMax() {
|
||||||
|
return destination_port_max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDestinationPortMax(Integer destination_port_max) {
|
||||||
|
this.destination_port_max = destination_port_max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDestinationPortNot() {
|
||||||
|
return destination_port_not;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDestinationPortNot(boolean destination_port_not) {
|
||||||
|
this.destination_port_not = destination_port_not;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getEthertype() {
|
||||||
|
return ethertype;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEthertype(String ethertype) {
|
||||||
|
this.ethertype = ethertype;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getSourceIpAddresses() {
|
||||||
|
return source_ip_addresses;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSourceIpAddresses(String source_ip_addresses) {
|
||||||
|
this.source_ip_addresses = source_ip_addresses;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isSourceIpAddressesNot() {
|
||||||
|
return source_ip_addresses_not;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSourceIpAddresses_not(boolean source_ip_addresses_not) {
|
||||||
|
this.source_ip_addresses_not = source_ip_addresses_not;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDestinationIpAddresses() {
|
||||||
|
return destination_ip_addresses;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDestinationIpAddresses(String destination_ip_addresses) {
|
||||||
|
this.destination_ip_addresses = destination_ip_addresses;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isDestinationIpAddressesNot() {
|
||||||
|
return destination_ip_addresses_not;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDestinationIpAddressesNot(boolean destination_ip_addresses_not) {
|
||||||
|
this.destination_ip_addresses_not = destination_ip_addresses_not;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,24 @@
|
|||||||
|
// 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.network.nicira;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public abstract class NatRule {
|
||||||
|
|
||||||
|
}
|
||||||
@ -78,6 +78,7 @@ import com.google.gson.reflect.TypeToken;
|
|||||||
|
|
||||||
public class NiciraNvpApi {
|
public class NiciraNvpApi {
|
||||||
private static final Logger s_logger = Logger.getLogger(NiciraNvpApi.class);
|
private static final Logger s_logger = Logger.getLogger(NiciraNvpApi.class);
|
||||||
|
private final static String _protocol = "https";
|
||||||
|
|
||||||
private String _name;
|
private String _name;
|
||||||
private String _host;
|
private String _host;
|
||||||
@ -117,7 +118,7 @@ public class NiciraNvpApi {
|
|||||||
String url;
|
String url;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
url = new URL("https", _host, "/ws.v1/login").toString();
|
url = new URL(_protocol, _host, "/ws.v1/login").toString();
|
||||||
} catch (MalformedURLException e) {
|
} catch (MalformedURLException e) {
|
||||||
s_logger.error("Unable to build Nicira API URL", e);
|
s_logger.error("Unable to build Nicira API URL", e);
|
||||||
throw new NiciraNvpApiException("Unable to build Nicira API URL", e);
|
throw new NiciraNvpApiException("Unable to build Nicira API URL", e);
|
||||||
@ -210,11 +211,61 @@ public class NiciraNvpApi {
|
|||||||
return lspl;
|
return lspl;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public LogicalRouterConfig createLogicalRouter(LogicalRouterConfig logicalRouterConfig) throws NiciraNvpApiException {
|
||||||
|
String uri = "/ws.v1/lrouter";
|
||||||
|
|
||||||
|
LogicalRouterConfig lrc = executeCreateObject(logicalRouterConfig, new TypeToken<LogicalRouterConfig>(){}.getType(), uri, Collections.<String,String>emptyMap());
|
||||||
|
|
||||||
|
return lrc;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteLogicalRouter(String logicalRouterUuid) throws NiciraNvpApiException {
|
||||||
|
String uri = "/ws.v1/lrouter/" + logicalRouterUuid;
|
||||||
|
|
||||||
|
executeDeleteObject(uri);
|
||||||
|
}
|
||||||
|
|
||||||
|
public LogicalRouterPort createLogicalRouterPort(String logicalRouterUuid, LogicalRouterPort logicalRouterPort) throws NiciraNvpApiException {
|
||||||
|
String uri = "/ws.v1/lrouter/" + logicalRouterUuid + "/lport";
|
||||||
|
|
||||||
|
LogicalRouterPort lrp = executeCreateObject(logicalRouterPort, new TypeToken<LogicalRouterPort>(){}.getType(), uri, Collections.<String,String>emptyMap());
|
||||||
|
return lrp;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteLogicalRouterPort(String logicalRouterUuid, String logicalRouterPortUuid) throws NiciraNvpApiException {
|
||||||
|
String uri = "/ws.v1/lrouter/" + logicalRouterUuid + "/lport/" + logicalRouterPortUuid;
|
||||||
|
|
||||||
|
executeDeleteObject(uri);
|
||||||
|
}
|
||||||
|
|
||||||
|
public void modifyLogicalRouterPortAttachment(String logicalRouterUuid, String logicalRouterPortUuid, Attachment attachment) throws NiciraNvpApiException {
|
||||||
|
String uri = "/ws.v1/lrouter/" + logicalRouterUuid + "/lport/" + logicalRouterPortUuid + "/attachment";
|
||||||
|
executeUpdateObject(attachment, uri, Collections.<String,String>emptyMap());
|
||||||
|
}
|
||||||
|
|
||||||
|
public NatRule createLogicalRouterNatRule(String logicalRouterUuid, NatRule natRule) throws NiciraNvpApiException {
|
||||||
|
String uri = "/ws.v1/lrouter/" + logicalRouterUuid + "/nat";
|
||||||
|
|
||||||
|
if (natRule instanceof SourceNatRule) {
|
||||||
|
return executeCreateObject(natRule, new TypeToken<SourceNatRule>(){}.getType(), uri, Collections.<String,String>emptyMap());
|
||||||
|
}
|
||||||
|
else if (natRule instanceof DestinationNatRule) {
|
||||||
|
return executeCreateObject(natRule, new TypeToken<DestinationNatRule>(){}.getType(), uri, Collections.<String,String>emptyMap());
|
||||||
|
}
|
||||||
|
|
||||||
|
throw new NiciraNvpApiException("Unknown NatRule type");
|
||||||
|
}
|
||||||
|
|
||||||
|
public void deleteLogicalRouterNatRule(String logicalRouterUuid, String natRuleUuid) throws NiciraNvpApiException {
|
||||||
|
String uri = "/ws.v1/lrouter/" + logicalRouterUuid + "/nat/" + natRuleUuid;
|
||||||
|
|
||||||
|
executeDeleteObject(uri);
|
||||||
|
}
|
||||||
|
|
||||||
private <T> void executeUpdateObject(T newObject, String uri, Map<String,String> parameters) throws NiciraNvpApiException {
|
private <T> void executeUpdateObject(T newObject, String uri, Map<String,String> parameters) throws NiciraNvpApiException {
|
||||||
String url;
|
String url;
|
||||||
try {
|
try {
|
||||||
url = new URL("https", _host, uri).toString();
|
url = new URL(_protocol, _host, uri).toString();
|
||||||
} catch (MalformedURLException e) {
|
} catch (MalformedURLException e) {
|
||||||
s_logger.error("Unable to build Nicira API URL", e);
|
s_logger.error("Unable to build Nicira API URL", e);
|
||||||
throw new NiciraNvpApiException("Connection to NVP Failed");
|
throw new NiciraNvpApiException("Connection to NVP Failed");
|
||||||
@ -244,7 +295,7 @@ public class NiciraNvpApi {
|
|||||||
private <T> T executeCreateObject(T newObject, Type returnObjectType, String uri, Map<String,String> parameters) throws NiciraNvpApiException {
|
private <T> T executeCreateObject(T newObject, Type returnObjectType, String uri, Map<String,String> parameters) throws NiciraNvpApiException {
|
||||||
String url;
|
String url;
|
||||||
try {
|
try {
|
||||||
url = new URL("https", _host, uri).toString();
|
url = new URL(_protocol, _host, uri).toString();
|
||||||
} catch (MalformedURLException e) {
|
} catch (MalformedURLException e) {
|
||||||
s_logger.error("Unable to build Nicira API URL", e);
|
s_logger.error("Unable to build Nicira API URL", e);
|
||||||
throw new NiciraNvpApiException("Unable to build Nicira API URL", e);
|
throw new NiciraNvpApiException("Unable to build Nicira API URL", e);
|
||||||
@ -282,7 +333,7 @@ public class NiciraNvpApi {
|
|||||||
private void executeDeleteObject(String uri) throws NiciraNvpApiException {
|
private void executeDeleteObject(String uri) throws NiciraNvpApiException {
|
||||||
String url;
|
String url;
|
||||||
try {
|
try {
|
||||||
url = new URL("https", _host, uri).toString();
|
url = new URL(_protocol, _host, uri).toString();
|
||||||
} catch (MalformedURLException e) {
|
} catch (MalformedURLException e) {
|
||||||
s_logger.error("Unable to build Nicira API URL", e);
|
s_logger.error("Unable to build Nicira API URL", e);
|
||||||
throw new NiciraNvpApiException("Unable to build Nicira API URL", e);
|
throw new NiciraNvpApiException("Unable to build Nicira API URL", e);
|
||||||
@ -303,7 +354,7 @@ public class NiciraNvpApi {
|
|||||||
private <T> T executeRetrieveObject(Type returnObjectType, String uri, Map<String,String> parameters) throws NiciraNvpApiException {
|
private <T> T executeRetrieveObject(Type returnObjectType, String uri, Map<String,String> parameters) throws NiciraNvpApiException {
|
||||||
String url;
|
String url;
|
||||||
try {
|
try {
|
||||||
url = new URL("https", _host, uri).toString();
|
url = new URL(_protocol, _host, uri).toString();
|
||||||
} catch (MalformedURLException e) {
|
} catch (MalformedURLException e) {
|
||||||
s_logger.error("Unable to build Nicira API URL", e);
|
s_logger.error("Unable to build Nicira API URL", e);
|
||||||
throw new NiciraNvpApiException("Unable to build Nicira API URL", e);
|
throw new NiciraNvpApiException("Unable to build Nicira API URL", e);
|
||||||
|
|||||||
@ -0,0 +1,34 @@
|
|||||||
|
// 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.network.nicira;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class RouterNextHop {
|
||||||
|
private String gateway_ip_address;
|
||||||
|
private String type = "RouterNextHop";
|
||||||
|
|
||||||
|
public String getGatewayIpAddress() {
|
||||||
|
return gateway_ip_address;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setGatewayIpAddress(String gateway_ip_address) {
|
||||||
|
this.gateway_ip_address = gateway_ip_address;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,5 @@
|
|||||||
|
package com.cloud.network.nicira;
|
||||||
|
|
||||||
|
public class RoutingConfig {
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
// 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.network.nicira;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SingleDefaultRouteImplictRoutingConfig extends RoutingConfig {
|
||||||
|
public RouterNextHop default_route_next_hop;
|
||||||
|
public String type = "SingleDefaultRouteImplicitRoutingConfig";
|
||||||
|
|
||||||
|
public SingleDefaultRouteImplictRoutingConfig(RouterNextHop routerNextHop) {
|
||||||
|
default_route_next_hop = routerNextHop;
|
||||||
|
}
|
||||||
|
|
||||||
|
public RouterNextHop getDefaultRouteNextHop() {
|
||||||
|
return default_route_next_hop;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDefaultRouteNextHop(RouterNextHop default_route_next_hop) {
|
||||||
|
this.default_route_next_hop = default_route_next_hop;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,79 @@
|
|||||||
|
// 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.network.nicira;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public class SourceNatRule extends NatRule {
|
||||||
|
private Match match;
|
||||||
|
private String to_source_ip_address_min;
|
||||||
|
private String to_source_ip_address_max;
|
||||||
|
private Integer to_source_port_min;
|
||||||
|
private Integer to_source_port_max;
|
||||||
|
private String uuid;
|
||||||
|
private String type = "SourceNatRule";
|
||||||
|
|
||||||
|
public Match getMatch() {
|
||||||
|
return match;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setMatch(Match match) {
|
||||||
|
this.match = match;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getToSourceIpAddressMin() {
|
||||||
|
return to_source_ip_address_min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setToSourceIpAddressMin(String to_source_ip_address_min) {
|
||||||
|
this.to_source_ip_address_min = to_source_ip_address_min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getToSourceIpAddressMax() {
|
||||||
|
return to_source_ip_address_max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setToSourceIpAddressMax(String to_source_ip_address_max) {
|
||||||
|
this.to_source_ip_address_max = to_source_ip_address_max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getToSourcePortMin() {
|
||||||
|
return to_source_port_min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setToSourcePortMin(Integer to_source_port_min) {
|
||||||
|
this.to_source_port_min = to_source_port_min;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Integer getToSourcePortMax() {
|
||||||
|
return to_source_port_max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setToSourcePortMax(Integer to_source_port_max) {
|
||||||
|
this.to_source_port_max = to_source_port_max;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getUuid() {
|
||||||
|
return uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUuid(String uuid) {
|
||||||
|
this.uuid = uuid;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user