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)

  • name:

    GET /v2/{project_id}/flavors

    Link

  • id:

    GET /v2/{project_id}/flavors/{flavor_id}

    Link

get_flavor(self, flavor)

GET /v2/{project_id}/flavors/{flavor_id}

Link

query_flavor_extra_specs(self, flavor_id)

GET /v2/{project_id}/flavors/{flavors_id}/os-extra_specs

Link

flavors(self, details=True, paginated=True, **query)

GET /v2/{project_id}/flavors/detail

Link

Image Operations

delete_image(self, image, ignore_missing=True)

DELETE /v2/{project_id}/images/{image_id}

Link

find_image(self, name_or_id, ignore_missing=True)

name:

GET /v2/{project_id}/images

Link

Image_id:

GET /v2/{project_id}/images/{image_id}

Link

get_image(self, image)

GET /v2/{project_id}/images/{image_id}

Link

images(self, details=True, **query)

GET /v2/{project_id}/images/detail

Link

get_image_metadata(self, image)

GET /v2/{project_id}/images/{image_id}/metadata

Link

Keypair Operations

create_keypair(self, **attrs)

POST /v2/{project_id}/os-keypairs

Link

delete_keypair(self, keypair, ignore_missing=True)

DELETE /v2/{project_id}/os-keypairs/{keypair_name}

Link

get_keypair(self, keypair)

GET /v2/{project_id}/os-keypairs/{keypair_name}

Link

find_keypair(self, name, ignore_missing=True)

Keypair_name:

GET /v2/{project_id}/os-keypairs/{keypair_name}

Link

Name:

GET /v2/{project_id}/os-keypairs

Link

keypairs(self)

GET /v2/{project_id}/os-keypairs

Link

Server Operations

create_server(self, **attrs)

POST /v2/{project_id}/servers

Link

delete_server(self, server, ignore_missing=True, force=False)

DELETE /v2/{project_id}/servers/{server_id}

Link

find_server(self, name_or_id, ignore_missing=True)

Name:

GET /v2/{project_id}/servers

Link

Server_id:

GET /v2/{project_id}/servers/{server_id}

Link

get_server(self, server)

GET /v2/{project_id}/servers/{server_id}

Link

servers_list(self, details=True, paginated=True, headers=None, **query)

  • details=True:

    GET /v2/{project_id}/servers/detail

    Link

  • details=False:

    GET /v2/{project_id}/servers

    Link

create_server_image(self, server, name, metadata=None)

POST /v2/{project_id}/servers/{server_id}/action

Link

add_floating_ip_to_server(self, server, address, fixed_address=None)

POST /v2/{project_id}/servers/{server_id}/action

Link

remove_floating_ip_from_server(self, server, address)

POST /v2/{project_id}/servers/{server_id}/action

Link

lock_server(self, server)

POST /v2/{project_id}/servers/{server_id}/action

Link

unlock_server(self, server)

POST /v2/{project_id}/servers/{server_id}/action

Link

start_server(self, server)

POST /v2/{project_id}/servers/{server_id}/action

Link

stop_server(self, server)

POST /v2/{project_id}/servers/{server_id}/action

Link

wait_for_server(self, server, status='ACTIVE', failures=['ERROR'], interval=2, wait=120)

GET /v2/{project_id}/servers/{server_id}

Link

instance_actions(self, server_id)

GET /v2/{project_id}/servers/{server_id}/os-instance-actions

Link

get_instance_action(self, server_id, request_id)

GET /v2/{project_id}/servers/{server_id}/os-instance-actions/{request_id}

Link

get_server_console_output(self, server_id, lines)

POST /v2/{project_id}/servers/{server_id}/action

Link

Server Interface Operations

create_server_interface(self, server, **attrs)

POST /v2/{project_id}/servers/{server_id}/os-interface

Link

delete_server_interface(self, server_interface, server=None, ignore_missing=True)

DELETE /v2/{project_id}/servers/{server_id}/os-interface/{port_id}

