Open Context Protocol is live! 🚀 Read the launch post

createBaremetal

Create Bare Metal Instance

Details

  • Method: POST
  • Path: /bare-metals
  • Operation ID: create-baremetal

Parameters

{
  "region": {
    "description": "The [Region id](#operation/list-regions) to create the instance.",
    "required": true,
    "location": "body",
    "type": "string"
  },
  "plan": {
    "description": "The [Bare Metal plan id](#operation/list-metal-plans) to use for this instance.",
    "required": true,
    "location": "body",
    "type": "string"
  },
  "script_id": {
    "description": "The [Startup Script id](#operation/list-startup-scripts) to use for this instance.",
    "required": false,
    "location": "body",
    "type": "string"
  },
  "enable_ipv6": {
    "description": "Enable IPv6.\n\n* true",
    "required": false,
    "location": "body",
    "type": "boolean"
  },
  "sshkey_id": {
    "description": "The [SSH Key id](#operation/list-ssh-keys) to install on this instance.",
    "required": false,
    "location": "body",
    "type": "array"
  },
  "user_data": {
    "description": "The user-supplied, base64 encoded [user data](https://www.vultr.com/docs/manage-instance-user-data-with-the-vultr-metadata-api/) for this Instance.",
    "required": false,
    "location": "body",
    "type": "string"
  },
  "label": {
    "description": "The user-supplied label.",
    "required": false,
    "location": "body",
    "type": "string"
  },
  "activation_email": {
    "description": "Notify by email after deployment.\n\n* true\n* false (default)",
    "required": false,
    "location": "body",
    "type": "boolean"
  },
  "hostname": {
    "description": "The user-supplied hostname to use when deploying this instance.",
    "required": false,
    "location": "body",
    "type": "string"
  },
  "tag": {
    "description": "Use `tags` instead. The user-supplied tag.",
    "required": false,
    "location": "body",
    "type": "string"
  },
  "reserved_ipv4": {
    "description": "The [Reserved IP id](#operation/list-reserved-ips) for this instance.",
    "required": false,
    "location": "body",
    "type": "string"
  },
  "os_id": {
    "description": "If supplied, deploy the instance using this [Operating System id](#operation/list-os).",
    "required": false,
    "location": "body",
    "type": "integer"
  },
  "snapshot_id": {
    "description": "If supplied, deploy the instance using this [Snapshot ID](#operation/list-snapshots).",
    "required": false,
    "location": "body",
    "type": "string"
  },
  "app_id": {
    "description": "If supplied, deploy the instance using this [Application id](#operation/list-applications).",
    "required": false,
    "location": "body",
    "type": "integer"
  },
  "image_id": {
    "description": "If supplied, deploy the instance using this [Application image_id](#operation/list-applications).",
    "required": false,
    "location": "body",
    "type": "string"
  },
  "persistent_pxe": {
    "description": "Enable persistent PXE.\n\n* true\n* false (default)",
    "required": false,
    "location": "body",
    "type": "boolean"
  },
  "tags": {
    "description": "Tags to apply to the instance",
    "required": false,
    "location": "body",
    "type": "array"
  }
}

Response Schema

{
  "type": "object",
  "properties": {
    "baremetal": {
      "title": "baremetal",
      "type": "object",
      "x-tags": [
        "baremetal"
      ],
      "description": "Bare Metal information.",
      "x-examples": {
        "bare metal": {
          "id": "cb676a46-66fd-4dfb-b839-443f2e6c0b60",
          "os": "CentOS 8 x64",
          "ram": "32768 MB",
          "disk": "2x 240GB SSD",
          "main_ip": "192.0.2.123",
          "cpu_count": 4,
          "region": "ewr",
          "default_password": "example-password",
          "date_created": "2020-10-10T01:56:20+00:00",
          "status": "active",
          "netmask_v4": "255.255.254.0",
          "gateway_v4": "192.0.2.123",
          "plan": "vbm-4c-32gb",
          "v6_network": "2001:0db8:1000::",
          "v6_main_ip": "2001:0db8:1000::100",
          "v6_network_size": 64,
          "label": "Example Bare Metal",
          "mac_address": 2199756823533,
          "os_id": 215,
          "app_id": 0,
          "image_id": "",
          "tags": [
            "a tag",
            "another"
          ]
        }
      },
      "properties": {
        "id": {
          "type": "string",
          "description": "A unique ID for the Bare Metal instance."
        },
        "os": {
          "type": "string",
          "description": "The [Operating System name](#operation/list-os)."
        },
        "ram": {
          "type": "string",
          "description": "Text description of the instances' RAM."
        },
        "disk": {
          "type": "string",
          "description": "Text description of the instances' disk configuration."
        },
        "main_ip": {
          "type": "string",
          "description": "The main IPv4 address."
        },
        "cpu_count": {
          "type": "integer",
          "description": "Number of CPUs."
        },
        "region": {
          "type": "string",
          "description": "The [Region id](#operation/list-regions) where the instance is located."
        },
        "default_password": {
          "type": "string",
          "description": "The default password assigned at deployment."
        },
        "date_created": {
          "type": "string",
          "description": "The date this instance was created."
        },
        "status": {
          "type": "string",
          "description": "The current status.\n\n* active\n* pending\n* suspended"
        },
        "netmask_v4": {
          "type": "string",
          "description": "The IPv4 netmask in dot-decimal notation."
        },
        "gateway_v4": {
          "type": "string",
          "description": "The IPv4 gateway address."
        },
        "plan": {
          "type": "string",
          "description": "The [Bare Metal Plan id](#operation/list-metal-plans) used by this instance."
        },
        "label": {
          "type": "string",
          "description": "The user-supplied label for this instance."
        },
        "tag": {
          "type": "string",
          "description": "Use `tags` instead. The user-supplied tag for this instance.",
          "deprecated": true
        },
        "os_id": {
          "type": "integer",
          "description": "The [Operating System id](#operation/list-os)."
        },
        "app_id": {
          "type": "integer",
          "description": "The [Application id](#operation/list-applications)."
        },
        "image_id": {
          "type": "string",
          "description": "The [Application image_id](#operation/list-applications)."
        },
        "v6_network": {
          "type": "string",
          "description": "The IPv6 network size in bits."
        },
        "v6_main_ip": {
          "type": "string",
          "description": "The main IPv6 network address."
        },
        "v6_network_size": {
          "type": "integer",
          "description": "The IPv6 subnet."
        },
        "mac_address": {
          "type": "integer",
          "description": "The MAC address for a Bare Metal server"
        },
        "tags": {
          "type": "array",
          "description": "Tags to apply to the instance",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}

Usage

from ocp_agent import OCPAgent

agent = OCPAgent()
await agent.register_api('vultr')

# Call this tool
result = await agent.call_tool('createBaremetal', {
    # Add required parameters here
})