Skip to content

Commit 6ee754d

Browse files
committed
adding updateVlanIpRange
1 parent 84fb8b5 commit 6ee754d

File tree

4 files changed

+293
-0
lines changed

4 files changed

+293
-0
lines changed

cloudstack/VLANService.go

Lines changed: 248 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,8 @@ type VLANServiceIface interface {
4444
NewReleaseDedicatedGuestVlanRangeParams(id string) *ReleaseDedicatedGuestVlanRangeParams
4545
ListGuestVlans(p *ListGuestVlansParams) (*ListGuestVlansResponse, error)
4646
NewListGuestVlansParams() *ListGuestVlansParams
47+
UpdateVlanIpRange(p *UpdateVlanIpRangeParams) (*UpdateVlanIpRangeResponse, error)
48+
NewUpdateVlanIpRangeParams(id string) *UpdateVlanIpRangeParams
4749
}
4850

4951
type CreateVlanIpRangeParams struct {
@@ -1560,3 +1562,249 @@ type GuestVlan struct {
15601562
Zoneid string `json:"zoneid"`
15611563
Zonename string `json:"zonename"`
15621564
}
1565+
1566+
type UpdateVlanIpRangeParams struct {
1567+
p map[string]interface{}
1568+
}
1569+
1570+
func (p *UpdateVlanIpRangeParams) toURLValues() url.Values {
1571+
u := url.Values{}
1572+
if p.p == nil {
1573+
return u
1574+
}
1575+
if v, found := p.p["endip"]; found {
1576+
u.Set("endip", v.(string))
1577+
}
1578+
if v, found := p.p["endipv6"]; found {
1579+
u.Set("endipv6", v.(string))
1580+
}
1581+
if v, found := p.p["forsystemvms"]; found {
1582+
vv := strconv.FormatBool(v.(bool))
1583+
u.Set("forsystemvms", vv)
1584+
}
1585+
if v, found := p.p["gateway"]; found {
1586+
u.Set("gateway", v.(string))
1587+
}
1588+
if v, found := p.p["id"]; found {
1589+
u.Set("id", v.(string))
1590+
}
1591+
if v, found := p.p["ip6cidr"]; found {
1592+
u.Set("ip6cidr", v.(string))
1593+
}
1594+
if v, found := p.p["ip6gateway"]; found {
1595+
u.Set("ip6gateway", v.(string))
1596+
}
1597+
if v, found := p.p["netmask"]; found {
1598+
u.Set("netmask", v.(string))
1599+
}
1600+
if v, found := p.p["startip"]; found {
1601+
u.Set("startip", v.(string))
1602+
}
1603+
if v, found := p.p["startipv6"]; found {
1604+
u.Set("startipv6", v.(string))
1605+
}
1606+
return u
1607+
}
1608+
1609+
func (p *UpdateVlanIpRangeParams) SetEndip(v string) {
1610+
if p.p == nil {
1611+
p.p = make(map[string]interface{})
1612+
}
1613+
p.p["endip"] = v
1614+
}
1615+
1616+
func (p *UpdateVlanIpRangeParams) GetEndip() (string, bool) {
1617+
if p.p == nil {
1618+
p.p = make(map[string]interface{})
1619+
}
1620+
value, ok := p.p["endip"].(string)
1621+
return value, ok
1622+
}
1623+
1624+
func (p *UpdateVlanIpRangeParams) SetEndipv6(v string) {
1625+
if p.p == nil {
1626+
p.p = make(map[string]interface{})
1627+
}
1628+
p.p["endipv6"] = v
1629+
}
1630+
1631+
func (p *UpdateVlanIpRangeParams) GetEndipv6() (string, bool) {
1632+
if p.p == nil {
1633+
p.p = make(map[string]interface{})
1634+
}
1635+
value, ok := p.p["endipv6"].(string)
1636+
return value, ok
1637+
}
1638+
1639+
func (p *UpdateVlanIpRangeParams) SetForsystemvms(v bool) {
1640+
if p.p == nil {
1641+
p.p = make(map[string]interface{})
1642+
}
1643+
p.p["forsystemvms"] = v
1644+
}
1645+
1646+
func (p *UpdateVlanIpRangeParams) GetForsystemvms() (bool, bool) {
1647+
if p.p == nil {
1648+
p.p = make(map[string]interface{})
1649+
}
1650+
value, ok := p.p["forsystemvms"].(bool)
1651+
return value, ok
1652+
}
1653+
1654+
func (p *UpdateVlanIpRangeParams) SetGateway(v string) {
1655+
if p.p == nil {
1656+
p.p = make(map[string]interface{})
1657+
}
1658+
p.p["gateway"] = v
1659+
}
1660+
1661+
func (p *UpdateVlanIpRangeParams) GetGateway() (string, bool) {
1662+
if p.p == nil {
1663+
p.p = make(map[string]interface{})
1664+
}
1665+
value, ok := p.p["gateway"].(string)
1666+
return value, ok
1667+
}
1668+
1669+
func (p *UpdateVlanIpRangeParams) SetId(v string) {
1670+
if p.p == nil {
1671+
p.p = make(map[string]interface{})
1672+
}
1673+
p.p["id"] = v
1674+
}
1675+
1676+
func (p *UpdateVlanIpRangeParams) GetId() (string, bool) {
1677+
if p.p == nil {
1678+
p.p = make(map[string]interface{})
1679+
}
1680+
value, ok := p.p["id"].(string)
1681+
return value, ok
1682+
}
1683+
1684+
func (p *UpdateVlanIpRangeParams) SetIp6cidr(v string) {
1685+
if p.p == nil {
1686+
p.p = make(map[string]interface{})
1687+
}
1688+
p.p["ip6cidr"] = v
1689+
}
1690+
1691+
func (p *UpdateVlanIpRangeParams) GetIp6cidr() (string, bool) {
1692+
if p.p == nil {
1693+
p.p = make(map[string]interface{})
1694+
}
1695+
value, ok := p.p["ip6cidr"].(string)
1696+
return value, ok
1697+
}
1698+
1699+
func (p *UpdateVlanIpRangeParams) SetIp6gateway(v string) {
1700+
if p.p == nil {
1701+
p.p = make(map[string]interface{})
1702+
}
1703+
p.p["ip6gateway"] = v
1704+
}
1705+
1706+
func (p *UpdateVlanIpRangeParams) GetIp6gateway() (string, bool) {
1707+
if p.p == nil {
1708+
p.p = make(map[string]interface{})
1709+
}
1710+
value, ok := p.p["ip6gateway"].(string)
1711+
return value, ok
1712+
}
1713+
1714+
func (p *UpdateVlanIpRangeParams) SetNetmask(v string) {
1715+
if p.p == nil {
1716+
p.p = make(map[string]interface{})
1717+
}
1718+
p.p["netmask"] = v
1719+
}
1720+
1721+
func (p *UpdateVlanIpRangeParams) GetNetmask() (string, bool) {
1722+
if p.p == nil {
1723+
p.p = make(map[string]interface{})
1724+
}
1725+
value, ok := p.p["netmask"].(string)
1726+
return value, ok
1727+
}
1728+
1729+
func (p *UpdateVlanIpRangeParams) SetStartip(v string) {
1730+
if p.p == nil {
1731+
p.p = make(map[string]interface{})
1732+
}
1733+
p.p["startip"] = v
1734+
}
1735+
1736+
func (p *UpdateVlanIpRangeParams) GetStartip() (string, bool) {
1737+
if p.p == nil {
1738+
p.p = make(map[string]interface{})
1739+
}
1740+
value, ok := p.p["startip"].(string)
1741+
return value, ok
1742+
}
1743+
1744+
func (p *UpdateVlanIpRangeParams) SetStartipv6(v string) {
1745+
if p.p == nil {
1746+
p.p = make(map[string]interface{})
1747+
}
1748+
p.p["startipv6"] = v
1749+
}
1750+
1751+
func (p *UpdateVlanIpRangeParams) GetStartipv6() (string, bool) {
1752+
if p.p == nil {
1753+
p.p = make(map[string]interface{})
1754+
}
1755+
value, ok := p.p["startipv6"].(string)
1756+
return value, ok
1757+
}
1758+
1759+
// You should always use this function to get a new UpdateVlanIpRangeParams instance,
1760+
// as then you are sure you have configured all required params
1761+
func (s *VLANService) NewUpdateVlanIpRangeParams(id string) *UpdateVlanIpRangeParams {
1762+
p := &UpdateVlanIpRangeParams{}
1763+
p.p = make(map[string]interface{})
1764+
p.p["id"] = id
1765+
return p
1766+
}
1767+
1768+
// Updates a VLAN IP range.
1769+
func (s *VLANService) UpdateVlanIpRange(p *UpdateVlanIpRangeParams) (*UpdateVlanIpRangeResponse, error) {
1770+
resp, err := s.cs.newRequest("updateVlanIpRange", p.toURLValues())
1771+
if err != nil {
1772+
return nil, err
1773+
}
1774+
1775+
var r UpdateVlanIpRangeResponse
1776+
if err := json.Unmarshal(resp, &r); err != nil {
1777+
return nil, err
1778+
}
1779+
1780+
return &r, nil
1781+
}
1782+
1783+
type UpdateVlanIpRangeResponse struct {
1784+
Account string `json:"account"`
1785+
Cidr string `json:"cidr"`
1786+
Description string `json:"description"`
1787+
Domain string `json:"domain"`
1788+
Domainid string `json:"domainid"`
1789+
Endip string `json:"endip"`
1790+
Endipv6 string `json:"endipv6"`
1791+
Forsystemvms bool `json:"forsystemvms"`
1792+
Forvirtualnetwork bool `json:"forvirtualnetwork"`
1793+
Gateway string `json:"gateway"`
1794+
Id string `json:"id"`
1795+
Ip6cidr string `json:"ip6cidr"`
1796+
Ip6gateway string `json:"ip6gateway"`
1797+
JobID string `json:"jobid"`
1798+
Jobstatus int `json:"jobstatus"`
1799+
Netmask string `json:"netmask"`
1800+
Networkid string `json:"networkid"`
1801+
Physicalnetworkid string `json:"physicalnetworkid"`
1802+
Podid string `json:"podid"`
1803+
Podname string `json:"podname"`
1804+
Project string `json:"project"`
1805+
Projectid string `json:"projectid"`
1806+
Startip string `json:"startip"`
1807+
Startipv6 string `json:"startipv6"`
1808+
Vlan string `json:"vlan"`
1809+
Zoneid string `json:"zoneid"`
1810+
}

cloudstack/VLANService_mock.go

Lines changed: 29 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

generate/layout.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -503,6 +503,7 @@ var layout = apiInfo{
503503
"listVlanIpRanges",
504504
"releaseDedicatedGuestVlanRange",
505505
"listGuestVlans",
506+
"updateVlanIpRange",
506507
},
507508
"UCSService": {
508509
"addUcsManager",

test/VLANService_test.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,4 +125,19 @@ func TestVLANService(t *testing.T) {
125125
}
126126
t.Run("ListGuestVlans", testlistGuestVlans)
127127

128+
testupdateVlanIpRange := func(t *testing.T) {
129+
if _, ok := response["updateVlanIpRange"]; !ok {
130+
t.Skipf("Skipping as no json response is provided in testdata")
131+
}
132+
p := client.VLAN.NewUpdateVlanIpRangeParams("id")
133+
r, err := client.VLAN.UpdateVlanIpRange(p)
134+
if err != nil {
135+
t.Errorf(err.Error())
136+
}
137+
if r.Id == "" {
138+
t.Errorf("Failed to parse response. ID not found")
139+
}
140+
}
141+
t.Run("UpdateVlanIpRange", testupdateVlanIpRange)
142+
128143
}

0 commit comments

Comments
 (0)