XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    XO Rest API

    Scheduled Pinned Locked Moved REST API
    28 Posts 5 Posters 1.1k Views 5 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • I Offline
      irtaza9 @Danp
      last edited by

      @Danp said in XO Rest API:

      xo-cli --list-objects type=VM-template uuid=f6745939-cc54-fa9c-5169-6f14ba830a6a

      Reply

      C:\Users\PC>xo-cli --list-objects type=VM-template uuid=f6745939-cc54-fa9c-5169-6f14ba830a6a
      `--list-objects` is deprecated and will be removed in the future, use `list-objects` subcommand instead
      
      [
      {
        "type": "VM-template",
        "addresses": {},
        "auto_poweron": false,
        "bios_strings": {
          "bios-vendor": "Xen",
          "bios-version": "",
          "system-manufacturer": "Xen",
          "system-product-name": "HVM domU",
          "system-version": "",
          "system-serial-number": "",
          "baseboard-manufacturer": "",
          "baseboard-product-name": "",
          "baseboard-version": "",
          "baseboard-serial-number": "",
          "baseboard-asset-tag": "",
          "baseboard-location-in-chassis": "",
          "enclosure-asset-tag": "",
          "hp-rombios": "",
          "oem-1": "Xen",
          "oem-2": "MS_VM_CERT/SHA1/bdbeb6e0a816d43fa6d3fe8aaef04c2bad9d3e3d"
        },
        "blockedOperations": {},
        "boot": {
          "order": "cdn"
        },
        "CPUs": {
          "max": 2,
          "number": 2
        },
        "current_operations": {},
        "expNestedHvm": false,
        "viridian": true,
        "high_availability": "",
        "isFirmwareSupported": true,
        "memory": {
          "dynamic": [
            2147483648,
            2147483648
          ],
          "static": [
            2147483648,
            2147483648
          ],
          "size": 2147483648
        },
        "installTime": null,
        "name_description": "Ubuntu Linux (64-bit)",
        "name_label": "ubuntu22image",
        "needsVtpm": false,
        "other": {
          "import_task": "OpaqueRef:a36b7087-b9a2-4e31-96c6-a0e95a0b280f",
          "mac_seed": "09d66866-7e77-af81-7432-3d5b48caa0d0",
          "vgpu_pci": "",
          "base_template_name": "Other install media",
          "install-methods": "cdrom"
        },
        "os_version": {},
        "power_state": "Halted",
        "hasVendorDevice": false,
        "snapshots": [],
        "startDelay": 0,
        "startTime": null,
        "secureBoot": false,
        "tags": [],
        "VIFs": [],
        "VTPMs": [],
        "virtualizationMode": "hvm",
        "$container": "d1aa29fb-9fed-e39b-0f88-fc4ebbd42d3f",
        "$VBDs": [
          "11bb8f2c-6cd0-e55a-9ff1-6d9b14689237"
        ],
        "VGPUs": [],
        "$VGPUs": [],
        "xenStoreData": {
          "vm-data/mmio-hole-size": "268435456",
          "vm-data": ""
        },
        "vga": "cirrus",
        "videoram": 4,
        "isDefaultTemplate": false,
        "template_info": {
          "disks": [],
          "install_methods": [
            "cdrom"
          ]
        },
        "cpuWeight": 256,
        "id": "f6745939-cc54-fa9c-5169-6f14ba830a6a",
        "uuid": "f6745939-cc54-fa9c-5169-6f14ba830a6a",
        "$pool": "d1aa29fb-9fed-e39b-0f88-fc4ebbd42d3f",
        "$poolId": "d1aa29fb-9fed-e39b-0f88-fc4ebbd42d3f",
        "_xapiRef": "OpaqueRef:ce5af387-410c-4e10-8eaf-46315b980ed2"
      }
      ]
      
      1 Reply Last reply Reply Quote 0
      • I Offline
        irtaza9 @Danp
        last edited by

        @Danp template info via rest-api

        a227dc22-db3a-41b3-bc5b-9fa766784905-image.png

        1 Reply Last reply Reply Quote 0
        • I Offline
          irtaza9 @Danp
          last edited by

          @Danp said in XO Rest API:

          Is your VM up-to-date with the latest sources?

          8892b31b-6087-4951-af2d-a4f8b4a2d0bd-image.png

          Yes I configured the XO from sources and it's not up to date. Should I update my XO and will it fix the issue or not?

          1 Reply Last reply Reply Quote 0
          • olivierlambertO Offline
            olivierlambert Vates 🪐 Co-Founder CEO
            last edited by

            I strongly suggest to read this part of the doc: https://docs.xen-orchestra.com/community

            And especially with this big yellow warning: https://docs.xen-orchestra.com/community#report-a-bug

            I 1 Reply Last reply Reply Quote 0
            • I Offline
              irtaza9 @olivierlambert
              last edited by

              @olivierlambert Thank you for your time. I've a paid subscription but I am using XO from sources. I've opened a ticket from the help desk 😢

              1 Reply Last reply Reply Quote 0
              • olivierlambertO Offline
                olivierlambert Vates 🪐 Co-Founder CEO
                last edited by

                Great 🙂 For the version from the sources, it doesn't matter that you have paid support or not: you must use it with latest commits as possible 🙂 For XOA, then it's up to the support to answer you 🙂

                I 1 Reply Last reply Reply Quote 0
                • I Offline
                  irtaza9 @olivierlambert
                  last edited by

                  @olivierlambert omg 😵 I'll upgrade the XO. My question is still same, why the rest-api is not responding properly when I hit it from postman and the same api is responding with error when using xo-cli 😊

                  1 Reply Last reply Reply Quote 0
                  • D Offline
                    df-cgdm
                    last edited by

                    It looks like that's not possible to specify the CPU ??! with the /rest/v0/pools/{{pool_id}}/actions/create_vm

                    1 Reply Last reply Reply Quote 0
                    • olivierlambertO Offline
                      olivierlambert Vates 🪐 Co-Founder CEO
                      last edited by

                      What do you mean by "specify the CPU"?

                      D 1 Reply Last reply Reply Quote 0
                      • D Offline
                        df-cgdm @olivierlambert
                        last edited by

                        @olivierlambert I'm not able to specify the number of vCPU for the VM

                        1 Reply Last reply Reply Quote 0
                        • olivierlambertO Offline
                          olivierlambert Vates 🪐 Co-Founder CEO
                          last edited by

                          Are you fully up to date? Also pinging @julien-f about this.

                          D 1 Reply Last reply Reply Quote 0
                          • D Offline
                            df-cgdm @olivierlambert
                            last edited by

                            @olivierlambert yes I think so.

                            XOA.jpg

                            Here is the result of /rest/v0/pools/_/actions/create_vm (there is no cpu parameter)

                            {
                              "params": {
                                "affinity": {
                                  "type": "string",
                                  "optional": true
                                },
                                "auto_poweron": {
                                  "type": "boolean",
                                  "optional": true
                                },
                                "boot": {
                                  "type": "boolean",
                                  "default": false
                                },
                                "clone": {
                                  "type": "boolean",
                                  "default": true
                                },
                                "cloud_config": {
                                  "type": "string",
                                  "optional": true
                                },
                                "destroy_cloud_config_vdi": {
                                  "type": "boolean",
                                  "default": false
                                },
                                "install": {
                                  "type": "object",
                                  "optional": true,
                                  "properties": {
                                    "method": {
                                      "enum": [
                                        "cdrom",
                                        "network"
                                      ]
                                    },
                                    "repository": {
                                      "type": "string"
                                    }
                                  }
                                },
                                "memory": {
                                  "type": "integer",
                                  "optional": true
                                },
                                "name_description": {
                                  "type": "string",
                                  "minLength": 0,
                                  "optional": true
                                },
                                "name_label": {
                                  "type": "string"
                                },
                                "network_config": {
                                  "type": "string",
                                  "optional": true
                                },
                                "template": {
                                  "type": "string"
                                },
                                "vdis": {
                                  "type": "array",
                                  "default": [],
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "destroy": {
                                        "type": "boolean",
                                        "optional": true
                                      },
                                      "userdevice": {
                                        "type": "string",
                                        "optional": true
                                      },
                                      "size": {
                                        "type": "number",
                                        "optional": true
                                      },
                                      "sr": {
                                        "type": "string",
                                        "optional": true
                                      },
                                      "name_description": {
                                        "type": "string",
                                        "optional": true
                                      },
                                      "name_label": {
                                        "type": "string",
                                        "optional": true
                                      }
                                    },
                                    "if": {
                                      "not": {
                                        "required": [
                                          "userdevice"
                                        ]
                                      }
                                    },
                                    "then": {
                                      "required": [
                                        "size",
                                        "name_label"
                                      ],
                                      "not": {
                                        "required": [
                                          "destroy"
                                        ]
                                      }
                                    }
                                  }
                                },
                                "vifs": {
                                  "default": [],
                                  "type": "array",
                                  "items": {
                                    "type": "object",
                                    "properties": {
                                      "destroy": {
                                        "type": "boolean",
                                        "optional": true
                                      },
                                      "device": {
                                        "type": "string",
                                        "optional": true
                                      },
                                      "ipv4_allowed": {
                                        "type": "array",
                                        "items": {
                                          "type": "string"
                                        },
                                        "optional": true
                                      },
                                      "ipv6_allowed": {
                                        "type": "array",
                                        "items": {
                                          "type": "string"
                                        },
                                        "optional": true
                                      },
                                      "mac": {
                                        "type": "string",
                                        "optional": true
                                      },
                                      "network": {
                                        "type": "string",
                                        "optional": true
                                      }
                                    }
                                  }
                                }
                              }
                            }
                            
                            DanpD 1 Reply Last reply Reply Quote 0
                            • DanpD Offline
                              Danp Pro Support Team @df-cgdm
                              last edited by

                              @df-cgdm You are correct. That feature isn't currently available via the REST APIs as previously mentioned by Julien earlier in this thread.

                              I 1 Reply Last reply Reply Quote 1
                              • I Offline
                                irtaza9 @Danp
                                last edited by

                                @Danp For now I'm going with JSON-RPC for only VM creation and for listings I'm using rest-apis. When XO6 will release I'll change the endpoint with rest endpoint. @olivierlambert any expected release date for XO6?

                                julien-fJ 1 Reply Last reply Reply Quote 0
                                • olivierlambertO Offline
                                  olivierlambert Vates 🪐 Co-Founder CEO
                                  last edited by

                                  It's rolled out progressively: every bit of UI that's exposed will use the REST API, so both a getting more stuff every release. You can already use some bits of the REST API like you can already use XO 6 UI with /v6

                                  1 Reply Last reply Reply Quote 2
                                  • julien-fJ Offline
                                    julien-f Vates 🪐 Co-Founder XO Team @irtaza9
                                    last edited by

                                    Yes, you can use JSON-RPC et REST APIs together for now 🙂

                                    We will try to add support for CPU settings soon.

                                    Also, expect things to accelerate in 2025 regarding the REST API.

                                    1 Reply Last reply Reply Quote 2
                                    • First post
                                      Last post