Assign Static NAT IP Address Using CloudStack API

CloudStack provides APIs using which a public IP can be acquired and assigned to virtual machines. A CloudStack admin, domain admin or a user can use CloudMonkey CLI to do the following steps:

  1. First, use the associateIpAddress API Acquires and associates a public IP to an account
  2. Then use the enableStaticNat API to enable Static NAT for the given address

In the below example, is being acquired and associated with the IP address

cloudmonkey> associate ipaddress \
accountid = ed219959-b923-4d7f-8b45-0416bebf5732
cmd = org.apache.cloudstack.api.command.user.address.AssociateIPAddrCmd
created = 2013-12-29T08:44:33+0530
jobid = 21b56968-c0b7-42b5-be14-dae29ee5ba11
jobprocstatus = 0
id = 1205ac26-884c-4060-90bd-22fbf6a81d79
account = shanker
allocated = 2013-12-29T08:44:33+0530
associatednetworkid = aa30e739-0dbd-44f3-8642-fa6c60a06ae0
associatednetworkname = sysVLAN
domain = sysCredence
domainid = f84afe24-5a54-4d98-9067-2a8a61489e02
forvirtualnetwork = True
ipaddress =
isportable = False
issourcenat = False
isstaticnat = False
issystem = False
networkid = 56e13894-ac11-44a9-b4b5-bc4d772add03
physicalnetworkid = 1fca3b97-ae83-4c6d-b9db-b31d77f78ce5
state = Allocating
zoneid = 15944836-0b1e-4077-a4e0-9ee32306679e
cloudmonkey> enable staticnat \
 ipaddressid=67f16c0b-25a1-4ec8-8701-674a40d3091f \
 vmguestip= \
success = true

You can verify the changes using the UI also.

Screen Shot 2013-12-29 at 9.00.41 am

By Shanker Balan

Shanker Balan is a devops and infrastructure freelancer with over 14 years of industry experience in large scale Internet systems. He is available for both short term and long term projects on contract. Please use the Contact Form for any enquiry.

Leave a comment

Your email address will not be published. Required fields are marked *