DDI-PublicIP
- GET /ddi/public-ips
List public IP addresses
Lists all public IP addresses from CloudStack with optional filtering
- Query Parameters:
zone_id (string) – CloudStack zone ID filter
network_id (string) – Network ID filter
vpc_id (string) – VPC ID filter
vm_id (string) – VM ID filter
state (string) – IP state filter (Allocated, Released, etc.)
ip_address (string) – Specific IP address filter
include_dns (boolean) – Include DNS information
dns_zone (string) – DNS zone to search for records
- Status Codes:
200 OK – OK
400 Bad Request – Bad Request
500 Internal Server Error – Internal Server Error
- Response JSON Object:
count (integer)
data[].account (string)
data[].allocated_at (string)
data[].associated (boolean)
data[].dns_created (boolean) – DNS Information
data[].dns_name (string)
data[].domain_id (string)
data[].id (string)
data[].ip_address (string)
data[].network_id (string)
data[].network_name (string)
data[].state (string) – Allocated, Associated, Released
data[].vm_display_name (string)
data[].vm_id (string)
data[].vm_name (string)
data[].vpc_id (string)
data[].vpc_name (string)
data[].zone_id (string)
data[].zone_name (string)
message (string)
success (boolean)
- POST /ddi/public-ips
Allocate a public IP address
Allocates a new public IP from CloudStack and optionally creates DNS records
- Request JSON Object:
account (string)
associate_to_vm (boolean) – Auto-association options
create_dns (boolean) – DNS options
create_ptr (boolean) – Create PTR record
dns_zone (string) – DNS zone (e.g., “example.com”)
domain_id (string)
hostname (string) – Hostname for DNS
ip_address (string) – Specific IP request
network_id (string) – For shared networks
project_id (string)
ttl (integer) – DNS TTL (default: 3600)
vm_id (string) – VM ID if AssociateToVM=true
vpc_id (string) – For VPC networks
zone_id (string) – (required)
- Status Codes:
200 OK – OK
400 Bad Request – Bad Request
500 Internal Server Error – Internal Server Error
- Response JSON Object:
data.account (string)
data.allocated_at (string)
data.associated (boolean)
data.dns_created (boolean) – DNS Information
data.dns_name (string)
data.domain_id (string)
data.id (string)
data.ip_address (string)
data.network_id (string)
data.network_name (string)
data.state (string) – Allocated, Associated, Released
data.vm_display_name (string)
data.vm_id (string)
data.vm_name (string)
data.vpc_id (string)
data.vpc_name (string)
data.zone_id (string)
data.zone_name (string)
message (string)
success (boolean)
- DELETE /ddi/public-ips/{ip_id}
Release a public IP address
Releases a public IP back to CloudStack and optionally removes DNS records
- Parameters:
ip_id (string) – Public IP ID
- Query Parameters:
remove_dns (boolean) – Remove associated DNS records
dns_zone (string) – DNS zone to remove records from
- Status Codes:
200 OK – OK
400 Bad Request – Bad Request
500 Internal Server Error – Internal Server Error
- Response JSON Object:
message (string)
success (boolean)
- GET /ddi/public-ips/{ip_id}
Get public IP details
Retrieves detailed information about a specific public IP
- Parameters:
ip_id (string) – Public IP ID
- Query Parameters:
include_dns (boolean) – Include DNS information
dns_zone (string) – DNS zone to search for records
- Status Codes:
200 OK – OK
400 Bad Request – Bad Request
404 Not Found – Not Found
500 Internal Server Error – Internal Server Error
- Response JSON Object:
data.account (string)
data.allocated_at (string)
data.associated (boolean)
data.dns_created (boolean) – DNS Information
data.dns_name (string)
data.domain_id (string)
data.id (string)
data.ip_address (string)
data.network_id (string)
data.network_name (string)
data.state (string) – Allocated, Associated, Released
data.vm_display_name (string)
data.vm_id (string)
data.vm_name (string)
data.vpc_id (string)
data.vpc_name (string)
data.zone_id (string)
data.zone_name (string)
message (string)
success (boolean)
- POST /ddi/public-ips/{ip_id}/associate
Associate a public IP to a VM
Associates a public IP address to a virtual machine using static NAT
- Parameters:
ip_id (string) – Public IP ID
- Request JSON Object:
network_id (string)
vm_id (string)
- Status Codes:
200 OK – OK
400 Bad Request – Bad Request
500 Internal Server Error – Internal Server Error
- Response JSON Object:
message (string)
success (boolean)
- POST /ddi/public-ips/{ip_id}/disassociate
Disassociate a public IP from a VM
Disassociates a public IP address from its associated virtual machine
- Parameters:
ip_id (string) – Public IP ID
- Status Codes:
200 OK – OK
400 Bad Request – Bad Request
500 Internal Server Error – Internal Server Error
- Response JSON Object:
message (string)
success (boolean)
- PUT /ddi/public-ips/{ip_id}/dns
Update DNS records for a public IP
Creates, updates, or deletes DNS records associated with a public IP
- Parameters:
ip_id (string) – Public IP ID
- Request JSON Object:
action (string) – “create”, “update”, “delete” (required)
create_ptr (boolean)
dns_zone (string)
hostname (string)
public_ip_id (string) – Set from path parameter
record_id (string) – For update/delete actions
ttl (integer)
- Status Codes:
200 OK – OK
400 Bad Request – Bad Request
500 Internal Server Error – Internal Server Error
- Response JSON Object:
fqdn (string)
ip_address (string)
message (string)
ptr_created (boolean)
success (boolean)