• Introduction

    I get to work on a lot of cool things at Docker. Recently, my focus has been on the new Docker VMM, the virtual machine manager that powers Docker Sandboxes and is also available in Docker Desktop (beta).

    Agentic workflows have made it much easier to dig deep into machine internals. But I think it’s important to take a step back sometimes and understand what’s actually happening in the dungeons of your code.

    In this post, we’ll look at how we interact with a virtual CPU through Windows Hypervisor Platform (WHP): setting its initial state, running guest instructions, and handling execution when control returns to us.

    The example targets x64 Windows with Windows Hypervisor Platform enabled. The snippets use the Rust windows crate with the Win32_System_Hypervisor and Win32_System_Memory features. They show the key steps in order, with the surrounding function, unsafe blocks and final resource cleanup omitted for brevity.

    [read more]
  • The Orchestration Gateway Service API (or o11n-gateway-service) was introduced in vRA 7.1 and provides a gateway to the vRO instance that is registered with vRA. It enables us to interact with vRO elements such as workflows and actions without the need to make external authenticated API requests.

    The documentation that exists for this API is fairly comprehensive, however it’s not very forthcoming with some of the smaller details you need to get going. It took a fair bit of effort to work out the correct payload format for the requests so I thought it would be a good idea to share what I found.

    [read more]
  • With the latest release we are pleased to provide you with the ability to start a vRA data collection from PowervRA!

    Invoke-vRADataCollection takes advantage of the o11n-gateway-service endpoint which appeared in vRA 7.1.

    From the documentation:

    The orchestration gateway service provides a gateway to VMware Realize Orchestrator (vRO) for services running on vRealize Automation. By using the gateway, consumers of the API can access a vRO instance, and initiate workflows or script actions without having to deal directly with the vRO APIs.

    The new function uses this service to execute the Force data collection workflow that is included as a Library workflow and part of the vRA plugin for vRO.

    [read more]
  • GitHubReleaseManager is a PowerShell module that wraps up GitHub’s Releases API. It allows users to automate releases of their software by via the command line or by integrating the module in to build tools such as PSake.

    [read more]
  • Defining an Output Type for a function is a useful way to inform other users or tools about what to expect once the function has been executed.

    While doing some research I came across the documentation for the OutputType attribute and noticed that it’s possible to set an Output Type per Parameter Set.

    You can use the ParameterSetName property in the declaration. For example:

    [read more]