vCloud API Programming Guide
72 VMware, Inc.
AsetofFirewallRulesthatallowTCPtraffictoports21and22.Becausetheserulesrequireyouto
specifyasingleIPaddressontheinsideofthefirewall,theIpScopeelementismodifiedtolimittherange
ofIPaddressesavailableonthevAppnetworktoasingleaddress.
AnyVmthatconnectstothevApp
networkdefinedinthisNetworkConfigSectionisgiventhisaddress.
ANatServiceelementthatmapsaroutableexternalIPaddresstotheinternalIPaddressallocatedtothe
VmbythevAppnetwork.TheVAppScopedVmIdvalueinthiselementistakenfromthe
VAppScopedLocalIdelementoftheVmandtheVmNicIdvalueistakenfromits
PrimaryNetworkConnectionIndex.SeeExample 5‐12
onpage 75.
WheneveryoumodifyavAppnetwork,aswedointhisexample,youmustbesurethatthemodificationsare
consistentwiththenetworkconnectionrequirementsofthevirtualmachinesthatconnecttothenetwork.The
vAppinthisexamplecontainsasingleVm.AsshowninExample 5‐12
onpage 75,thatvirtualmachine’s
NetworkConnectionelementspecifiesanIPaddressthatwillnotbeavailableafterthevAppnetworkhas
beenreconfiguredasshowninExample 5‐11.Example 5‐14onpage 77correctsthisproblem.While
Example 5‐11usestheIpScopeelementtorestricttheIPaddressesavailableon
avAppnetwork,itisusually
morepracticaltokeeptherangeofaddressesavailableonavAppnetworksomewhatwider,andapplyany
firewall‐relatedIPaddressrestrictionsbymodifyingtheNetworkConnection oftheVmtowhichthe
FirewallRulesapply,aswedoinExample 5‐14.Awiderrangeof
IPaddresseswouldallowthisvApptobe
modifiedtoincludeadditionalvirtualmachines,andtheIPaddressrestrictionappliedinExample 5‐14would
allowtheFirewallRulesinExample 5‐14toremainvalid.
Thisrequest,likeallrequestbodiesderivedfromaresponse,omitstheLinkelementsandhrefattributesthat
werepartoftheresponse.ItalsoomitstheIsDeployedelementoftheNetworkConfig.Theseelementsand
attributesarecreatedbytheserverandareread‐only.Theyareignoredifyouincludetheminarequest.
Example 5-11. Modify vApp Network Configuration
Request:
PUT http://vcloud.example.com/api/v1.0/vApp/vapp-7/networkConfigSection/
Content-type: application/vnd.vmware.vcloud.networkConfigSection+xml
...
<NetworkConfigSection>
<ovf:Info>Configuration parameters for logical networks</ovf:Info>
<NetworkConfig networkName="vAppNetwork">
<Configuration>
<IpScope>
<IsInherited>false</IsInherited>
<Gateway>10.147.56.253</Gateway>
<Netmask>255.255.255.0</Netmask>
<Dns1>10.147.115.1</Dns1>
<Dns2>10.147.115.2</Dns2>
<DnsSuffix>example.com</DnsSuffix>
<IpRanges>
<IpRange>
<StartAddress>10.147.56.1</StartAddress>
<EndAddress>10.147.56.1</EndAddress>
</IpRange>
</IpRanges>
</IpScope>
<ParentNetwork type="application/vnd.vmware.vcloud.network+xml" name="Internet"
href="http://vcloud.example.com/api/v1.0/network/54"/>
<FenceMode>natRouted</FenceMode>
<Features>
<FirewallService>
<IsEnabled>true</IsEnabled>
<FirewallRule>
<IsEnabled>true</IsEnabled>
<Description>FTP Rule</Description>
<Policy>allow</Policy>
<Protocols>
<Tcp>true</Tcp>
</Protocols>
<Port>21</Port>