3fe580b3a81998ea20e260920e67168440f839e5
[neutron.git] / neutron-spi / src / main / java / org / opendaylight / neutron / spi / NeutronFirewallRule.java
1 /*
2  * Copyright (C) 2015 Red Hat, Inc. and others.  All rights reserved.
3  *
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
7  */
8
9 package org.opendaylight.neutron.spi;
10
11 import java.io.Serializable;
12 import javax.xml.bind.annotation.XmlAccessType;
13 import javax.xml.bind.annotation.XmlAccessorType;
14 import javax.xml.bind.annotation.XmlElement;
15 import javax.xml.bind.annotation.XmlRootElement;
16
17 /**
18  * OpenStack Neutron v2.0 Firewall as a service
19  * (FWaaS) bindings. See OpenStack Network API
20  * v2.0 Reference for description of  the fields.
21  * The implemented fields are as follows:
22  *
23  * <p>
24  * tenant_id               uuid-str
25  * name                    String
26  * admin_state_up          Bool
27  * shared                  Bool
28  * firewall_policy_id      uuid-str
29  * protocol                String
30  * ip_version              Integer
31  * source_ip_address       String (IP addr or CIDR)
32  * destination_ip_address  String (IP addr or CIDR)
33  * source_port_range_min    Integer
34  * source_port_range_max    Integer
35  * destination_port_range_min Integer
36  * destination_port_range_max Integer
37  * position                Integer
38  * action                  String
39  * enabled                 Bool
40  * id                      uuid-str
41  * http://docs.openstack.org/api/openstack-network/2.0/openstack-network.pdf
42  *
43  */
44
45 @XmlRootElement
46 @XmlAccessorType(XmlAccessType.NONE)
47 public final class NeutronFirewallRule extends NeutronBaseAttributes<NeutronFirewallRule> implements Serializable {
48     private static final long serialVersionUID = 1L;
49
50     @XmlElement(defaultValue = "false", name = "shared")
51     Boolean firewallRuleIsShared;
52
53     @XmlElement(name = "firewall_policy_id")
54     String firewallRulePolicyID;
55
56     @XmlElement(name = "protocol")
57     String firewallRuleProtocol;
58
59     @XmlElement(name = "ip_version")
60     Integer firewallRuleIpVer;
61
62     @XmlElement(name = "source_ip_address")
63     String firewallRuleSrcIpAddr;
64
65     @XmlElement(name = "destination_ip_address")
66     String firewallRuleDstIpAddr;
67
68     @XmlElement(name = "source_port_range_min")
69     Integer firewallRuleSrcPortRangeMin;
70
71     @XmlElement(name = "source_port_range_max")
72     Integer firewallRuleSrcPortRangeMax;
73
74     @XmlElement(name = "destination_port_range_min")
75     Integer firewallRuleDstPortRangeMin;
76
77     @XmlElement(name = "destination_port_range_max")
78     Integer firewallRuleDstPortRangeMax;
79
80     @XmlElement(name = "position")
81     Integer firewallRulePosition;
82
83     @XmlElement(name = "action")
84     String firewallRuleAction;
85
86     @XmlElement(name = "enabled")
87     Boolean firewallRuleIsEnabled;
88
89     public Boolean getFirewallRuleIsEnabled() {
90         return firewallRuleIsEnabled;
91     }
92
93     public void setFirewallRuleIsEnabled(Boolean firewallRuleIsEnabled) {
94         this.firewallRuleIsEnabled = firewallRuleIsEnabled;
95     }
96
97     public String getFirewallRuleAction() {
98         return firewallRuleAction;
99     }
100
101     public void setFirewallRuleAction(String firewallRuleAction) {
102         this.firewallRuleAction = firewallRuleAction;
103     }
104
105     public Integer getFirewallRulePosition() {
106         return firewallRulePosition;
107     }
108
109     public void setFirewallRulePosition(Integer firewallRulePosition) {
110         this.firewallRulePosition = firewallRulePosition;
111     }
112
113     public Integer getFirewallRuleDstPortRangeMin() {
114         return firewallRuleDstPortRangeMin;
115     }
116
117     public void setFirewallRuleDstPortRangeMin(Integer firewallRuleDstPortRangeMin) {
118         this.firewallRuleDstPortRangeMin = firewallRuleDstPortRangeMin;
119     }
120
121     public Integer getFirewallRuleDstPortRangeMax() {
122         return firewallRuleDstPortRangeMax;
123     }
124
125     public void setFirewallRuleDstPortRangeMax(Integer firewallRuleDstPortRangeMax) {
126         this.firewallRuleDstPortRangeMax = firewallRuleDstPortRangeMax;
127     }
128
129     public Integer getFirewallRuleSrcPortRangeMin() {
130         return firewallRuleSrcPortRangeMin;
131     }
132
133     public void setFirewallRuleSrcPortRangeMin(Integer firewallRuleSrcPortRangeMin) {
134         this.firewallRuleSrcPortRangeMin = firewallRuleSrcPortRangeMin;
135     }
136
137     public Integer getFirewallRuleSrcPortRangeMax() {
138         return firewallRuleSrcPortRangeMax;
139     }
140
141     public void setFirewallRuleSrcPortRangeMax(Integer firewallRuleSrcPortRangeMax) {
142         this.firewallRuleSrcPortRangeMax = firewallRuleSrcPortRangeMax;
143     }
144
145     public String getFirewallRuleDstIpAddr() {
146         return firewallRuleDstIpAddr;
147     }
148
149     public void setFirewallRuleDstIpAddr(String firewallRuleDstIpAddr) {
150         this.firewallRuleDstIpAddr = firewallRuleDstIpAddr;
151     }
152
153     public String getFirewallRuleSrcIpAddr() {
154         return firewallRuleSrcIpAddr;
155     }
156
157     public void setFirewallRuleSrcIpAddr(String firewallRuleSrcIpAddr) {
158         this.firewallRuleSrcIpAddr = firewallRuleSrcIpAddr;
159     }
160
161     public Integer getFirewallRuleIpVer() {
162         return firewallRuleIpVer;
163     }
164
165     public void setFirewallRuleIpVer(Integer firewallRuleIpVer) {
166         this.firewallRuleIpVer = firewallRuleIpVer;
167     }
168
169     public String getFirewallRuleProtocol() {
170         return firewallRuleProtocol;
171     }
172
173     public void setFirewallRuleProtocol(String firewallRuleProtocol) {
174         this.firewallRuleProtocol = firewallRuleProtocol;
175     }
176
177     public String getFirewallRulePolicyID() {
178         return firewallRulePolicyID;
179     }
180
181     public void setFirewallRulePolicyID(String firewallRulePolicyID) {
182         this.firewallRulePolicyID = firewallRulePolicyID;
183     }
184
185     public Boolean getFirewallRuleIsShared() {
186         return firewallRuleIsShared;
187     }
188
189     public void setFirewallRuleIsShared(Boolean firewallRuleIsShared) {
190         this.firewallRuleIsShared = firewallRuleIsShared;
191     }
192
193     @Override
194     protected boolean extractField(String field, NeutronFirewallRule ans) {
195         switch (field) {
196             case "shared":
197                 ans.setFirewallRuleIsShared(firewallRuleIsShared);
198                 break;
199             case "firewall_policy_id":
200                 ans.setFirewallRulePolicyID(this.getFirewallRulePolicyID());
201                 break;
202             case "protocol":
203                 ans.setFirewallRuleProtocol(this.getFirewallRuleProtocol());
204                 break;
205             case "source_ip_address":
206                 ans.setFirewallRuleSrcIpAddr(this.getFirewallRuleSrcIpAddr());
207                 break;
208             case "destination_ip_address":
209                 ans.setFirewallRuleDstIpAddr(this.getFirewallRuleDstIpAddr());
210                 break;
211             case "source_port_range_min":
212                 ans.setFirewallRuleSrcPortRangeMin(this.getFirewallRuleSrcPortRangeMin());
213                 break;
214             case "source_port_range_max":
215                 ans.setFirewallRuleSrcPortRangeMax(this.getFirewallRuleSrcPortRangeMax());
216                 break;
217             case "destination_port_range_min":
218                 ans.setFirewallRuleDstPortRangeMin(this.getFirewallRuleDstPortRangeMin());
219                 break;
220             case "destination_port_range_max":
221                 ans.setFirewallRuleDstPortRangeMax(this.getFirewallRuleDstPortRangeMax());
222                 break;
223             case "position":
224                 ans.setFirewallRulePosition(this.getFirewallRulePosition());
225                 break;
226             case "action":
227                 ans.setFirewallRuleAction(this.getFirewallRuleAction());
228                 break;
229             case "enabled":
230                 ans.setFirewallRuleIsEnabled(firewallRuleIsEnabled);
231                 break;
232             default:
233                 return super.extractField(field, ans);
234         }
235         return true;
236     }
237
238     @Override
239     public String toString() {
240         return "firewallPolicyRules{" + "firewallRuleUUID='" + uuid + '\'' + ", firewallRuleTenantID='" + tenantID
241                 + '\'' + ", firewallRuleName='" + name + '\'' + ", firewallRuleIsShared="
242                 + firewallRuleIsShared + ", firewallRulePolicyID=" + firewallRulePolicyID + ", firewallRuleProtocol='"
243                 + firewallRuleProtocol + '\'' + ", firewallRuleIpVer=" + firewallRuleIpVer + ", firewallRuleSrcIpAddr='"
244                 + firewallRuleSrcIpAddr + '\'' + ", firewallRuleDstIpAddr='" + firewallRuleDstIpAddr + '\''
245                 + ", firewallRuleSrcPort=" + firewallRuleSrcPortRangeMin + ':' + firewallRuleSrcPortRangeMax
246                 + ", firewallRuleDstPort=" + firewallRuleDstPortRangeMin + ':' + firewallRuleDstPortRangeMax
247                 + ", firewallRulePosition=" + firewallRulePosition + ", firewallRuleAction='" + firewallRuleAction
248                 + '\'' + ", firewallRuleIsEnabled=" + firewallRuleIsEnabled + '}';
249     }
250 }