/
vnic_san_conn_policy.go
86 lines (65 loc) · 2.5 KB
/
vnic_san_conn_policy.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package models
import (
"fmt"
"github.com/beevik/etree"
)
const VnicSanConnPolicyClassName = "vnicSanConnPolicy"
type VnicSanConnPolicy struct {
BaseAttributes
VnicSanConnPolicyAttributes
}
type VnicSanConnPolicyAttributes struct{
Child_action string `xml:",omitempty"`
Flt_aggr string `xml:",omitempty"`
Int_id string `xml:",omitempty"`
Policy_level string `xml:",omitempty"`
Policy_owner string `xml:",omitempty"`
Sacl string `xml:",omitempty"`
}
func NewVnicSanConnPolicy(vnicSanConnPolicyRn,parentDn,description string, vnicSanConnPolicyAttributes VnicSanConnPolicyAttributes) *VnicSanConnPolicy {
dn := fmt.Sprintf("%s/%s", parentDn, vnicSanConnPolicyRn)
return &VnicSanConnPolicy{
BaseAttributes: BaseAttributes{
DistinguishedName: dn,
ClassName: VnicSanConnPolicyClassName,
Status: "created, modified",
Description: description,
},
VnicSanConnPolicyAttributes: vnicSanConnPolicyAttributes,
}
}
func (vnicSanConnPolicy *VnicSanConnPolicy) ToMap() (map[string]string, error) {
vnicSanConnPolicyMap, err := vnicSanConnPolicy.BaseAttributes.ToMap()
if err != nil {
return nil, err
}
vnicSanConnPolicyMap["childAction"] = vnicSanConnPolicy.Child_action
vnicSanConnPolicyMap["fltAggr"] = vnicSanConnPolicy.Flt_aggr
vnicSanConnPolicyMap["intId"] = vnicSanConnPolicy.Int_id
vnicSanConnPolicyMap["policyLevel"] = vnicSanConnPolicy.Policy_level
vnicSanConnPolicyMap["policyOwner"] = vnicSanConnPolicy.Policy_owner
vnicSanConnPolicyMap["sacl"] = vnicSanConnPolicy.Sacl
return vnicSanConnPolicyMap, nil
}
func VnicSanConnPolicyFromDoc(doc *etree.Document, rootClass string) *VnicSanConnPolicy {
element, err := GetMoElement(doc, rootClass, VnicSanConnPolicyClassName)
if err != nil {
return nil
}
return &VnicSanConnPolicy{
BaseAttributes: BaseAttributes{
DistinguishedName: element.SelectAttrValue("dn", ""),
ClassName: VnicSanConnPolicyClassName,
Description: element.SelectAttrValue("descr", ""),
Status: element.SelectAttrValue("status", ""),
},
VnicSanConnPolicyAttributes: VnicSanConnPolicyAttributes{
Child_action: element.SelectAttrValue("childAction", ""),
Flt_aggr: element.SelectAttrValue("fltAggr", ""),
Int_id: element.SelectAttrValue("intId", ""),
Policy_level: element.SelectAttrValue("policyLevel", ""),
Policy_owner: element.SelectAttrValue("policyOwner", ""),
Sacl: element.SelectAttrValue("sacl", ""),
},
}
}