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". |
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 |
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. |
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". |
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. |
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". |