@@ -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
4951type 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+ }
0 commit comments