Last updated: 04-04-2024
Download OpenAPI specification:Download
Foundation Central creates clusters from factory-imaged nodes and reimage existing nodes that are already registered with Foundation Central. This allows creating clusters on remote sites such as ROBO, without arranging a personnel visit for deployment.
License: Copyright Nutanix Inc. All rights reserved
Create a new API key which will be used by remote nodes to authenticate with Foundation Central.
alias required | string Alias for the API key to be created. |
curl --request POST \ --url https://www.nutanix.dev/api_keys \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "alias": "string" }'
{- "alias": "string",
- "api_key": "string",
- "created_timestamp": "2019-08-24T14:15:22Z",
- "current_time": "2019-08-24T14:15:22Z",
- "key_uuid": "cb86f4ea-c2d1-4d78-981a-a8b9cc24b981"
}
Delete the API key based on its UUID.
key_uuid required | string <uuid> UUID of the API key that must be deleted. |
curl --request DELETE \ --url https://www.nutanix.dev/api_keys/{key_uuid} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "code": 0,
- "message_list": [
- "string"
]
}
Get an API key based on its UUID.
key_uuid required | string <uuid> UUID of the API key that must be fetched. |
curl --request GET \ --url https://www.nutanix.dev/api_keys/{key_uuid} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "alias": "string",
- "api_key": "string",
- "created_timestamp": "2019-08-24T14:15:22Z",
- "current_time": "2019-08-24T14:15:22Z",
- "key_uuid": "cb86f4ea-c2d1-4d78-981a-a8b9cc24b981"
}
List all the API keys created in Foundation Central.
length | integer The number of records to retrieve. |
offset | integer >= 0 Offset from the start of the object list. If omitted, default value is 0. |
curl --request POST \ --url https://www.nutanix.dev/api_keys/list \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "length": 0, "offset": 0 }'
{- "api_keys": [
- {
- "alias": "string",
- "api_key": "string",
- "created_timestamp": "2019-08-24T14:15:22Z",
- "current_time": "2019-08-24T14:15:22Z",
- "key_uuid": "cb86f4ea-c2d1-4d78-981a-a8b9cc24b981"
}
], - "metadata": {
- "length": 0,
- "offset": 0,
- "total_matches": 0
}
}
Get the details of Foundation Central.
curl --request GET \ --url https://www.nutanix.dev/details \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "version": "string"
}
Delete a cluster entry from Foundation Central. This API will not destroy the remote cluster. Deletion is allowed only if the cluster creation process is not in-progress.
imaged_cluster_uuid required | string <uuid> UUID of the cluster which needs to be deleted. |
curl --request DELETE \ --url https://www.nutanix.dev/imaged_clusters/{imaged_cluster_uuid} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "code": 0,
- "message_list": [
- "string"
]
}
Get the cluster created using Foundation Central.
imaged_cluster_uuid required | string <uuid> UUID of the cluster whose details need to be fetched. |
curl --request GET \ --url https://www.nutanix.dev/imaged_clusters/{imaged_cluster_uuid} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "archived": true,
- "cluster_external_ip": "192.168.0.1",
- "cluster_name": "string",
- "cluster_size": 0,
- "cluster_status": {
- "aggregate_percent_complete": 0.1,
- "cluster_creation_started": true,
- "cluster_progress_details": {
- "category": [
- "string"
], - "cluster_name": "string",
- "message_list": [
- "string"
], - "percent_complete": 0.1,
- "status": "string"
}, - "current_foundation_ip": "192.168.0.1",
- "foundation_session_id": "string",
- "imaging_stopped": true,
- "intent_picked_up": true,
- "node_progress_details": [
- {
- "category": [
- "string"
], - "imaged_node_uuid": "66f773da-5478-4f28-a022-22a755c801f3",
- "imaging_stopped": true,
- "intent_picked_up": true,
- "message_list": [
- "string"
], - "percent_complete": 0.1,
- "status": "string"
}
]
}, - "common_network_settings": {
- "cvm_dns_servers": [
- "192.168.0.1"
], - "cvm_ntp_servers": [
- "string"
], - "hypervisor_dns_servers": [
- "192.168.0.1"
], - "hypervisor_ntp_servers": [
- "string"
]
}, - "created_timestamp": "2019-08-24T14:15:22Z",
- "current_time": "2019-08-24T14:15:22Z",
- "destroyed": true,
- "discovered_node_details": [
- { }
], - "foundation_init_config": { },
- "foundation_init_node_uuid": "bfa3e63b-8135-4819-963c-e54eac10cf53",
- "imaged_cluster_uuid": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
- "imaged_node_uuid_list": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "redundancy_factor": 0,
- "skip_cluster_creation": true,
- "storage_node_count": 0,
- "updated_timestamp": "2019-08-24T14:15:22Z",
- "workflow_type": "string"
}
List all the clusters created using Foundation Central.
object (imaged_clusters_list_filter_fields) Supported fields for filtering the cluster entities. | |
length | integer The number of records to retrieve. |
offset | integer >= 0 Offset from the start of the object list. If omitted, default value is 0. |
curl --request POST \ --url https://www.nutanix.dev/imaged_clusters/list \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": { "archived": true }, "length": 0, "offset": 0 }'
{- "imaged_clusters": [
- {
- "archived": true,
- "cluster_external_ip": "192.168.0.1",
- "cluster_name": "string",
- "cluster_size": 0,
- "cluster_status": {
- "aggregate_percent_complete": 0.1,
- "cluster_creation_started": true,
- "cluster_progress_details": {
- "category": [
- "string"
], - "cluster_name": "string",
- "message_list": [
- "string"
], - "percent_complete": 0.1,
- "status": "string"
}, - "current_foundation_ip": "192.168.0.1",
- "foundation_session_id": "string",
- "imaging_stopped": true,
- "intent_picked_up": true,
- "node_progress_details": [
- {
- "category": [
- "string"
], - "imaged_node_uuid": "66f773da-5478-4f28-a022-22a755c801f3",
- "imaging_stopped": true,
- "intent_picked_up": true,
- "message_list": [
- "string"
], - "percent_complete": 0.1,
- "status": "string"
}
]
}, - "common_network_settings": {
- "cvm_dns_servers": [
- "192.168.0.1"
], - "cvm_ntp_servers": [
- "string"
], - "hypervisor_dns_servers": [
- "192.168.0.1"
], - "hypervisor_ntp_servers": [
- "string"
]
}, - "created_timestamp": "2019-08-24T14:15:22Z",
- "current_time": "2019-08-24T14:15:22Z",
- "destroyed": true,
- "discovered_node_details": [
- { }
], - "foundation_init_config": { },
- "foundation_init_node_uuid": "bfa3e63b-8135-4819-963c-e54eac10cf53",
- "imaged_cluster_uuid": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
- "imaged_node_uuid_list": [
- "497f6eca-6276-4993-bfeb-53cbbbba6f08"
], - "redundancy_factor": 0,
- "skip_cluster_creation": true,
- "storage_node_count": 0,
- "updated_timestamp": "2019-08-24T14:15:22Z",
- "workflow_type": "string"
}
], - "metadata": {
- "length": 0,
- "offset": 0,
- "total_matches": 0
}
}
Create a cluster from the nodes registered with Foundation Central.
aos_package_sha256sum | string SHA256sum of the AOS package. |
aos_package_url | string URL to download the AOS package. Required only if imaging is needed. |
cluster_external_ip | string <ipv4> External management IP of the cluster. |
cluster_name | string Name of the cluster. |
cluster_size | integer Number of nodes in the cluster. |
object (common_network_settings) Common network settings across the nodes in the cluster. | |
object (hypervisor_iso_details) Details of the hypervisor ISO. | |
Array of objects (hypervisor_iso_details) List of hypervisor ISOs. | |
Array of objects (node_details) List of details of the nodes for which the cluster needs to be created. | |
redundancy_factor | integer Redundancy factor of the cluster. |
skip_cluster_creation | boolean Default: false True if the cluster creation must be skipped. Otherwise, False. |
storage_node_count | integer Number of storage-only nodes in the cluster. The AHV ISO for storage node will be taken from the AOS package. |
timezone | string Timezone to be set on the cluster. |
curl --request POST \ --url https://www.nutanix.dev/imaged_clusters \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "aos_package_sha256sum": "string", "aos_package_url": "string", "cluster_external_ip": "192.168.0.1", "cluster_name": "string", "cluster_size": 0, "common_network_settings": { "cvm_dns_servers": [ "192.168.0.1" ], "cvm_ntp_servers": [ "string" ], "hypervisor_dns_servers": [ "192.168.0.1" ], "hypervisor_ntp_servers": [ "string" ] }, "hypervisor_iso_details": { "hyperv_product_key": "string", "hyperv_sku": "string", "hypervisor_type": "kvm", "sha256sum": "string", "url": "string" }, "hypervisor_isos": [ { "hyperv_product_key": "string", "hyperv_sku": "string", "hypervisor_type": "kvm", "sha256sum": "string", "url": "string" } ], "nodes_list": [ { "cvm_gateway": "192.168.0.1", "cvm_ip": "192.168.0.1", "cvm_netmask": "string", "cvm_ram_gb": 0, "cvm_vlan_id": 0, "hardware_attributes_override": {}, "hypervisor_gateway": "192.168.0.1", "hypervisor_hostname": "string", "hypervisor_ip": "192.168.0.1", "hypervisor_netmask": "string", "hypervisor_type": "string", "image_now": true, "imaged_node_uuid": "b4d15375-1097-4c96-a4c4-4cb5809b05bb", "ipmi_gateway": "192.168.0.1", "ipmi_ip": "192.168.0.1", "ipmi_netmask": "string", "rdma_passthrough": false, "use_existing_network_settings": false } ], "redundancy_factor": 0, "skip_cluster_creation": false, "storage_node_count": 0, "timezone": "string" }'
{- "imaged_cluster_uuid": "b4d15375-1097-4c96-a4c4-4cb5809b05bb"
}
Update the details of the cluster created using Foundation Central.
imaged_cluster_uuid required | string <uuid> UUID of the cluster whose details need to be updated. |
archived | boolean or null Denotes the archive status of the cluster creation request. If true, the cluster will be archived. If false, the cluster will be removed from archive. |
curl --request PUT \ --url https://www.nutanix.dev/imaged_clusters/{imaged_cluster_uuid} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "archived": true }'
{- "code": 0,
- "message_list": [
- "string"
]
}
Get the details of a single node based on its UUID.
imaged_node_uuid required | string <uuid> UUID of the node whose details need to be fetched. |
curl --request GET \ --url https://www.nutanix.dev/imaged_nodes/{imaged_node_uuid} \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \
{- "aos_version": "string",
- "api_key_uuid": "9e84e0a6-4d1a-49b3-9101-ef0be589692a",
- "available": true,
- "block_serial": "string",
- "created_timestamp": "2019-08-24T14:15:22Z",
- "current_time": "2019-08-24T14:15:22Z",
- "cvm_gateway": "192.168.0.1",
- "cvm_ip": "192.168.0.1",
- "cvm_ipv6": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
- "cvm_netmask": "string",
- "cvm_up": true,
- "cvm_uuid": "bc552bda-763d-4d78-9d84-c7b0c365b9fc",
- "cvm_vlan_id": 0,
- "foundation_version": "string",
- "hardware_attributes": { },
- "hypervisor_gateway": "192.168.0.1",
- "hypervisor_hostname": "string",
- "hypervisor_ip": "192.168.0.1",
- "hypervisor_netmask": "string",
- "hypervisor_type": "string",
- "hypervisor_version": "string",
- "imaged_cluster_uuid": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
- "imaged_node_uuid": "66f773da-5478-4f28-a022-22a755c801f3",
- "ipmi_gateway": "192.168.0.1",
- "ipmi_ip": "192.168.0.1",
- "ipmi_netmask": "string",
- "ipv6_interface": "string",
- "latest_hb_ts_list": [
- "2019-08-24T14:15:22Z"
], - "model": "string",
- "node_position": "string",
- "node_serial": "string",
- "node_state": "string",
- "node_type": "string",
- "object_version": 0,
- "supported_features": [
- "string"
]
}
List all the nodes registered with Foundation Central.
object (imaged_nodes_list_filter_fields) Supported fields for filtering the node entities. | |
length | integer The number of records to retrieve. |
offset | integer >= 0 Offset from the start of the object list. If omitted, default value is 0. |
curl --request POST \ --url https://www.nutanix.dev/imaged_nodes/list \ --header 'Accept: application/json' \ --header 'Authorization: Basic <basic_auth_token>' \ --header 'Content-Type: application/json' \ --data '{ "filters": { "node_state": "STATE_AVAILABLE" }, "length": 0, "offset": 0 }'
{- "imaged_nodes": [
- {
- "aos_version": "string",
- "api_key_uuid": "9e84e0a6-4d1a-49b3-9101-ef0be589692a",
- "available": true,
- "block_serial": "string",
- "created_timestamp": "2019-08-24T14:15:22Z",
- "current_time": "2019-08-24T14:15:22Z",
- "cvm_gateway": "192.168.0.1",
- "cvm_ip": "192.168.0.1",
- "cvm_ipv6": "2001:0db8:85a3:0000:0000:8a2e:0370:7334",
- "cvm_netmask": "string",
- "cvm_up": true,
- "cvm_uuid": "bc552bda-763d-4d78-9d84-c7b0c365b9fc",
- "cvm_vlan_id": 0,
- "foundation_version": "string",
- "hardware_attributes": { },
- "hypervisor_gateway": "192.168.0.1",
- "hypervisor_hostname": "string",
- "hypervisor_ip": "192.168.0.1",
- "hypervisor_netmask": "string",
- "hypervisor_type": "string",
- "hypervisor_version": "string",
- "imaged_cluster_uuid": "b4d15375-1097-4c96-a4c4-4cb5809b05bb",
- "imaged_node_uuid": "66f773da-5478-4f28-a022-22a755c801f3",
- "ipmi_gateway": "192.168.0.1",
- "ipmi_ip": "192.168.0.1",
- "ipmi_netmask": "string",
- "ipv6_interface": "string",
- "latest_hb_ts_list": [
- "2019-08-24T14:15:22Z"
], - "model": "string",
- "node_position": "string",
- "node_serial": "string",
- "node_state": "string",
- "node_type": "string",
- "object_version": 0,
- "supported_features": [
- "string"
]
}
], - "metadata": {
- "length": 0,
- "offset": 0,
- "total_matches": 0
}
}