Skip to content

Commit bfefb5b

Browse files
authored
adding updateVlanIpRange
2 parents 84fb8b5 + 8fa8082 commit bfefb5b

File tree

6 files changed

+366
-1
lines changed

6 files changed

+366
-1
lines changed

cloudstack/VLANService.go

Lines changed: 256 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 {
@@ -399,6 +401,10 @@ func (s *VLANService) CreateVlanIpRange(p *CreateVlanIpRangeParams) (*CreateVlan
399401
return nil, err
400402
}
401403

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

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/generate.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1718,10 +1718,12 @@ func (s *service) generateNewAPICallFunc(a *API) {
17181718
"CreateNetwork",
17191719
"CreateStoragePool",
17201720
"CreateNetworkOffering",
1721+
"CreateVlanIpRange",
17211722
"UpdateNetworkOffering",
17221723
"UpdateServiceOffering",
17231724
"UpdateConfiguration",
17241725
"UpdateCluster",
1726+
"UpdateVlanIpRange",
17251727
"CreatePod",
17261728
"CreateSSHKeyPair",
17271729
"CreateSecurityGroup",

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)