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:
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:
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:
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:
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:
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:
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:
Response JSON Object:
  • fqdn (string)

  • ip_address (string)

  • message (string)

  • ptr_created (boolean)

  • success (boolean)