Chuyển tới nội dung chính

Cập nhật floating IP

PUT/v2.0/floatingips/{floatingip_id}

Gán một port trong mạng riêng với floating IP hiện có.

Để bỏ liên kết floating IP khỏi port, đặt thuộc tính port_id thành null hoặc bỏ qua trong request body.

info

Request​

Tham số​

floatingip_idstringbắt buộcpath

ID của địa chỉ floating IP.

floatingipobjectbắt buộcbody

Object floatingip. Khi bạn liên kết một địa chỉ floating IP với VM, instance sẽ có cùng địa chỉ public IP mỗi lần khởi động, nhằm duy trì địa chỉ IP nhất quán để giữ gán DNS.

descriptionstringbody

Mô tả dễ đọc của tài nguyên. Mặc định là chuỗi rỗng.

fixed_ip_addressstringbody

Địa chỉ fixed IP liên kết với floating IP. Nếu một internal port có nhiều địa chỉ IP liên kết, service chọn địa chỉ IP đầu tiên trừ khi bạn chỉ định rõ địa chỉ fixed IP trong tham số fixed_ip_address.

port_idstringbắt buộcbody

ID của port liên kết với floating IP. Để liên kết floating IP với một fixed IP, bạn phải chỉ định ID của internal port. Để bỏ liên kết floating IP, chỉ định null.

Request mẫu​

Dùng curl​

curl -ks -X PUT -H 'Content-Type: application/json' -H 'X-Auth-Token: gAAAAA<...>' -d '{
"floatingip": {
"port_id": "67f24e5f-5a80-4ffd-a841-6c413358be05"
}
}' https://api.vietnix.cloud:9696/v2.0/floatingips/15adb7f5-05ce-4ec0-a146-b4921dcc5b4c

HTTP request​

PUT https://api.vietnix.cloud:9696/v2.0/floatingips/15adb7f5-05ce-4ec0-a146-b4921dcc5b4c
Content-Type: application/json
X-Auth-Token: gAAAAA<...>

{
"floatingip": {
"port_id": "67f24e5f-5a80-4ffd-a841-6c413358be05"
}
}

Response​

Tham số response​

floatingipobjectbắt buộc

Object floatingip. Khi bạn liên kết một địa chỉ floating IP với VM, instance sẽ có cùng địa chỉ public IP mỗi lần khởi động, nhằm duy trì địa chỉ IP nhất quán để giữ gán DNS.

idstringbắt buộc

ID của địa chỉ floating IP.

router_idstringbắt buộc

ID của router của floating IP.

statusstringbắt buộc

Trạng thái của floating IP. Giá trị là ACTIVE, DOWN và ERROR.

descriptionstringbắt buộc

Mô tả dễ đọc của tài nguyên.

dns_domainstringbắt buộc

Một DNS domain hợp lệ.

dns_namestringbắt buộc

Một DNS name hợp lệ.

port_detailsstringbắt buộc

Thông tin của port mà floating IP này liên kết. Cụ thể, nếu floating IP được liên kết với một port, field này chứa một số thuộc tính của port đó, gồm name, network_id, mac_address, admin_state_up, status, device_id và device_owner. Nếu floating IP không liên kết với port, field này là null.

tenant_idstringbắt buộc

ID của project.

created_atstringbắt buộc

Ngày giờ tạo tài nguyên. Định dạng timestamp ISO 8601: CCYY-MM-DDThh:mm±hh. Ví dụ: 2015-08-27T09:49:58-05:00. Giá trị ±hh, nếu có, là múi giờ so với UTC. Trong ví dụ này, offset là -05:00.

updated_atstringbắt buộc

Ngày giờ cập nhật tài nguyên. Nếu tài nguyên chưa được cập nhật, field này là null. Định dạng timestamp ISO 8601: CCYY-MM-DDThh:mm±hh. Ví dụ: 2015-08-27T09:49:58-05:00. Giá trị ±hh, nếu có, là múi giờ so với UTC. Trong ví dụ này, offset là -05:00.

revision_numberintegerbắt buộc

Revision number của tài nguyên.

project_idstringbắt buộc

ID của project.

floating_network_idstringbắt buộc

ID của mạng liên kết với floating IP.

fixed_ip_addressstringbắt buộc

Địa chỉ fixed IP liên kết với địa chỉ floating IP.

floating_ip_addressstringbắt buộc

Địa chỉ floating IP.

port_idstringbắt buộc

ID của port liên kết với floating IP.

tagsarraybắt buộc

Danh sách tag trên tài nguyên.

port_forwardingsarraybắt buộc

Các tài nguyên port forwarding liên kết với floating IP. Nếu floating IP có nhiều tài nguyên port forwarding, field này có nhiều phần tử. Mỗi phần tử gồm giao thức IP mạng (protocol), địa chỉ fixed IP của neutron port nội bộ (internal_ip_address), port TCP hoặc UDP dùng bởi neutron port nội bộ (internal_port) và port TCP hoặc UDP dùng bởi floating IP (external_port).

Response mẫu​

Response body
{
"floatingip": {
"id": "15adb7f5-05ce-4ec0-a146-b4921dcc5b4c",
"tenant_id": "f33507157a634f1cac71e06a70fb558e",
"floating_ip_address": "45.115.16.163",
"floating_network_id": "79cab11a-122d-43a7-9427-3575d9512413",
"router_id": "6fea0caa-4922-4f17-a85e-d075c4f678f0",
"port_id": "67f24e5f-5a80-4ffd-a841-6c413358be05",
"fixed_ip_address": "192.168.1.1",
"status": "DOWN",
"description": "",
"qos_policy_id": null,
"port_details": {
"name": "",
"network_id": "42274a58-f901-42d5-bbfa-49535e550270",
"mac_address": "fa:16:3e:9e:6c:37",
"admin_state_up": true,
"status": "ACTIVE",
"device_id": "6fea0caa-4922-4f17-a85e-d075c4f678f0",
"device_owner": "network:router_interface_distributed"
},
"tags": [],
"created_at": "2025-09-25T01:33:46Z",
"updated_at": "2025-09-25T02:15:19Z",
"revision_number": 7,
"project_id": "f33507157a634f1cac71e06a70fb558e"
}
}

Mã trạng thái​

Thành công​

MãMô tả
200 - OKRequest thành công.

Lỗi​

MãMô tả
400 - Bad RequestNội dung request không hợp lệ.
401 - UnauthorizedCần xác thực trước khi gửi request.
404 - Not FoundKhông tìm thấy tài nguyên được yêu cầu.
409 - ConflictThao tác xung đột với một thao tác khác trên tài nguyên.
412 - Precondition FailedServer không đáp ứng một trong các điều kiện tiên quyết mà bên gửi request đặt trên header.
Chi tiết lỗi​
  • 400 - Bad Request có thể xảy ra nếu:
    • Mạng không phải external (router:external là false).
    • Internal networking port không liên kết với địa chỉ floating IP.
    • Địa chỉ floating IP được yêu cầu không nằm trong dải subnet của mạng external.
    • Địa chỉ fixed IP không hợp lệ.
  • 404 - Not Found xảy ra nếu port_id không hợp lệ.
  • 409 - Conflict có thể xảy ra nếu:
    • Địa chỉ floating IP được yêu cầu đang được sử dụng.
    • Internal networking port và địa chỉ fixed IP đã liên kết với một floating IP khác.