2 * Copyright (C) 2015 Red Hat, Inc. and others. All rights reserved.
4 * This program and the accompanying materials are made available under the
5 * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6 * and is available at http://www.eclipse.org/legal/epl-v10.html
9 package org.opendaylight.neutron.spi;
11 import java.io.Serializable;
12 import java.util.Iterator;
13 import java.util.List;
14 import javax.xml.bind.annotation.XmlAccessType;
15 import javax.xml.bind.annotation.XmlAccessorType;
16 import javax.xml.bind.annotation.XmlElement;
17 import javax.xml.bind.annotation.XmlRootElement;
20 * OpenStack Neutron v2.0 Firewall as a service
21 * (FWaaS) bindings. See OpenStack Network API
22 * v2.0 Reference for description of the fields.
23 * The implemented fields are as follows:
29 * firewall_policy_id uuid-str
32 * source_ip_address String (IP addr or CIDR)
33 * destination_ip_address String (IP addr or CIDR)
34 * source_port_range_min Integer
35 * source_port_range_max Integer
36 * destination_port_range_min Integer
37 * destination_port_range_max Integer
42 * http://docs.openstack.org/api/openstack-network/2.0/openstack-network.pdf
47 @XmlAccessorType(XmlAccessType.NONE)
49 public class NeutronFirewallRule extends NeutronObject implements Serializable, INeutronObject {
50 private static final long serialVersionUID = 1L;
52 @XmlElement(name = "name")
53 String firewallRuleName;
55 @XmlElement(defaultValue = "false", name = "shared")
56 Boolean firewallRuleIsShared;
58 @XmlElement(name = "firewall_policy_id")
59 String firewallRulePolicyID;
61 @XmlElement(name = "protocol")
62 String firewallRuleProtocol;
64 @XmlElement(name = "ip_version")
65 Integer firewallRuleIpVer;
67 @XmlElement(name = "source_ip_address")
68 String firewallRuleSrcIpAddr;
70 @XmlElement(name = "destination_ip_address")
71 String firewallRuleDstIpAddr;
73 @XmlElement(name = "source_port_range_min")
74 Integer firewallRuleSrcPortRangeMin;
76 @XmlElement(name = "source_port_range_max")
77 Integer firewallRuleSrcPortRangeMax;
79 @XmlElement(name = "destination_port_range_min")
80 Integer firewallRuleDstPortRangeMin;
82 @XmlElement(name = "destination_port_range_max")
83 Integer firewallRuleDstPortRangeMax;
85 @XmlElement(name = "position")
86 Integer firewallRulePosition;
88 @XmlElement(name = "action")
89 String firewallRuleAction;
91 @XmlElement(name = "enabled")
92 Boolean firewallRuleIsEnabled;
94 public Boolean getFirewallRuleIsEnabled() {
95 return firewallRuleIsEnabled;
98 public void setFirewallRuleIsEnabled(Boolean firewallRuleIsEnabled) {
99 this.firewallRuleIsEnabled = firewallRuleIsEnabled;
102 public String getFirewallRuleAction() {
103 return firewallRuleAction;
106 public void setFirewallRuleAction(String firewallRuleAction) {
107 this.firewallRuleAction = firewallRuleAction;
110 public Integer getFirewallRulePosition() {
111 return firewallRulePosition;
114 public void setFirewallRulePosition(Integer firewallRulePosition) {
115 this.firewallRulePosition = firewallRulePosition;
118 public Integer getFirewallRuleDstPortRangeMin() {
119 return firewallRuleDstPortRangeMin;
122 public void setFirewallRuleDstPortRangeMin(Integer firewallRuleDstPortRangeMin) {
123 this.firewallRuleDstPortRangeMin = firewallRuleDstPortRangeMin;
126 public Integer getFirewallRuleDstPortRangeMax() {
127 return firewallRuleDstPortRangeMax;
130 public void setFirewallRuleDstPortRangeMax(Integer firewallRuleDstPortRangeMax) {
131 this.firewallRuleDstPortRangeMax = firewallRuleDstPortRangeMax;
134 public Integer getFirewallRuleSrcPortRangeMin() {
135 return firewallRuleSrcPortRangeMin;
138 public void setFirewallRuleSrcPortRangeMin(Integer firewallRuleSrcPortRangeMin) {
139 this.firewallRuleSrcPortRangeMin = firewallRuleSrcPortRangeMin;
142 public Integer getFirewallRuleSrcPortRangeMax() {
143 return firewallRuleSrcPortRangeMax;
146 public void setFirewallRuleSrcPortRangeMax(Integer firewallRuleSrcPortRangeMax) {
147 this.firewallRuleSrcPortRangeMax = firewallRuleSrcPortRangeMax;
150 public String getFirewallRuleDstIpAddr() {
151 return firewallRuleDstIpAddr;
154 public void setFirewallRuleDstIpAddr(String firewallRuleDstIpAddr) {
155 this.firewallRuleDstIpAddr = firewallRuleDstIpAddr;
158 public String getFirewallRuleSrcIpAddr() {
159 return firewallRuleSrcIpAddr;
162 public void setFirewallRuleSrcIpAddr(String firewallRuleSrcIpAddr) {
163 this.firewallRuleSrcIpAddr = firewallRuleSrcIpAddr;
166 public Integer getFirewallRuleIpVer() {
167 return firewallRuleIpVer;
170 public void setFirewallRuleIpVer(Integer firewallRuleIpVer) {
171 this.firewallRuleIpVer = firewallRuleIpVer;
174 public String getFirewallRuleProtocol() {
175 return firewallRuleProtocol;
178 public void setFirewallRuleProtocol(String firewallRuleProtocol) {
179 this.firewallRuleProtocol = firewallRuleProtocol;
182 public String getFirewallRulePolicyID() {
183 return firewallRulePolicyID;
186 public void setFirewallRulePolicyID(String firewallRulePolicyID) {
187 this.firewallRulePolicyID = firewallRulePolicyID;
190 public Boolean getFirewallRuleIsShared() {
191 return firewallRuleIsShared;
194 public void setFirewallRuleIsShared(Boolean firewallRuleIsShared) {
195 this.firewallRuleIsShared = firewallRuleIsShared;
198 public String getFirewallRuleName() {
199 return firewallRuleName;
202 public void setFirewallRuleName(String firewallRuleName) {
203 this.firewallRuleName = firewallRuleName;
206 public NeutronFirewallRule extractFields(List<String> fields) {
207 NeutronFirewallRule ans = new NeutronFirewallRule();
208 Iterator<String> i = fields.iterator();
209 while (i.hasNext()) {
211 if (s.equals("id")) {
212 ans.setID(this.getID());
214 if (s.equals("tenant_id")) {
215 ans.setTenantID(this.getTenantID());
217 if (s.equals("name")) {
218 ans.setFirewallRuleName(this.getFirewallRuleName());
220 if (s.equals("shared")) {
221 ans.setFirewallRuleIsShared(firewallRuleIsShared);
223 if (s.equals("firewall_policy_id")) {
224 ans.setFirewallRulePolicyID(this.getFirewallRulePolicyID());
226 if (s.equals("protocol")) {
227 ans.setFirewallRuleProtocol(this.getFirewallRuleProtocol());
229 if (s.equals("source_ip_address")) {
230 ans.setFirewallRuleSrcIpAddr(this.getFirewallRuleSrcIpAddr());
232 if (s.equals("destination_ip_address")) {
233 ans.setFirewallRuleDstIpAddr(this.getFirewallRuleDstIpAddr());
235 if (s.equals("source_port_range_min")) {
236 ans.setFirewallRuleSrcPortRangeMin(this.getFirewallRuleSrcPortRangeMin());
238 if (s.equals("source_port_range_max")) {
239 ans.setFirewallRuleSrcPortRangeMax(this.getFirewallRuleSrcPortRangeMax());
241 if (s.equals("destination_port_range_min")) {
242 ans.setFirewallRuleDstPortRangeMin(this.getFirewallRuleDstPortRangeMin());
244 if (s.equals("destination_port_range_max")) {
245 ans.setFirewallRuleDstPortRangeMax(this.getFirewallRuleDstPortRangeMax());
247 if (s.equals("position")) {
248 ans.setFirewallRulePosition(this.getFirewallRulePosition());
250 if (s.equals("action")) {
251 ans.setFirewallRuleAction(this.getFirewallRuleAction());
253 if (s.equals("enabled")) {
254 ans.setFirewallRuleIsEnabled(firewallRuleIsEnabled);
262 public String toString() {
263 return "firewallPolicyRules{" + "firewallRuleUUID='" + uuid + '\'' + ", firewallRuleTenantID='" + tenantID
264 + '\'' + ", firewallRuleName='" + firewallRuleName + '\'' + ", firewallRuleIsShared="
265 + firewallRuleIsShared + ", firewallRulePolicyID=" + firewallRulePolicyID + ", firewallRuleProtocol='"
266 + firewallRuleProtocol + '\'' + ", firewallRuleIpVer=" + firewallRuleIpVer + ", firewallRuleSrcIpAddr='"
267 + firewallRuleSrcIpAddr + '\'' + ", firewallRuleDstIpAddr='" + firewallRuleDstIpAddr + '\''
268 + ", firewallRuleSrcPort=" + firewallRuleSrcPortRangeMin + ':' + firewallRuleSrcPortRangeMax
269 + ", firewallRuleDstPort=" + firewallRuleDstPortRangeMin + ':' + firewallRuleDstPortRangeMax
270 + ", firewallRulePosition=" + firewallRulePosition + ", firewallRuleAction='" + firewallRuleAction
271 + '\'' + ", firewallRuleIsEnabled=" + firewallRuleIsEnabled + '}';
275 public void initDefaults() {