Cập nhật floating IP
/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.
Nguồn: update-floating-ip
Request
Tham số
floatingip_idstringbắt buộcpathID của địa chỉ floating IP.
floatingipobjectbắt buộcbodyObject 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.
descriptionstringbodyMô 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ộcbodyID 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ộcObject 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ộcID của địa chỉ floating IP.
router_idstringbắt buộcID của router của floating IP.
statusstringbắt buộcTrạng thái của floating IP. Giá trị là ACTIVE, DOWN và ERROR.
descriptionstringbắt buộcMô tả dễ đọc của tài nguyên.
dns_domainstringbắt buộcMột DNS domain hợp lệ.
dns_namestringbắt buộcMột DNS name hợp lệ.
port_detailsstringbắt buộcThô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ộcID của project.
created_atstringbắt buộcNgà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ộcNgà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ộcRevision number của tài nguyên.
project_idstringbắt buộcID của project.
floating_network_idstringbắt buộcID 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ộcID của port liên kết với floating IP.
tagsarraybắt buộcDanh sách tag trên tài nguyên.
port_forwardingsarraybắt buộcCá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 - OK | Request thành công. |
Lỗi
| Mã | Mô tả |
|---|---|
| 400 - Bad Request | Nội dung request không hợp lệ. |
| 401 - Unauthorized | Cần xác thực trước khi gửi request. |
| 404 - Not Found | Không tìm thấy tài nguyên được yêu cầu. |
| 409 - Conflict | Thao tác xung đột với một thao tác khác trên tài nguyên. |
| 412 - Precondition Failed | Server 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_idkhô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.