Intelligent Workload Manager (IWM)¶
IWM provides lifecycle management for virtual resources in a multi-cloud multi-tenant environment. It also provides optimised planner for the target infrastructure (costs, tags, etc). Functionality is implemented on top of the Waldur hybrid cloud broker.
Version: 1.0.0
¶
PUT /api/openstacktenant-snapshots/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/openstacktenant-snapshots/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/openstacktenant-snapshots/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/openstacktenant-snapshots/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
GET /api/customers/{uuid}/users/
A list of users connected to the customer
- Description: A list of users connected to the customer
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/project-permissions/
- Projects are connected to customers, whereas the project may belong to one customer only,
- Description: - Projects are connected to customers, whereas the project may belong to one customer only, and the customer may have multiple projects. - Projects are connected to services, whereas the project may contain multiple services, and the service may belong to multiple projects. - Staff members can list all available projects of any customer and create new projects. - Customer owners can list all projects that belong to any of the customers they own. Customer owners can also create projects for the customers they own. - Project administrators can list all the projects they are administrators in. - Project managers can list all the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/project-permissions/
Project permissions expresses connection of user to a project.
- Description: Project permissions expresses connection of user to a project. User may have either project manager or system administrator permission in the project. Use */api/project-permissions/* endpoint to maintain project permissions. Note that project permissions can be viewed and modified only by customer owners and staff users. To list all visible permissions, run a **GET** query against a list. Response will contain a list of project users and their brief data. To add a new user to the project, **POST** a new relationship to */api/project-permissions/* endpoint specifying project, user and the role of the user (‘admin’ or ‘manager’): .. code-block:: http POST /api/project-permissions/ HTTP/1.1 Accept: application/json Authorization: Token 95a688962bf68678fd4c8cec4d138ddd9493c93b Host: example.com { “project”: “http://example.com/api/projects/6c9b01c251c24174a6691a1f894fae31/”, “role”: “manager”, “user”: “http://example.com/api/users/82cec6c8e0484e0ab1429412fe4194b7/” }
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
role | query | string | |
user | query | string | |
user_url | query | string | |
username | query | string | |
full_name | query | string | |
native_name | query | string | |
o | query | string | |
customer | query | string | |
project | query | string | |
project_url | query | string |
Responses
200 -
POST /api/openstack-tenants/{uuid}/pull_floating_ips/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
201 -
PUT /api/hooks-email/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/hooks-email/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/hooks-email/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/hooks-email/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstacktenant-snapshots/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstacktenant-snapshots/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
customer | query | string | |
customer_uuid | query | string | |
customer_name | query | string | |
customer_native_name | query | string | |
customer_abbreviation | query | string | |
project | query | string | |
project_uuid | query | string | |
project_name | query | string | |
service_uuid | query | string | |
service_name | query | string | |
service_settings_name | query | string | |
service_settings_uuid | query | string | |
name | query | string | |
description | query | string | |
state | query | string | |
uuid | query | string | |
tag | query | string | |
rtag | query | string | |
o | query | string | |
source_volume_uuid | query | string | |
source_volume | query | string | |
backup_uuid | query | string | |
backup | query | string |
Responses
200 -
PUT /api/openstacktenant-service-project-link/{id}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string | |
data | body |
Responses
200 -
DELETE /api/openstacktenant-service-project-link/{id}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string |
Responses
204 -
PATCH /api/openstacktenant-service-project-link/{id}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string | |
data | body |
Responses
200 -
GET /api/openstacktenant-service-project-link/{id}/
To remove a link, issue **DELETE** to URL of the corresponding connection as stuff user or customer owner.
- Description: To remove a link, issue **DELETE** to URL of the corresponding connection as stuff user or customer owner.
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string |
Responses
200 -
POST /api/openstack-tenants/{uuid}/create_floating_ip/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
201 -
PUT /api/project-permissions/{id}/
- Projects are connected to customers, whereas the project may belong to one customer only,
- Description: - Projects are connected to customers, whereas the project may belong to one customer only, and the customer may have multiple projects. - Projects are connected to services, whereas the project may contain multiple services, and the service may belong to multiple projects. - Staff members can list all available projects of any customer and create new projects. - Customer owners can list all projects that belong to any of the customers they own. Customer owners can also create projects for the customers they own. - Project administrators can list all the projects they are administrators in. - Project managers can list all the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string | |
data | body |
Responses
200 -
DELETE /api/project-permissions/{id}/
To remove a user from a project, delete corresponding connection (**url** field). Successful deletion
- Description: To remove a user from a project, delete corresponding connection (**url** field). Successful deletion will return status code 204. .. code-block:: http DELETE /api/project-permissions/42/ HTTP/1.1 Authorization: Token 95a688962bf68678fd4c8cec4d138ddd9493c93b Host: example.com
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string |
Responses
204 -
PATCH /api/project-permissions/{id}/
- Projects are connected to customers, whereas the project may belong to one customer only,
- Description: - Projects are connected to customers, whereas the project may belong to one customer only, and the customer may have multiple projects. - Projects are connected to services, whereas the project may contain multiple services, and the service may belong to multiple projects. - Staff members can list all available projects of any customer and create new projects. - Customer owners can list all projects that belong to any of the customers they own. Customer owners can also create projects for the customers they own. - Project administrators can list all the projects they are administrators in. - Project managers can list all the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string | |
data | body |
Responses
200 -
GET /api/project-permissions/{id}/
- Projects are connected to customers, whereas the project may belong to one customer only,
- Description: - Projects are connected to customers, whereas the project may belong to one customer only, and the customer may have multiple projects. - Projects are connected to services, whereas the project may contain multiple services, and the service may belong to multiple projects. - Staff members can list all available projects of any customer and create new projects. - Customer owners can list all projects that belong to any of the customers they own. Customer owners can also create projects for the customers they own. - Project administrators can list all the projects they are administrators in. - Project managers can list all the projects they are managers in.
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string |
Responses
200 -
GET /api/events/event_groups/
Returns a list of groups with event types.
- Description: Returns a list of groups with event types. Group is used in exclude_features query param.
Parameters
Name | Position | Description | Type |
---|
Responses
200 -
PUT /api/hooks-push/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/hooks-push/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/hooks-push/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/hooks-push/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
GET /api/events/scope_types/
Returns a list of scope types acceptable by events filter.
- Description: Returns a list of scope types acceptable by events filter.
Parameters
Name | Position | Description | Type |
---|
Responses
200 -
PUT /api/openstack-floating-ips/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
DELETE /api/openstack-floating-ips/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/openstack-floating-ips/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
GET /api/openstack-floating-ips/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstacktenant-volumes/{uuid}/extend/
Increase volume size
- Description: Increase volume size
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
PUT /api/openstack-subnets/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/openstack-subnets/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/openstack-subnets/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/openstack-subnets/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
PUT /api/openstacktenant-instances/{uuid}/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/openstacktenant-instances/{uuid}/
Deletion of an instance is done through sending a **DELETE** request to the instance URI.
- Description: Deletion of an instance is done through sending a **DELETE** request to the instance URI. Valid request example (token is user specific): .. code-block:: http DELETE /api/openstacktenant-instances/abceed63b8e844afacd63daeac855474/ HTTP/1.1 Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com Only stopped instances or instances in ERRED state can be deleted. By default when instance is destroyed, all data volumes attached to it are destroyed too. In order to preserve data volumes use query parameter ?delete_volumes=false In this case data volumes are detached from the instance and then instance is destroyed. Note that system volume is deleted anyway. For example: .. code-block:: http DELETE /api/openstacktenant-instances/abceed63b8e844afacd63daeac855474/?delete_volumes=false HTTP/1.1 Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/openstacktenant-instances/{uuid}/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/openstacktenant-instances/{uuid}/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstacktenant-instances/{uuid}/change_flavor/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/hooks-web/
To create new web hook issue **POST** against */api/hooks-web/* as an authenticated user.
- Description: To create new web hook issue **POST** against */api/hooks-web/* as an authenticated user. You should specify list of event_types or event_groups. Example of a request: .. code-block:: http POST /api/hooks-web/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “event_types”: [“resource_start_succeeded”], “event_groups”: [“users”], “destination_url”: “http://example.com/” } When hook is activated, **POST** request is issued against destination URL with the following data: .. code-block:: javascript { “timestamp”: “2015-07-14T12:12:56.000000”, “message”: “Customer ABC LLC has been updated.”, “type”: “customer_update_succeeded”, “context”: { “user_native_name”: “Walter Lebrowski”, “customer_contact_details”: “”, “user_username”: “Walter”, “user_uuid”: “1c3323fc4ae44120b57ec40dea1be6e6”, “customer_uuid”: “4633bbbb0b3a4b91bffc0e18f853de85”, “ip_address”: “8.8.8.8”, “user_full_name”: “Walter Lebrowski”, “customer_abbreviation”: “ABC LLC”, “customer_name”: “ABC LLC” }, “levelname”: “INFO” } Note that context depends on event type.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/hooks-web/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
user | query | string | |
is_active | query | string | |
last_published | query | string | |
destination_url | query | string | |
content_type | query | string | |
author_uuid | query | string |
Responses
200 -
POST /api/openstack-tenants/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstack-tenants/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
customer | query | string | |
customer_uuid | query | string | |
customer_name | query | string | |
customer_native_name | query | string | |
customer_abbreviation | query | string | |
project | query | string | |
project_uuid | query | string | |
project_name | query | string | |
service_uuid | query | string | |
service_name | query | string | |
service_settings_name | query | string | |
service_settings_uuid | query | string | |
name | query | string | |
description | query | string | |
state | query | string | |
uuid | query | string | |
tag | query | string | |
rtag | query | string | |
o | query | string |
Responses
200 -
POST /api/openstack-floating-ips/
Parameters
Name | Position | Description | Type |
---|
Responses
201 -
GET /api/openstack-floating-ips/
To get a list of all available floating IPs, issue **GET** against */api/floating-ips/*.
- Description: To get a list of all available floating IPs, issue **GET** against */api/floating-ips/*. Floating IPs are read only. Each floating IP has fields: ‘address’, ‘status’. Status *DOWN* means that floating IP is not linked to a VM, status *ACTIVE* means that it is in use.
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
customer | query | string | |
customer_uuid | query | string | |
customer_name | query | string | |
customer_native_name | query | string | |
customer_abbreviation | query | string | |
project | query | string | |
project_uuid | query | string | |
project_name | query | string | |
service_uuid | query | string | |
service_name | query | string | |
service_settings_name | query | string | |
service_settings_uuid | query | string | |
name | query | string | |
description | query | string | |
state | query | string | |
uuid | query | string | |
tag | query | string | |
rtag | query | string | |
runtime_state | query | string | |
o | query | string | |
tenant_uuid | query | string | |
tenant | query | string |
Responses
200 -
POST /api/openstack-subnets/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstack-subnets/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
customer | query | string | |
customer_uuid | query | string | |
customer_name | query | string | |
customer_native_name | query | string | |
customer_abbreviation | query | string | |
project | query | string | |
project_uuid | query | string | |
project_name | query | string | |
service_uuid | query | string | |
service_name | query | string | |
service_settings_name | query | string | |
service_settings_uuid | query | string | |
name | query | string | |
description | query | string | |
state | query | string | |
uuid | query | string | |
tag | query | string | |
rtag | query | string | |
o | query | string | |
tenant_uuid | query | string | |
tenant | query | string | |
network_uuid | query | string | |
network | query | string |
Responses
200 -
POST /api/openstack/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstack/
To create a service, issue a **POST** to */api/openstack/* as a customer owner.
- Description: To create a service, issue a **POST** to */api/openstack/* as a customer owner. You can create service based on shared service settings. Example: .. code-block:: http POST /api/openstack/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “name”: “Common OpenStack”, “customer”: “http://example.com/api/customers/1040561ca9e046d2b74268600c7e1105/”, “settings”: “http://example.com/api/service-settings/93ba615d6111466ebe3f792669059cb4/” } Or provide your own credentials. Example: .. code-block:: http POST /api/openstack/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “name”: “My OpenStack”, “customer”: “http://example.com/api/customers/1040561ca9e046d2b74268600c7e1105/”, “backend_url”: “http://keystone.example.com:5000/v2.0”, “username”: “admin”, “password”: “secret” }
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
name | query | string | |
project_uuid | query | string | |
customer | query | string | |
project | query | string | |
settings | query | string | |
shared | query | string | |
type | query | string | |
tag | query | string | |
rtag | query | string |
Responses
200 -
GET /api/customers/{uuid}/balance_history/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstacktenant-instances/{uuid}/stop/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/openstack-networks/{uuid}/pull/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/projects/
A new project can be created by users with staff privilege (is_staff=True) or customer owners.
- Description: A new project can be created by users with staff privilege (is_staff=True) or customer owners. Project resource quota is optional. Example of a valid request: .. code-block:: http POST /api/projects/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “name”: “Project A”, “customer”: “http://example.com/api/customers/6c9b01c251c24174a6691a1f894fae31/”, }
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/projects/
To get a list of projects, run **GET** against */api/projects/* as authenticated user.
- Description: To get a list of projects, run **GET** against */api/projects/* as authenticated user. Here you can also check actual value for project quotas and project usage Note that a user can only see connected projects: - projects that the user owns as a customer - projects where user has any role Supported logic filters: - ?can_manage - return a list of projects where current user is manager or a customer owner; - ?can_admin - return a list of projects where current user is admin;
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
name | query | string | |
customer | query | string | |
customer_name | query | string | |
customer_native_name | query | string | |
customer_abbreviation | query | string | |
description | query | string | |
created | query | string | |
o | query | string |
Responses
200 -
POST /api/openstacktenant-instances/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstacktenant-instances/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
customer | query | string | |
customer_uuid | query | string | |
customer_name | query | string | |
customer_native_name | query | string | |
customer_abbreviation | query | string | |
project | query | string | |
project_uuid | query | string | |
project_name | query | string | |
service_uuid | query | string | |
service_name | query | string | |
service_settings_name | query | string | |
service_settings_uuid | query | string | |
name | query | string | |
description | query | string | |
state | query | string | |
uuid | query | string | |
tag | query | string | |
rtag | query | string | |
o | query | string | |
tenant_uuid | query | string |
Responses
200 -
GET /api/openstacktenant-security-groups/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
name | query | string | |
settings_uuid | query | string | |
settings | query | string |
Responses
200 -
POST /api/openstack-networks/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstack-networks/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
customer | query | string | |
customer_uuid | query | string | |
customer_name | query | string | |
customer_native_name | query | string | |
customer_abbreviation | query | string | |
project | query | string | |
project_uuid | query | string | |
project_name | query | string | |
service_uuid | query | string | |
service_name | query | string | |
service_settings_name | query | string | |
service_settings_uuid | query | string | |
name | query | string | |
description | query | string | |
state | query | string | |
uuid | query | string | |
tag | query | string | |
rtag | query | string | |
o | query | string | |
tenant_uuid | query | string | |
tenant | query | string |
Responses
200 -
POST /api/openstack-tenants/{uuid}/pull/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
GET /api/openstacktenant-security-groups/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
PUT /api/openstack/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/openstack/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/openstack/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/openstack/{uuid}/
To update OpenStack service issue **PUT** or **PATCH** against */api/openstack/<service_uuid>/*
- Description: To update OpenStack service issue **PUT** or **PATCH** against */api/openstack/<service_uuid>/* as a customer owner. You can update service’s `name` and `available_for_all` fields. Example of a request: .. code-block:: http PUT /api/openstack/c6526bac12b343a9a65c4cd6710666ee/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “name”: “My OpenStack2” } To remove OpenStack service, issue **DELETE** against */api/openstack/<service_uuid>/* as staff user or customer owner.
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstack-security-groups/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstack-security-groups/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
description | query | string | |
name | query | string | |
error_message | query | string | |
backend_id | query | string | |
start_time | query | string | |
service_project_link | query | string | |
tenant | query | string | |
customer | query | string | |
customer_uuid | query | string | |
customer_name | query | string | |
customer_native_name | query | string | |
customer_abbreviation | query | string | |
project | query | string | |
project_uuid | query | string | |
project_name | query | string | |
service_uuid | query | string | |
service_name | query | string | |
service_settings_uuid | query | string | |
service_settings_name | query | string | |
state | query | string | |
uuid | query | string | |
tag | query | string | |
rtag | query | string | |
o | query | string | |
tenant_uuid | query | string |
Responses
200 -
GET /api/hooks/
Use */api/hooks/* to get a list of all the hooks of any type that a user can see.
- Description: Use */api/hooks/* to get a list of all the hooks of any type that a user can see.
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string |
Responses
200 -
POST /api/users/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/users/
User list is available to all authenticated users. To get a list,
- Description: User list is available to all authenticated users. To get a list, issue authenticated **GET** request against */api/users/*. User list supports several filters. All filters are set in HTTP query section. Field filters are listed below. All of the filters apart from ?organization are using case insensitive partial matching. Several custom filters are supported: - ?current - filters out user making a request. Useful for getting information about a currently logged in user. - ?civil_number=XXX - filters out users with a specified civil number - ?is_active=True|False - show only active (non-active) users - ?potential - shows users that have common connections to the customers and are potential collaborators. Exclude staff users. Staff users can see all the customers. - ?potential_customer=<Customer UUID> - optionally filter potential users by customer UUID - ?potential_organization=<organization name> - optionally filter potential unconnected users by their organization name (deprecated, use `organization plugin <http://nodeconductor-organization.readthedocs.org/en/stable/>`_ instead) - ?organization_claimed - show only users with a non-empty organization (deprecated, use `organization plugin <http://nodeconductor-organization.readthedocs.org/en/stable/>`_ instead) The user can be created either through automated process on login with SAML token, or through a REST call by a user with staff privilege. Example of a creation request is below. .. code-block:: http POST /api/users/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “username”: “sample-user”, “full_name”: “full name”, “native_name”: “taisnimi”, “job_title”: “senior cleaning manager”, “email”: “example@example.com”, “civil_number”: “12121212”, “phone_number”: “”, “description”: “”, “organization”: “”, } NB! Username field is case-insensitive. So “John” and “john” will be treated as the same user.
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
full_name | query | string | |
native_name | query | string | |
organization | query | string | |
organization_approved | query | string | |
query | string | ||
phone_number | query | string | |
description | query | string | |
job_title | query | string | |
username | query | string | |
civil_number | query | string | |
is_active | query | string | |
registration_method | query | string | |
o | query | string | |
full_name | query | string | |
native_name | query | string | |
organization | query | string | |
organization_approved | query | string | |
query | string | ||
phone_number | query | string | |
description | query | string | |
job_title | query | string | |
username | query | string | |
civil_number | query | string | |
is_active | query | string | |
registration_method | query | string | |
o | query | string | |
full_name | query | string | |
native_name | query | string | |
organization | query | string | |
organization_approved | query | string | |
query | string | ||
phone_number | query | string | |
description | query | string | |
job_title | query | string | |
username | query | string | |
civil_number | query | string | |
is_active | query | string | |
registration_method | query | string | |
o | query | string |
Responses
200 -
POST /api/openstacktenant-volumes/{uuid}/attach/
Attach volume to instance
- Description: Attach volume to instance
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/openstacktenant-instances/{uuid}/update_security_groups/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/hooks-email/
To create new email hook issue **POST** against */api/hooks-email/* as an authenticated user.
- Description: To create new email hook issue **POST** against */api/hooks-email/* as an authenticated user. You should specify list of event_types or event_groups. Example of a request: .. code-block:: http POST /api/hooks-email/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “event_types”: [“openstack_instance_start_succeeded”], “event_groups”: [“users”], “email”: “test@example.com” } You may temporarily disable hook without deleting it by issuing following **PATCH** request against hook URL: .. code-block:: javascript { “is_active”: “false” }
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/hooks-email/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
user | query | string | |
is_active | query | string | |
last_published | query | string | |
query | string | ||
author_uuid | query | string |
Responses
200 -
POST /api/openstacktenant/{uuid}/unlink/
Unlink all related resources, service project link and service itself.
- Description: Unlink all related resources, service project link and service itself.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
PUT /api/customer-permissions/{id}/
- Customers are connected to users through roles, whereas user may have role “customer owner”.
- Description: - Customers are connected to users through roles, whereas user may have role “customer owner”. - Each customer may have multiple owners, and each user may own multiple customers. - Staff members can list all available customers and create new customers. - Customer owners can list all customers they own. Customer owners can also create new customers. - Project administrators can list all the customers that own any of the projects they are administrators in. - Project managers can list all the customers that own any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string | |
data | body |
Responses
200 -
DELETE /api/customer-permissions/{id}/
- Customers are connected to users through roles, whereas user may have role “customer owner”.
- Description: - Customers are connected to users through roles, whereas user may have role “customer owner”. - Each customer may have multiple owners, and each user may own multiple customers. - Staff members can list all available customers and create new customers. - Customer owners can list all customers they own. Customer owners can also create new customers. - Project administrators can list all the customers that own any of the projects they are administrators in. - Project managers can list all the customers that own any of the projects they are managers in.
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string |
Responses
204 -
PATCH /api/customer-permissions/{id}/
- Customers are connected to users through roles, whereas user may have role “customer owner”.
- Description: - Customers are connected to users through roles, whereas user may have role “customer owner”. - Each customer may have multiple owners, and each user may own multiple customers. - Staff members can list all available customers and create new customers. - Customer owners can list all customers they own. Customer owners can also create new customers. - Project administrators can list all the customers that own any of the projects they are administrators in. - Project managers can list all the customers that own any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string | |
data | body |
Responses
200 -
GET /api/customer-permissions/{id}/
To remove a user from a customer owner group, delete corresponding connection (**url** field).
- Description: To remove a user from a customer owner group, delete corresponding connection (**url** field). Successful deletion will return status code 204. .. code-block:: http DELETE /api/customer-permissions/71/ HTTP/1.1 Authorization: Token 95a688962bf68678fd4c8cec4d138ddd9493c93b Host: example.com
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string |
Responses
200 -
POST /api/openstack-tenants/{uuid}/create_network/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
PUT /api/openstack-service-project-link/{id}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string | |
data | body |
Responses
200 -
DELETE /api/openstack-service-project-link/{id}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string |
Responses
204 -
PATCH /api/openstack-service-project-link/{id}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string | |
data | body |
Responses
200 -
GET /api/openstack-service-project-link/{id}/
To remove a link, issue **DELETE** to URL of the corresponding connection as stuff user or customer owner.
- Description: To remove a link, issue **DELETE** to URL of the corresponding connection as stuff user or customer owner.
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string |
Responses
200 -
POST /api/users/{uuid}/password/
To change a user password, submit a **POST** request to the user’s RPC URL, specifying new password
- Description: To change a user password, submit a **POST** request to the user’s RPC URL, specifying new password by staff user or account owner. Password is expected to be at least 7 symbols long and contain at least one number and at least one lower or upper case. Example of a valid request: .. code-block:: http POST /api/users/e0c058d06864441fb4f1c40dee5dd4fd/password/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “password”: “nQvqHzeP123”, }
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
GET /api/openstacktenant-floating-ips/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
name | query | string | |
settings_uuid | query | string | |
settings | query | string | |
runtime_state | query | string |
Responses
200 -
POST /api/openstacktenant-instances/{uuid}/unassign_floating_ip/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
201 -
POST /api/hooks-push/
To create new push hook issue **POST** against */api/hooks-push/* as an authenticated user.
- Description: To create new push hook issue **POST** against */api/hooks-push/* as an authenticated user. You should specify list of event_types or event_groups. Example of a request: .. code-block:: http POST /api/hooks-push/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “event_types”: [“resource_start_succeeded”], “event_groups”: [“users”], “type”: “Android” } You may temporarily disable hook without deleting it by issuing following **PATCH** request against hook URL: .. code-block:: javascript { “is_active”: “false” }
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/hooks-push/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
user | query | string | |
is_active | query | string | |
last_published | query | string | |
type | query | string | |
device_id | query | string | |
device_manufacturer | query | string | |
device_model | query | string | |
token | query | string | |
author_uuid | query | string |
Responses
200 -
POST /api/events/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/events/
To get a list of events - run **GET** against */api/events/* as authenticated user. Note that a user can
- Description: To get a list of events - run **GET** against */api/events/* as authenticated user. Note that a user can only see events connected to objects she is allowed to see. Sorting is supported in ascending and descending order by specifying a field to an **?o=** parameter. By default events are sorted by @timestamp in descending order. Run POST against */api/events/* to create an event. Only users with staff privileges can create events. New event will be emitted with `custom_notification` event type. Request should contain following fields: - level: the level of current event. Following levels are supported: debug, info, warning, error - message: string representation of event message - scope: optional URL, which points to the loggable instance Request example: .. code-block:: javascript POST /api/events/ Accept: application/json Content-Type: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “level”: “info”, “message”: “message#1”, “scope”: “http://example.com/api/customers/9cd869201e1b4158a285427fcd790c1c/” }
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string |
Responses
200 -
GET /api/customer-permissions-log/{id}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
id | path | string |
Responses
200 -
POST /api/openstack-tenants/{uuid}/create_security_group/
Example of a request:
- Description: Example of a request: .. code-block:: http { “name”: “Security group name”, “description”: “description”, “rules”: [ { “protocol”: “tcp”, “from_port”: 1, “to_port”: 10, “cidr”: “10.1.1.0/24” }, { “protocol”: “udp”, “from_port”: 10, “to_port”: 8000, “cidr”: “10.1.1.0/24” } ] }
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/openstacktenant-volumes/{uuid}/pull/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
GET /api/customer-permissions-log/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
role | query | string | |
user | query | string | |
user_url | query | string | |
username | query | string | |
full_name | query | string | |
native_name | query | string | |
o | query | string | |
customer | query | string | |
customer_url | query | string |
Responses
200 -
GET /api/openstacktenant-flavors/
VM instance flavor is a pre-defined set of virtual hardware parameters that the instance will use:
- Description: VM instance flavor is a pre-defined set of virtual hardware parameters that the instance will use: CPU, memory, disk size etc. VM instance flavor is not to be confused with VM template – flavor is a set of virtual hardware parameters whereas template is a definition of a system to be installed on this instance.
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
ram | query | string | |
ram__gte | query | string | |
ram__lte | query | string | |
name | query | string | |
settings | query | string | |
cores | query | string | |
cores__gte | query | string | |
cores__lte | query | string | |
disk | query | string | |
disk__gte | query | string | |
disk__lte | query | string | |
settings_uuid | query | string | |
o | query | string |
Responses
200 -
POST /api/openstack-ip-mappings/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstack-ip-mappings/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
project | query | string | |
private_ip | query | string | |
public_ip | query | string |
Responses
200 -
GET /api/openstacktenant-flavors/{uuid}/
VM instance flavor is a pre-defined set of virtual hardware parameters that the instance will use:
- Description: VM instance flavor is a pre-defined set of virtual hardware parameters that the instance will use: CPU, memory, disk size etc. VM instance flavor is not to be confused with VM template – flavor is a set of virtual hardware parameters whereas template is a definition of a system to be installed on this instance.
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
PUT /api/openstack-packages/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
DELETE /api/openstack-packages/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/openstack-packages/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
GET /api/openstack-packages/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/keys/
SSH public keys are injected to VM instances during creation, so that holder of corresponding SSH private key can
- Description: SSH public keys are injected to VM instances during creation, so that holder of corresponding SSH private key can log in to that instance. SSH public keys are connected to user accounts, whereas the key may belong to one user only, and the user may have multiple SSH keys. Users can only access SSH keys connected to their accounts. Staff users can see all the accounts. Project administrators can select what SSH key will be injected into VM instance during instance provisioning.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/keys/
To get a list of SSH keys, run **GET** against */api/keys/* as authenticated user.
- Description: To get a list of SSH keys, run **GET** against */api/keys/* as authenticated user. A new SSH key can be created by any active users. Example of a valid request: .. code-block:: http POST /api/keys/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “name”: “ssh_public_key1”, “public_key”: “ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDDURXDP5YhOQUYoDuTxJ84DuzqMJYJqJ8+SZT28 TtLm5yBDRLKAERqtlbH2gkrQ3US58gd2r8H9jAmQOydfvgwauxuJUE4eDpaMWupqquMYsYLB5f+vVGhdZbbzfc6DTQ2rY dknWoMoArlG7MvRMA/xQ0ye1muTv+mYMipnd7Z+WH0uVArYI9QBpqC/gpZRRIouQ4VIQIVWGoT6M4Kat5ZBXEa9yP+9du D2C05GX3gumoSAVyAcDHn/xgej9pYRXGha4l+LKkFdGwAoXdV1z79EG1+9ns7wXuqMJFHM2KDpxAizV0GkZcojISvDwuh vEAFdOJcqjyyH4FOGYa8usP1 jhon@example.com”, }
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
name | query | string | |
fingerprint | query | string | |
uuid | query | string | |
user_uuid | query | string | |
o | query | string |
Responses
200 -
GET /api/customers/{uuid}/counters/
Count number of entities related to customer
- Description: Count number of entities related to customer .. code-block:: javascript { “alerts”: 12, “services”: 1, “projects”: 1, “users”: 3 }
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
page | query | string | |
page_size | query | string |
Responses
200 -
GET /api/openstack-images/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
PUT /api/projects/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/projects/{uuid}/
Deletion of a project is done through sending a **DELETE** request to the project instance URI.
- Description: Deletion of a project is done through sending a **DELETE** request to the project instance URI. Please note, that if a project has connected instances, deletion request will fail with 409 response code. Valid request example (token is user specific): .. code-block:: http DELETE /api/projects/6c9b01c251c24174a6691a1f894fae31/ HTTP/1.1 Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/projects/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/projects/{uuid}/
Optional `field` query parameter (can be list) allows to limit what fields are returned.
- Description: Optional `field` query parameter (can be list) allows to limit what fields are returned. For example, given request /api/projects/<uuid>/?field=uuid&field=name you get response like this: .. code-block:: javascript { “uuid”: “90bcfe38b0124c9bbdadd617b5d739f5”, “name”: “Default” }
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstacktenant-instances/{uuid}/pull/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
GET /api/service-settings/
To get a list of service settings, run **GET** against */api/service-settings/* as an authenticated user.
- Description: To get a list of service settings, run **GET** against */api/service-settings/* as an authenticated user. Only settings owned by this user or shared settings will be listed. Supported filters are: - ?name=<text> - partial matching used for searching - ?type=<type> - choices: OpenStack, DigitalOcean, Amazon, JIRA, GitLab, Oracle - ?state=<state> - choices: New, Creation Scheduled, Creating, Sync Scheduled, Syncing, In Sync, Erred - ?shared=<bool> - allows to filter shared service settings
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
name | query | string | |
type | query | string | |
state | query | string | |
shared | query | string | |
name | query | string | |
type | query | string | |
state | query | string | |
shared | query | string |
Responses
200 -
GET /api/openstack-flavors/{uuid}/
VM instance flavor is a pre-defined set of virtual hardware parameters that the instance will use:
- Description: VM instance flavor is a pre-defined set of virtual hardware parameters that the instance will use: CPU, memory, disk size etc. VM instance flavor is not to be confused with VM template – flavor is a set of virtual hardware parameters whereas template is a definition of a system to be installed on this instance.
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstack-packages/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstack-packages/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
name | query | string | |
customer | query | string | |
project | query | string | |
tenant | query | string |
Responses
200 -
GET /api/openstacktenant-floating-ips/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
GET /api/openstack-flavors/
VM instance flavor is a pre-defined set of virtual hardware parameters that the instance will use:
- Description: VM instance flavor is a pre-defined set of virtual hardware parameters that the instance will use: CPU, memory, disk size etc. VM instance flavor is not to be confused with VM template – flavor is a set of virtual hardware parameters whereas template is a definition of a system to be installed on this instance.
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
ram | query | string | |
ram__gte | query | string | |
ram__lte | query | string | |
name | query | string | |
settings | query | string | |
cores | query | string | |
cores__gte | query | string | |
cores__lte | query | string | |
disk | query | string | |
disk__gte | query | string | |
disk__lte | query | string | |
settings_uuid | query | string | |
o | query | string |
Responses
200 -
POST /api/openstacktenant-instances/{uuid}/restart/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
DELETE /api/keys/{uuid}/
SSH public keys are injected to VM instances during creation, so that holder of corresponding SSH private key can
- Description: SSH public keys are injected to VM instances during creation, so that holder of corresponding SSH private key can log in to that instance. SSH public keys are connected to user accounts, whereas the key may belong to one user only, and the user may have multiple SSH keys. Users can only access SSH keys connected to their accounts. Staff users can see all the accounts. Project administrators can select what SSH key will be injected into VM instance during instance provisioning.
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
GET /api/keys/{uuid}/
SSH public keys are injected to VM instances during creation, so that holder of corresponding SSH private key can
- Description: SSH public keys are injected to VM instances during creation, so that holder of corresponding SSH private key can log in to that instance. SSH public keys are connected to user accounts, whereas the key may belong to one user only, and the user may have multiple SSH keys. Users can only access SSH keys connected to their accounts. Staff users can see all the accounts. Project administrators can select what SSH key will be injected into VM instance during instance provisioning.
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
GET /api/service-metadata/
To get a list of supported service types, run **GET** against */api/service-metadata/* as an authenticated user.
- Description: To get a list of supported service types, run **GET** against */api/service-metadata/* as an authenticated user. Use an endpoint from the returned list in order to create new service.
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string |
Responses
200 -
POST /api/openstacktenant-volumes/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstacktenant-volumes/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
customer | query | string | |
customer_uuid | query | string | |
customer_name | query | string | |
customer_native_name | query | string | |
customer_abbreviation | query | string | |
project | query | string | |
project_uuid | query | string | |
project_name | query | string | |
service_uuid | query | string | |
service_name | query | string | |
service_settings_name | query | string | |
service_settings_uuid | query | string | |
name | query | string | |
description | query | string | |
state | query | string | |
uuid | query | string | |
tag | query | string | |
rtag | query | string | |
instance | query | string | |
instance_uuid | query | string | |
o | query | string |
Responses
200 -
POST /api/openstack-tenants/{uuid}/create_service/
Create non-admin service with credentials from the tenant
- Description: Create non-admin service with credentials from the tenant
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
GET /api/version/
Retrieve version of the application
- Description: Retrieve version of the application
Parameters
Name | Position | Description | Type |
---|
Responses
200 -
GET /api/resources/
To get a list of supported resources’ actions, run **OPTIONS** against
- Description: To get a list of supported resources’ actions, run **OPTIONS** against */api/<resource_url>/* as an authenticated user. It is possible to filter and order by resource-specific fields, but this filters will be applied only to resources that support such filtering. For example it is possible to sort resource by ?o=ram, but SugarCRM crms will ignore this ordering, because they do not support such option. Filter resources by type or category ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ There are two query argument to select resources by their type. - Specify explicitly list of resource types, for example: /api/<resource_endpoint>/?resource_type=DigitalOcean.Droplet&resource_type=OpenStack.Instance - Specify category, one of vms, apps, private_clouds or storages for example: /api/<resource_endpoint>/?category=vms Filtering by monitoring fields ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Resources may have SLA attached to it. Example rendering of SLA: .. code-block:: javascript “sla”: { “value”: 95.0 “agreed_value”: 99.0, “period”: “2016-03” } You may filter or order resources by SLA. Default period is current year and month. - Example query for filtering list of resources by actual SLA: /api/<resource_endpoint>/?actual_sla=90&period=2016-02 - Warning! If resource does not have SLA attached to it, it is not included in ordered response. Example query for ordering list of resources by actual SLA: /api/<resource_endpoint>/?o=actual_sla&period=2016-02 Service list is displaying current SLAs for each of the items. By default, SLA period is set to the current month. To change the period pass it as a query argument: - ?period=YYYY-MM - return a list with SLAs for a given month - ?period=YYYY - return a list with SLAs for a given year In all cases all currently running resources are returned, if SLA for the given period is not known or not present, it will be shown as **null** in the response. Resources may have monitoring items attached to it. Example rendering of monitoring items: .. code-block:: javascript “monitoring_items”: { “application_state”: 1 } You may filter or order resources by monitoring item. - Example query for filtering list of resources by installation state: /api/<resource_endpoint>/?monitoring__installation_state=1 - Warning! If resource does not have monitoring item attached to it, it is not included in ordered response. Example query for ordering list of resources by installation state: /api/<resource_endpoint>/?o=monitoring__installation_state Filtering by tags ^^^^^^^^^^^^^^^^^ Resource may have tags attached to it. Example of tags rendering: .. code-block:: javascript “tags”: [ “license-os:centos7”, “os-family:linux”, “license-application:postgresql”, “support:premium” ] Tags filtering: - ?tag=IaaS - filter by full tag name, using method OR. Can be list. - ?rtag=os-family:linux - filter by full tag name, using AND method. Can be list. - ?tag__license-os=centos7 - filter by tags with particular prefix. Tags ordering: - ?o=tag__license-os - order by tag with particular prefix. Instances without given tag will not be returned.
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string |
Responses
200 -
POST /api-auth/password/
Api view loosely based on DRF’s default ObtainAuthToken,
- Description: Api view loosely based on DRF’s default ObtainAuthToken, but with the responses formats and status codes aligned with BasicAuthentication behavior. Valid request example: .. code-block:: http POST /api-auth/password/ HTTP/1.1
Parameters
Name | Position | Description | Type |
---|
Responses
201 -
PUT /api/openstacktenant/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/openstacktenant/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/openstacktenant/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/openstacktenant/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstacktenant-instances/{uuid}/assign_floating_ip/
To assign floating IP to the instance, make **POST** request to
- Description: To assign floating IP to the instance, make **POST** request to */api/openstacktenant-instances/<uuid>/assign_floating_ip/* with link to the floating IP. Make empty POST request to allocate new floating IP and assign it to instance. Note that instance should be in stable state, service project link of the instance should be in stable state and have external network. Example of a valid request: .. code-block:: http POST /api/openstacktenant-instances/6c9b01c251c24174a6691a1f894fae31/assign_floating_ip/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “floating_ip”: “http://example.com/api/floating-ips/5e7d93955f114d88981dea4f32ab673d/” }
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
PUT /api/openstack-networks/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/openstack-networks/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/openstack-networks/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/openstack-networks/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstacktenant-instances/{uuid}/backup/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
PUT /api/users/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/users/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/users/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/users/{uuid}/
User fields can be updated by account owner or user with staff privilege (is_staff=True).
- Description: User fields can be updated by account owner or user with staff privilege (is_staff=True). Following user fields can be updated: - organization (deprecated, use `organization plugin <http://nodeconductor-organization.readthedocs.org/en/stable/>`_ instead) - full_name - native_name - job_title - phone_number - email Can be done by **PUT**ing a new data to the user URI, i.e. */api/users/<UUID>/* by staff user or account owner. Valid request example (token is user specific): .. code-block:: http PUT /api/users/e0c058d06864441fb4f1c40dee5dd4fd/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “email”: “example@example.com”, “organization”: “Bells organization”, }
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstack-floating-ips/{uuid}/pull/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
201 -
POST /api/openstack-service-project-link/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstack-service-project-link/
In order to be able to provision OpenStack resources, it must first be linked to a project. To do that,
- Description: In order to be able to provision OpenStack resources, it must first be linked to a project. To do that, **POST** a connection between project and a service to */api/openstack-service-project-link/* as stuff user or customer owner. Example of a request: .. code-block:: http POST /api/openstack-service-project-link/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “project”: “http://example.com/api/projects/e5f973af2eb14d2d8c38d62bcbaccb33/”, “service”: “http://example.com/api/openstack/b0e8a4cbd47c4f9ca01642b7ec033db4/” } To remove a link, issue DELETE to URL of the corresponding connection as stuff user or customer owner.
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
project | query | string | |
service | query | string | |
service_uuid | query | string | |
customer_uuid | query | string | |
project_uuid | query | string |
Responses
200 -
PUT /api/hooks-web/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/hooks-web/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/hooks-web/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/hooks-web/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
GET /api/openstacktenant/{uuid}/managed_resources/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstack-packages/extend/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
POST /api/openstacktenant-service-project-link/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstacktenant-service-project-link/
To get a list of connections between a project and an service, run **GET** against service_project_link_url
- Description: To get a list of connections between a project and an service, run **GET** against service_project_link_url as authenticated user. Note that a user can only see connections of a project where a user has a role. If service has `available_for_all` flag, project-service connections are created automatically. Otherwise, in order to be able to provision resources, service must first be linked to a project. To do that, **POST** a connection between project and a service to service_project_link_url as stuff user or customer owner.
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
project | query | string | |
service | query | string | |
service_uuid | query | string | |
customer_uuid | query | string | |
project_uuid | query | string |
Responses
200 -
GET /api/services/
Filter services by type
- Description: Filter services by type ^^^^^^^^^^^^^^^^^^^^^^^ It is possible to filter services by their types. Example: /api/services/?service_type=DigitalOcean&service_type=OpenStack
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string |
Responses
200 -
POST /api/openstack-security-groups/{uuid}/set_rules/
WARNING! Auto-generated HTML form is wrong for this endpoint. List should be defined as input.
- Description: WARNING! Auto-generated HTML form is wrong for this endpoint. List should be defined as input. Example: [ { “protocol”: “tcp”, “from_port”: 1, “to_port”: 10, “cidr”: “10.1.1.0/24” } ]
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/openstacktenant-instances/{uuid}/start/
OpenStack instance permissions
- Description: OpenStack instance permissions ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - Staff members can list all available VM instances in any service. - Customer owners can list all VM instances in all the services that belong to any of the customers they own. - Project administrators can list all VM instances, create new instances and start/stop/restart instances in all the services that are connected to any of the projects they are administrators in. - Project managers can list all VM instances in all the services that are connected to any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/openstacktenant-volumes/{uuid}/detach/
Detach instance from volume
- Description: Detach instance from volume
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/openstack-tenants/{uuid}/pull_security_groups/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/openstack-networks/{uuid}/create_subnet/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
PUT /api/service-settings/{uuid}/
To update service settings, issue a **PUT** or **PATCH** to */api/service-settings/<uuid>/* as a customer owner.
- Description: To update service settings, issue a **PUT** or **PATCH** to */api/service-settings/<uuid>/* as a customer owner. You are allowed to change name and credentials only. Example of a request: .. code-block:: http PATCH /api/service-settings/9079705c17d64e6aa0af2e619b0e0702/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “username”: “admin”, “password”: “new_secret” }
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
PATCH /api/service-settings/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/service-settings/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstack/{uuid}/link/
To get a list of resources available for import, run **GET** against */<service_endpoint>/link/*
- Description: To get a list of resources available for import, run **GET** against */<service_endpoint>/link/* as an authenticated user. Optionally project_uuid parameter can be supplied for services requiring it like OpenStack. To import (link with NodeConductor) resource issue **POST** against the same endpoint with resource id. .. code-block:: http POST /api/openstack/08039f01c9794efc912f1689f4530cf0/link/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “backend_id”: “bd5ec24d-9164-440b-a9f2-1b3c807c5df3”, “project”: “http://example.com/api/projects/e5f973af2eb14d2d8c38d62bcbaccb33/” }
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
GET /api/openstack/{uuid}/link/
To get a list of resources available for import, run **GET** against */<service_endpoint>/link/*
- Description: To get a list of resources available for import, run **GET** against */<service_endpoint>/link/* as an authenticated user. Optionally project_uuid parameter can be supplied for services requiring it like OpenStack. To import (link with NodeConductor) resource issue **POST** against the same endpoint with resource id. .. code-block:: http POST /api/openstack/08039f01c9794efc912f1689f4530cf0/link/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “backend_id”: “bd5ec24d-9164-440b-a9f2-1b3c807c5df3”, “project”: “http://example.com/api/projects/e5f973af2eb14d2d8c38d62bcbaccb33/” }
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
PUT /api/openstack-ip-mappings/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/openstack-ip-mappings/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/openstack-ip-mappings/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/openstack-ip-mappings/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstack-tenants/{uuid}/set_quotas/
A quota can be set for a particular tenant. Only staff users can do that.
- Description: A quota can be set for a particular tenant. Only staff users can do that. In order to set quota submit **POST** request to */api/openstack-tenants/<uuid>/set_quotas/*. The quota values are propagated to the backend. The following quotas are supported. All values are expected to be integers: - instances - maximal number of created instances. - ram - maximal size of ram for allocation. In MiB_. - storage - maximal size of storage for allocation. In MiB_. - vcpu - maximal number of virtual cores for allocation. - security_group_count - maximal number of created security groups. - security_group_rule_count - maximal number of created security groups rules. - volumes - maximal number of created volumes. - snapshots - maximal number of created snapshots. It is possible to update quotas by one or by submitting all the fields in one request. NodeConductor will attempt to update the provided quotas. Please note, that if provided quotas are conflicting with the backend (e.g. requested number of instances is below of the already existing ones), some quotas might not be applied. .. _MiB: http://en.wikipedia.org/wiki/Mebibyte .. _settings: http://nodeconductor.readthedocs.org/en/stable/guide/intro.html#id1 Example of a valid request (token is user specific): .. code-block:: http POST /api/openstack-tenants/c84d653b9ec92c6cbac41c706593e66f567a7fa4/set_quotas/ HTTP/1.1 Content-Type: application/json Accept: application/json Host: example.com { “instances”: 30, “ram”: 100000, “storage”: 1000000, “vcpu”: 30, “security_group_count”: 100, “security_group_rule_count”: 100, “volumes”: 10, “snapshots”: 20 } Response code of a successful request is **202 ACCEPTED**. In case tenant is in a non-stable status, the response would be **409 CONFLICT**. In this case REST client is advised to repeat the request after some time. On successful completion the task will synchronize quotas with the backend.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/openstack/{uuid}/unlink/
Unlink all related resources, service project link and service itself.
- Description: Unlink all related resources, service project link and service itself.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
PUT /api/customers/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/customers/{uuid}/
Deletion of a customer is done through sending a **DELETE** request to the customer instance URI. Please note,
- Description: Deletion of a customer is done through sending a **DELETE** request to the customer instance URI. Please note, that if a customer has connected projects, deletion request will fail with 409 response code. Valid request example (token is user specific): .. code-block:: http DELETE /api/customers/6c9b01c251c24174a6691a1f894fae31/ HTTP/1.1 Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/customers/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/customers/{uuid}/
Optional `field` query parameter (can be list) allows to limit what fields are returned.
- Description: Optional `field` query parameter (can be list) allows to limit what fields are returned. For example, given request /api/customers/<uuid>/?field=uuid&field=name you get response like this: .. code-block:: javascript { “uuid”: “90bcfe38b0124c9bbdadd617b5d739f5”, “name”: “Ministry of Bells” }
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/customers/
A new customer can only be created by users with staff privilege (is_staff=True).
- Description: A new customer can only be created by users with staff privilege (is_staff=True). Example of a valid request: .. code-block:: http POST /api/customers/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “name”: “Customer A”, “native_name”: “Customer A”, “abbreviation”: “CA”, “contact_details”: “Luhamaa 28, 10128 Tallinn”, }
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/customers/
To get a list of customers, run GET against */api/customers/* as authenticated user. Note that a user can
- Description: To get a list of customers, run GET against */api/customers/* as authenticated user. Note that a user can only see connected customers: - customers that the user owns - customers that have a project where user has a role Staff also can filter customers by user UUID, for example /api/customers/?user_uuid=<UUID>
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
name | query | string | |
abbreviation | query | string | |
contact_details | query | string | |
native_name | query | string | |
registration_code | query | string | |
o | query | string |
Responses
200 -
POST /api/openstacktenant-snapshots/{uuid}/pull/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
PUT /api/customers/{uuid}/image/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/customers/{uuid}/image/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/customers/{uuid}/image/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/customers/{uuid}/image/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
page | query | string | |
page_size | query | string |
Responses
200 -
GET /api/events/count/
To get a count of events - run **GET** against */api/events/count/* as authenticated user.
- Description: To get a count of events - run **GET** against */api/events/count/* as authenticated user. Endpoint support same filters as events list. Response example: .. code-block:: javascript {“count”: 12321}
Parameters
Name | Position | Description | Type |
---|
Responses
200 -
POST /api/openstacktenant-volumes/{uuid}/snapshot/
Create snapshot from volume
- Description: Create snapshot from volume
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/openstack-security-groups/{uuid}/pull/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
POST /api/openstack-subnets/{uuid}/pull/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
201 -
GET /api/openstacktenant-images/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
name | query | string | |
settings_uuid | query | string | |
settings | query | string |
Responses
200 -
PUT /api/openstacktenant-volumes/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/openstacktenant-volumes/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/openstacktenant-volumes/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/openstacktenant-volumes/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/openstacktenant/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/openstacktenant/
To list all services without regard to its type, run **GET** against */api/services/* as an authenticated user.
- Description: To list all services without regard to its type, run **GET** against */api/services/* as an authenticated user. To list services of specific type issue **GET** to specific endpoint from a list above as a customer owner. Individual endpoint used for every service type. To create a service, issue a **POST** to specific endpoint from a list above as a customer owner. Individual endpoint used for every service type. You can create service based on shared service settings. Example: .. code-block:: http POST /api/digitalocean/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “name”: “Common DigitalOcean”, “customer”: “http://example.com/api/customers/1040561ca9e046d2b74268600c7e1105/”, “settings”: “http://example.com/api/service-settings/93ba615d6111466ebe3f792669059cb4/” } Or provide your own credentials. Example: .. code-block:: http POST /api/oracle/ HTTP/1.1 Content-Type: application/json Accept: application/json Authorization: Token c84d653b9ec92c6cbac41c706593e66f567a7fa4 Host: example.com { “name”: “My Oracle”, “customer”: “http://example.com/api/customers/1040561ca9e046d2b74268600c7e1105/”, “backend_url”: “https://oracle.example.com:7802/em”, “username”: “admin”, “password”: “secret” }
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
name | query | string | |
project_uuid | query | string | |
customer | query | string | |
project | query | string | |
settings | query | string | |
shared | query | string | |
type | query | string | |
tag | query | string | |
rtag | query | string |
Responses
200 -
GET /api/openstack/{uuid}/managed_resources/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
GET /api/openstack-images/
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
name | query | string | |
settings_uuid | query | string | |
settings | query | string |
Responses
200 -
PUT /api/openstack-security-groups/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/openstack-security-groups/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/openstack-security-groups/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/openstack-security-groups/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
GET /api/openstacktenant-images/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -
POST /api/customer-permissions/
- Customers are connected to users through roles, whereas user may have role “customer owner”.
- Description: - Customers are connected to users through roles, whereas user may have role “customer owner”. - Each customer may have multiple owners, and each user may own multiple customers. - Staff members can list all available customers and create new customers. - Customer owners can list all customers they own. Customer owners can also create new customers. - Project administrators can list all the customers that own any of the projects they are administrators in. - Project managers can list all the customers that own any of the projects they are managers in.
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
data | body |
Responses
201 -
GET /api/customer-permissions/
Each customer is associated with a group of users that represent customer owners. The link is maintained
- Description: Each customer is associated with a group of users that represent customer owners. The link is maintained through **api/customer-permissions/** endpoint. To list all visible links, run a **GET** query against a list. Response will contain a list of customer owners and their brief data. To add a new user to the customer, **POST** a new relationship to **customer-permissions** endpoint: .. code-block:: http POST /api/customer-permissions/ HTTP/1.1 Accept: application/json Authorization: Token 95a688962bf68678fd4c8cec4d138ddd9493c93b Host: example.com { “customer”: “http://example.com/api/customers/6c9b01c251c24174a6691a1f894fae31/”, “role”: “owner”, “user”: “http://example.com/api/users/82cec6c8e0484e0ab1429412fe4194b7/” }
Parameters
Name | Position | Description | Type |
---|---|---|---|
page | query | string | |
page_size | query | string | |
role | query | string | |
user | query | string | |
user_url | query | string | |
username | query | string | |
full_name | query | string | |
native_name | query | string | |
o | query | string | |
customer | query | string | |
customer_url | query | string |
Responses
200 -
PUT /api/openstack-tenants/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
DELETE /api/openstack-tenants/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
204 -
PATCH /api/openstack-tenants/{uuid}/
- Consumes: [u’application/json’]
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string | |
data | body |
Responses
200 -
GET /api/openstack-tenants/{uuid}/
Parameters
Name | Position | Description | Type |
---|---|---|---|
uuid | path | string |
Responses
200 -