Link

get_server_interface(self, server_interface, server=None)

GET /v2/{project_id}/servers/{server_id}/os-interface/{port_id}

Link

server_interfaces(self, server)

GET /v2/{project_id}/servers/{server_id}/os-interface

Link

Server IPs Operations

server_ips(self, server, network_label=None)

GET /v2/{project_id}/servers/{server_id}/ips

Link

Availability Zone Operations

availability_zones(self, details=False)

GET /v2/{project_id}/os-availability-zone

Link

Server Group Operations

create_server_group(self, **attrs)

POST /v2/{project_id}/os-server-groups

Link

delete_server_group(self, server_group, ignore_missing=True)

DELETE /v2/{project_id}/os-server-groups/{server_group_id}

Link

find_server_group(self, name_or_id, ignore_missing=True)

Name:

GET /v2/{project_id}/os-server-groups

Link

Server_group_id:

GET /v2/{project_id}/os-server-groups/{server_group_id}

Link

get_server_group(self, server_group)

GET /v2/{project_id}/os-server-groups/{server_group_id}

Link

Quota Operations

get_limits(self)

GET /v2/{project_id}/limits

Link

query_quota(self, project_id)

GET /v2/{project_id}/os-quota-sets/{project_id}

Link

query_quota_default(self, project_id)

GET /v2/{project_id}/os-quota-sets/{project_id}/defaults

Link

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}

Link

volume_attachments(self, server)

GET /v2/{project_id}/servers/{server_id}/os-volume_attachments

Link

get_volume_attachment(self, volume_attachment, server)

GET /v2/{project_id}/servers/{server_id}/os-volume_attachments/{volume_id}

Link

create_volume_attachment(self, server, **attrs)

POST /v2/{project_id}/servers/{server_id}/os-volume_attachments

Link

Metadata Operations

get_server_metadata(self, server, key=None)

  • Key=None:

    GET /v2/{project_id}/servers/{server_id}/metadata

    Link

  • Key !=None:

    GET /v2/{project_id}/servers/{server_id}/metadata/{key}

    Link

update_server_metadata(self, server, key, value)

PUT /v2/{project_id}/servers/{server_id}/metadata/{key}

Link

set_server_metadata(self, server, **metadata)

POST /v2/{project_id}/servers/{server_id}/metadata

Link

delete_server_metadata(self, server, keys)

DELETE /v2/{project_id}/servers/{server_id}/metadata/{key}

Link

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

Link

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

Link

resize_server_ext(self, server_id, **data)

POST /v1.1/{project_id}/cloudservers/{server_id}/resize

Link

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}

Link

servers(self, paginated=True, **query)

GET /v1/{project_id}/cloudservers/detail{?flavor,name,status,limit,offset,not-tags,reservation_id,enterprise_project_id}

Link

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

Link

config_autorecovery(self, server_id, autorecovery)

PUT /v1/{project_id}/cloudservers/{server_id}/autorecovery

Link

reset_password(self, server_id, **data)

PUT /v1/{project_id}/cloudservers/{server_id}/os-reset-password

Link

Flavor Operations

flavors(self, **query)

GET /v1/{project_id}/cloudservers/flavors{?availability_zone}

Link

Quota Operations

quotas(self)

GET /v1/{project_id}/cloudservers/limits

Link

Server Tag Operations

create_server_tags(self, server_id, **data)

POST /v1/{project_id}/cloudservers/{server_id}/tags/action

Link

delete_server_tags(self, server_id, **data)

POST /v1/{project_id}/cloudservers/{server_id}/tags/action

Link

get_server_tags(self, server_id)

GET /v1/{project_id}/cloudservers/{server_id}/tags

Link

get_project_tags(self)

GET /v1/{project_id}/cloudservers/tags

Link

Server Interface Operations

get_vnc_address(server_id, **data)

POST /v1/{project_id}/cloudservers/{server_id}/remote_console

Link