Wizard

This section describes a set of API requests that allow deploying servers using IMCO wizard.

Contents

Cloud providers

Cloud providers are entities that provide computational cloud resources. Wizard cloud providers are cloud providers that enable provide cloud resources through IMCO wizard.

List wizard cloud providers

GET /v2/wizard/cloud_providers

This action lists the cloud providers that can deploy resources using IMCO wizard.

Inputs

None

Returns

An array of cloud providers, each one with the following fields:

Field Type Description
id String Identifier of the cloud provider.
name String Name of the cloud provider.
disambiguation String Continuation of the cloud provider name with disambiguation purposes, it is only of use in the context of admin integrations
required_credentials Array of Strings The list of credentials parameters needed to create a cloud account for this provider.
resource_type String An identifier for the type of resource, specifically "cloud_provider".

Back to top

Cloud accounts

A cloud account stores the credentials needed to use a cloud provider services. A cloud account allows the platform to commission and manage servers and VPCs on behalf of a customer's users. A wizard cloud account is a cloud account that can deploy servers

List wizard cloud accounts

GET /v2/wizard/cloud_accounts

This action lists the cloud accounts that can deploy resources using IMCO wizard.

Inputs

None

Returns

An array of cloud accounts, each one with the following fields:

Field Type Description
id String Identifier of the cloud account.
cloud_provider_id String Identifier of the cloud provider.
name String The logical name for the cloud account.
last_discovered_at Time Time at which the cloud account was last searched for server candidates for brownfield importing.
last_discovery_failed_at Time Last time at which the cloud account's discovery of server candidates for brownfield importing failed.
resource_type String An identifier for the type of resource, specifically "cloud_account".
supports_importing Boolean Flag to indicate whether this cloud account supports importing servers
supports_importing_vpcs Boolean Flag to indicate whether this cloud account supports importing VPCs
supports_importing_floating_ips Boolean Flag to indicate whether this cloud account supports importing floating IPs
supports_importing_volumes Boolean Flag to indicate whether this cloud account supports importing volumes

Back to top

Apps

An app is a server template with specific backed software deployable on a wizard cloud provider using IMCO wizard.

List wizard apps

GET /v2/wizard/apps

This action lists the apps that can be deployed using IMCO wizard.

Inputs

None

Returns

An array of apps, each one with the following fields:

Field Type Description
id String Identifier of the app.
name String The logical name for the app.
flavour_requirements Hash A specification of minimum resources the server where the app is deployed must have.
generic_image_id String Identifier of the generic image that the app will use to deploy a server.
resource_type String An identifier for the type of resource, specifically "app".
label_ids String List of ids corresponding to the labels the server has assigned.

Back to top

Deploy wizard app

POST /v2/wizard/apps/:id/deploy

This action deploys the selected app in the selected location of the selected cloud account of the selected cloud provider.

Inputs

Field Type Description Required
location_id String Identifier of the location where this app is wanted to be deployed. Yes
cloud_account_id String Identifier of the cloud account where this app is wanted to be deployed. Yes
hostname String The hostname of the FQDN the machine is intended to have. Yes
server_plan_id String Identifier of the server plan that the app will use to deploy a server. Yes
variable_value_ids Hash An object defining variable values for the configuration in the template. It has a key for each variable defined and arrays of two elements as values:The first element of the array is the id of the variable value.The second element of the array is the resource_type of the variable value. No

Returns

Field Type Description Deprecation notices Notes
id String Identifier of the server.    
name String Logical name of the server.    
fqdn String Fully qualified domain name (FQDN) of the server.    
state String State of the server. It can be any of the following: commissioning, inactive, booting, bootstrapping, operational, stalled, shutting_down,decommissioning, commission_stalled.    
public_ip String Public IP of the server or null if it does not have one yet.    
private_ip String Private IP of the server or null if it does not have one yet.    
workspace_id String Identifier of the workspace to which the server belongs. No longer available from 7.3 onwards  
template_id String Identifier of the template defining the software configuration the server uses.    
server_plan_id String Identifier of the server plan with which the server is deployed.    
cloud_account_id String Identifier of the cloud account in which the server is deployed.    
ssh_profile_id String Identifier of the ssh profile the server uses. First of the ssh_profile_ids Deprecated from version 9 onwards.  
ssh_profile_ids Array of string Identifiers of the ssh profiles the server uses.   Available from version 9 onwards.
firewall_profile_id String Identifier of the firewall profile applied on the server.    
server_array_id String Identifier of the server array to which the server belongs if any or null.    
brownfield_state String A string describing the level of integration with the platform achieved. It must be one of "M1", "M1-M2", "M2", "M2-M3", "Overriden", "Certified" or "Pure".    
subnet_id String Identifier of the subnet on which the server is deployed if any or null.    
vpc_id String Identifier of the VPC on which the server is deployed if any or null.    
privateness Boolean Flag indicating whether the server will get only a private IP    
variable_value_ids Object An object defining variable values for the configuration in the template. It has a key for each variable defined and arrays of two elements as values:The first element of the array is the id of the variable value.The second element of the array is the resource_type of the variable value.    
label_ids String List of ids corresponding to the labels the server has assigned.    
supports_volume_attachment Boolean True if the server supports volume attachments, false otherwise.    
resource_type String An identifier for the type of resource, specifically "server".    

Back to top

Locations

Locations are geographic zones where a user can deploy a server from an app using IMCO wizard.

List locations

GET /v2/wizard/locations

This action lists the locations where a user can deploy an app

Inputs

None

Returns

An array of locations, each one with the following fields:

Field Type Description
id String Identifier of the location.
name String The logical name for the location.

Back to top

Server plans

A server plan contains the technical specification of a certain server of a certain cloud provider inside a realm. A wizard server plan is a server plan that can be used on an app to deploy a server through IMCO wizard.

List server plans

GET /v2/wizard/server_plans

This action lists the locations where a user can deploy an app, using IMCO wizard.

Inputs

Field Type Description Required
app_id String Identifier of the app. Yes
location_id String Identifier of the location. Yes
cloud_provider_id String Identifier of the cloud provider Yes

Returns

An array server plan, each one with the following fields:

Field Type Description
id String Identifier of the generic image.
name String Name of the generic image.
memory Integer Indicates the memory of the server.
cpus Integer Indicates the number of CPUs of the server.
storage Integer Indicates the storage capacity of the server.
cloud_provider_id String Identifier of the associated cloud provider.
location_id String Location of the server.
realm_provider_name String Name of the realm of the cloud provider.
resource_type String An identifier for the type of resource, specifically "server_plan".

Back to top