2 * Copyright (C) 2014 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.ovsdb.openstack.netvirt.translator;
11 import java.io.Serializable;
12 import java.util.ArrayList;
13 import java.util.List;
15 import javax.xml.bind.annotation.XmlAccessType;
16 import javax.xml.bind.annotation.XmlAccessorType;
17 import javax.xml.bind.annotation.XmlElement;
18 import javax.xml.bind.annotation.XmlRootElement;
21 * OpenStack Neutron v2.0 Security Group bindings.
22 * See OpenStack Network API v2.0 Reference for description of
23 * annotated attributes. The current fields are as follows:
25 * id uuid-str unique ID for the security group.
26 * name String name of the security group.
27 * description String name of the security group.
28 * tenant_id uuid-str Owner of security rule..
29 * security_group_rules List<NeutronSecurityRule> nested RO in the sec group.
33 @XmlAccessorType(XmlAccessType.NONE)
35 public class NeutronSecurityGroup implements Serializable, INeutronObject {
36 private static final long serialVersionUID = 1L;
38 @XmlElement(name = "id")
39 String securityGroupUUID;
41 @XmlElement(name = "name")
42 String securityGroupName;
44 @XmlElement(name = "description")
45 String securityGroupDescription;
47 @XmlElement(name = "tenant_id")
48 String securityGroupTenantID;
50 @XmlElement(name = "security_group_rules")
51 List<NeutronSecurityRule> neutronSecurityRule;
53 public NeutronSecurityGroup() {
54 neutronSecurityRule = new ArrayList<>();
58 public String getID() {
59 return securityGroupUUID;
62 public void setID(String id) {
63 securityGroupUUID = id;
66 // @deprecated use getID()
67 public String getSecurityGroupUUID() {
68 return securityGroupUUID;
71 // @deprecated use setID()
72 public void setSecurityGroupUUID(String securityGroupUUID) {
73 this.securityGroupUUID = securityGroupUUID;
76 public String getSecurityGroupName() {
77 return securityGroupName;
80 public void setSecurityGroupName(String securityGroupName) {
81 this.securityGroupName = securityGroupName;
84 public String getSecurityGroupDescription() {
85 return securityGroupDescription;
88 public void setSecurityGroupDescription(String securityGroupDescription) {
89 this.securityGroupDescription = securityGroupDescription;
92 public String getSecurityGroupTenantID() {
93 return securityGroupTenantID;
96 public void setSecurityGroupTenantID(String securityGroupTenantID) {
97 this.securityGroupTenantID = securityGroupTenantID;
101 public List<NeutronSecurityRule> getSecurityRules() {
102 return neutronSecurityRule;
105 public void setSecurityRules(List<NeutronSecurityRule> neutronSecurityRule) {
106 this.neutronSecurityRule = neutronSecurityRule;
109 public NeutronSecurityGroup extractFields(List<String> fields) {
110 NeutronSecurityGroup ans = new NeutronSecurityGroup ();
111 for (String s : fields) {
114 ans.setID(this.getID());
117 ans.setSecurityGroupName(this.getSecurityGroupName());
120 ans.setSecurityGroupDescription(this.getSecurityGroupDescription());
123 ans.setSecurityGroupTenantID(this.getSecurityGroupTenantID());
125 case "security_group_rules":
126 ans.setSecurityRules(this.getSecurityRules());
134 public String toString() {
135 return "NeutronSecurityGroup{" +
136 "securityGroupUUID='" + securityGroupUUID + '\'' +
137 ", securityGroupName='" + securityGroupName + '\'' +
138 ", securityGroupDescription='" + securityGroupDescription + '\'' +
139 ", securityGroupTenantID='" + securityGroupTenantID + '\'' +
140 ", securityRules=" + neutronSecurityRule + "]";
143 public void initDefaults() {
144 //TODO verify no defaults values are nessecary required.