-
Notifications
You must be signed in to change notification settings - Fork 472
/
addressrange.go
58 lines (48 loc) 路 2.3 KB
/
addressrange.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
/* -------------------------------------------------------------------------- */
/* Copyright 2002-2023, OpenNebula Project, OpenNebula Systems */
/* */
/* Licensed 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 virtualnetwork
import (
"encoding/xml"
dyn "github.com/OpenNebula/one/src/oca/go/src/goca/dynamic"
"github.com/OpenNebula/one/src/oca/go/src/goca/schemas/virtualnetwork/keys"
)
// Address Range template part
// AddressRange is a structure allowing to parse AddressRange templates. Common to VM and VRouter.
type AddressRange struct {
dyn.Vector
}
// NewAddressRange returns a structure disk entity to build
func NewAddressRange() *AddressRange {
return &AddressRange{
dyn.Vector{XMLName: xml.Name{Local: keys.ARVec}},
}
}
// ID returns the address range ID as an integer
func (n *AddressRange) ID() (int, error) {
return n.GetInt(string(keys.ARID))
}
// Get returns the string value for an address range keys
func (n *AddressRange) Get(key keys.AddressRange) (string, error) {
return n.GetStr(string(key))
}
// GetI returns the integer value for an address range key
func (n *AddressRange) GetI(key keys.AddressRange) (int, error) {
return n.GetInt(string(key))
}
// Add adds an address range key, value pair.
func (n *AddressRange) Add(key keys.AddressRange, value interface{}) {
n.AddPair(string(key), value)
}