ECS
The SDK interfaces based on the Nova v2 API are as follows. Invocation example: conn.compute.create_server()
| Interface | Method | API |
|---|---|---|
| Flavor Operations | find_flavor(self, name_or_id, ignore_missing=True) | |
| get_flavor(self, flavor) | GET /v2/{project_id}/flavors/{flavor_id} | |
| query_flavor_extra_specs(self, flavor_id) | GET /v2/{project_id}/flavors/{flavors_id}/os-extra_specs | |
| flavors(self, details=True, paginated=True, **query) | GET /v2/{project_id}/flavors/detail | |
| Image Operations | delete_image(self, image, ignore_missing=True) | DELETE /v2/{project_id}/images/{image_id} |
| find_image(self, name_or_id, ignore_missing=True) | name: GET /v2/{project_id}/images Image_id: GET /v2/{project_id}/images/{image_id} | |
| get_image(self, image) | GET /v2/{project_id}/images/{image_id} | |
| images(self, details=True, **query) | GET /v2/{project_id}/images/detail | |
| get_image_metadata(self, image) | GET /v2/{project_id}/images/{image_id}/metadata | |
| Keypair Operations | create_keypair(self, **attrs) | POST /v2/{project_id}/os-keypairs |
| delete_keypair(self, keypair, ignore_missing=True) | DELETE /v2/{project_id}/os-keypairs/{keypair_name} | |
| get_keypair(self, keypair) | GET /v2/{project_id}/os-keypairs/{keypair_name} | |
| find_keypair(self, name, ignore_missing=True) | Keypair_name: GET /v2/{project_id}/os-keypairs/{keypair_name} Name: GET /v2/{project_id}/os-keypairs | |
| keypairs(self) | GET /v2/{project_id}/os-keypairs | |
| Server Operations | create_server(self, **attrs) | POST /v2/{project_id}/servers |
| delete_server(self, server, ignore_missing=True, force=False) | DELETE /v2/{project_id}/servers/{server_id} | |
| find_server(self, name_or_id, ignore_missing=True) | Name: GET /v2/{project_id}/servers Server_id: GET /v2/{project_id}/servers/{server_id} | |
| get_server(self, server) | GET /v2/{project_id}/servers/{server_id} | |
| servers_list(self, details=True, paginated=True, headers=None, **query) | ||
| create_server_image(self, server, name, metadata=None) | POST /v2/{project_id}/servers/{server_id}/action | |
| add_floating_ip_to_server(self, server, address, fixed_address=None) | POST /v2/{project_id}/servers/{server_id}/action | |
| remove_floating_ip_from_server(self, server, address) | POST /v2/{project_id}/servers/{server_id}/action | |
| lock_server(self, server) | POST /v2/{project_id}/servers/{server_id}/action | |
| unlock_server(self, server) | POST /v2/{project_id}/servers/{server_id}/action | |
| start_server(self, server) | POST /v2/{project_id}/servers/{server_id}/action | |
| stop_server(self, server) | POST /v2/{project_id}/servers/{server_id}/action | |
| wait_for_server(self, server, status='ACTIVE', failures=['ERROR'], interval=2, wait=120) | GET /v2/{project_id}/servers/{server_id} | |
| instance_actions(self, server_id) | GET /v2/{project_id}/servers/{server_id}/os-instance-actions | |
| get_instance_action(self, server_id, request_id) | GET /v2/{project_id}/servers/{server_id}/os-instance-actions/{request_id} | |
| get_server_console_output(self, server_id, lines) | POST /v2/{project_id}/servers/{server_id}/action | |
| Server Interface Operations | create_server_interface(self, server, **attrs) | POST /v2/{project_id}/servers/{server_id}/os-interface |
| delete_server_interface(self, server_interface, server=None, ignore_missing=True) | DELETE /v2/{project_id}/servers/{server_id}/os-interface/{port_id} | |
| get_server_interface(self, server_interface, server=None) | GET /v2/{project_id}/servers/{server_id}/os-interface/{port_id} | |
| server_interfaces(self, server) | GET /v2/{project_id}/servers/{server_id}/os-interface | |
| Server IPs Operations | server_ips(self, server, network_label=None) | GET /v2/{project_id}/servers/{server_id}/ips |
| Availability Zone Operations | availability_zones(self, details=False) | GET /v2/{project_id}/os-availability-zone |
| Server Group Operations | create_server_group(self, **attrs) | POST /v2/{project_id}/os-server-groups |
| delete_server_group(self, server_group, ignore_missing=True) | DELETE /v2/{project_id}/os-server-groups/{server_group_id} | |
| find_server_group(self, name_or_id, ignore_missing=True) | Name: GET /v2/{project_id}/os-server-groups Server_group_id: GET /v2/{project_id}/os-server-groups/{server_group_id} | |
| get_server_group(self, server_group) | GET /v2/{project_id}/os-server-groups/{server_group_id} | |
| Quota Operations | get_limits(self) | GET /v2/{project_id}/limits |
| query_quota(self, project_id) | GET /v2/{project_id}/os-quota-sets/{project_id} | |
| query_quota_default(self, project_id) | GET /v2/{project_id}/os-quota-sets/{project_id}/defaults | |
| Volume Attachment Operations | delete_volume_attachment(self, volume_attachment, server, force_del=False, ignore_missing=True) | DELETE /v2/{project_id}/servers/{server_id}/os-volume_attachments/{volume_id} |
| volume_attachments(self, server) | GET /v2/{project_id}/servers/{server_id}/os-volume_attachments | |
| get_volume_attachment(self, volume_attachment, server) | GET /v2/{project_id}/servers/{server_id}/os-volume_attachments/{volume_id} | |
| create_volume_attachment(self, server, **attrs) | POST /v2/{project_id}/servers/{server_id}/os-volume_attachments | |
| Metadata Operations | get_server_metadata(self, server, key=None) | |
| update_server_metadata(self, server, key, value) | PUT /v2/{project_id}/servers/{server_id}/metadata/{key} | |
| set_server_metadata(self, server, **metadata) | POST /v2/{project_id}/servers/{server_id}/metadata | |
| delete_server_metadata(self, server, keys) | DELETE /v2/{project_id}/servers/{server_id}/metadata/{key} |
The SDK interfaces based on the Nova v2.1 API are as follows. Invocation example: conn.ecs.create_server_ext()
| Interface | Method | API |
|---|---|---|
| Server Interface Operations | get_vnc_address(headers=headers, server_id=server_id, **data) | POST /v2.1/{project_id}/servers/{server_id}/remote-consoles |
The SDK interfaces based on the ECS v1.1 API are as follows.
Invocation example: conn.ecs.create_server_ext()
| Interface | Method | API |
|---|---|---|
| Server Operations | create_server_ext(self, **data) | POST /v1.1/{project_id}/cloudservers |
| resize_server_ext(self, server_id, **data) | POST /v1.1/{project_id}/cloudservers/{server_id}/resize |
The SDK interfaces based on the ECS v1 API are as follows. Invocation example: conn.ecs.get_server()
| Interface | Method | API |
|---|---|---|
| Server Operations | get_server(self, server_id) | GET /v1/{project_id}/cloudservers/{server_id} |
| servers(self, paginated=True, **query) | GET /v1/{project_id}/cloudservers/detail{?flavor,name,status,limit,offset,not-tags,reservation_id,enterprise_project_id} | |
| def batch_change_os_server(self, **data) | POST/v1/{project_id}/cloudservers/{server_id}/changeos (Currently, no API link is available.) | |
| get_autorecovery(self, server_id) | GET /v1/{project_id}/cloudservers/{server_id}/autorecovery | |
| config_autorecovery(self, server_id, autorecovery) | PUT /v1/{project_id}/cloudservers/{server_id}/autorecovery | |
| reset_password(self, server_id, **data) | PUT /v1/{project_id}/cloudservers/{server_id}/os-reset-password | |
| Flavor Operations | flavors(self, **query) | GET /v1/{project_id}/cloudservers/flavors{?availability_zone} |
| Quota Operations | quotas(self) | GET /v1/{project_id}/cloudservers/limits |
| Server Tag Operations | create_server_tags(self, server_id, **data) | POST /v1/{project_id}/cloudservers/{server_id}/tags/action |
| delete_server_tags(self, server_id, **data) | POST /v1/{project_id}/cloudservers/{server_id}/tags/action | |
| get_server_tags(self, server_id) | GET /v1/{project_id}/cloudservers/{server_id}/tags | |
| get_project_tags(self) | GET /v1/{project_id}/cloudservers/tags | |
| Server Interface Operations | get_vnc_address(server_id, **data) | POST /v1/{project_id}/cloudservers/{server_id}/remote_console |
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.