You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: update CLAUDE.md, README, and all docs for two-part repo
Documents both the standalone scripts and the AzureLocalVMHydration
PowerShell module that was added in the previous commit.
Changes:
- CLAUDE.md: add module file tree, export list, and module-specific notes
- README.md: add PSGallery badge + module install/usage section; fix script
parameter examples (SubnetId, StoragePathId); add module cmdlet examples
- docs/index.md: surface both module cmdlets and standalone scripts
- docs/getting-started.md: add module install path; fix script examples
- docs/module.md: new — full reference for all three exported cmdlets with
parameter tables and examples
- docs/roadmap.md: move PSGallery module item to Completed
- docs/contributing.md: fix broken GitHub link (hydration → vm-hydration)
- mkdocs.yml: add Module Reference to nav; fix social GitHub link
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CLAUDE.md
+25-1Lines changed: 25 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,12 +11,36 @@ Two operations are covered:
11
11
-**VM Hydration** — onboarding an existing unmanaged Hyper-V VM *in place* into Azure Local management using `az stack-hci-vm disk create-from-local`
12
12
-**VM Reconnect** — restoring a VM to a *different* Azure Local cluster and re-projecting it into Azure using `az stack-hci-vm reconnect-to-azure`
13
13
14
+
This is a **two-part repo**: standalone scripts that can be run directly on a cluster node, AND a PSGallery-publishable PowerShell module. Both parts implement the same logic; the module wraps everything in proper cmdlets for `Install-Module` workflows.
15
+
16
+
## PowerShell Module
17
+
18
+
```text
19
+
AzureLocalVMHydration.psm1 # Root module — dot-sources Private + Public
# Returns $true if all checks pass, $false if any fail
79
+
```
80
+
81
+
---
82
+
83
+
## Standalone Scripts
84
+
85
+
No install required — run directly on a cluster node:
86
+
87
+
```text
88
+
scripts/
89
+
├── helpers/
90
+
│ ├── Common-Functions.ps1 # Shared logging and Azure CLI wrappers
91
+
│ └── Test-HydrationPrerequisites.ps1 # Pre-flight checks (dot-sourced by both scripts)
92
+
├── Invoke-VMHydration.ps1 # Hydrate an unmanaged VM in-place
93
+
└── Invoke-VMReconnect.ps1 # Reconnect a VM after cross-cluster restore
69
94
```
70
95
96
+
Both scripts support `-WhatIf` for dry runs. See [Getting Started](https://azurelocal.github.io/azurelocal-vm-hydration/getting-started/) for full parameter reference and examples.
Add `-HyperVGeneration V1`. This uses the ARM REST API directly (the Azure CLI does not expose `hyperVGeneration`), and automatically disables vTPM and Secure Boot which are incompatible with Gen1:
Copy file name to clipboardExpand all lines: docs/index.md
+25-3Lines changed: 25 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,13 +16,34 @@ Takes an existing, unmanaged Hyper-V VM running on an Azure Local cluster and br
16
16
17
17
The VM becomes a `Microsoft.AzureStackHCI/virtualMachineInstances` resource, fully manageable from the Azure portal, with lifecycle operations (start/stop, disk attach, extensions, policy).
Reconnects an Azure Local VM to its Azure resource after the VM has been restored to a *different* Azure Local cluster (e.g. via Veeam backup restore, export/import). The Azure resource becomes orphaned after such a restore; this script re-projects it onto the destination cluster.
24
+
Reconnects an Azure Local VM to its Azure resource after the VM has been restored to a *different* Azure Local cluster (e.g. via Veeam backup restore, export/import). The Azure resource becomes orphaned after such a restore; this tooling re-projects it onto the destination cluster.
0 commit comments